Jun031 - PowerPoint PPT Presentation

1 / 19
About This Presentation
Title:

Jun031

Description:

to provides sufficient compute power. Software development. to develop tools and models ... mat,rhs=Assemble(A=coeff,X=s,c=[uAtTop,uAtBottom]) dd=mat.solve(rhs) ... – PowerPoint PPT presentation

Number of Views:35
Avg rating:3.0/5.0
Slides: 20
Provided by: lut98
Category:
Tags: jun031 | mat | power

less

Transcript and Presenter's Notes

Title: Jun031


1
ACcESS Software System High Level Modelling
Languages
  • by
  • gross_at_access.edu.au

2
Modeling the Earth
  • Short medium-term processes
  • Interactive faults, earthquakes
  • Particle, FE methods, CA
  • Long-term processes
  • Mantel convection
  • FEM PIC
  • Mineralization, surface processes (FEM)
  • Coupling

3
ACcESS
  • Major National Research Facility (MNRF)
  • Hardware installation
  • to provides sufficient compute power
  • Software development
  • to develop tools and models

4
ACcESS (cont.)
ACcESS Science
ResearchCommuity
Terminal
Grid/XML
Scripting language algorithms models
ESyS Software System
Middleware data structures
Hardware 1-2Tflops OpenMPMPI
Kernels (BLAS) performance
5
Users Profile
  • Modelers mathematical background
  • Development environment
  • Fast Prototyping
  • Debugging
  • Unified access to software tools
  • High-end users strong scope knowledge
  • Using tested models
  • set parameters via XML/GUI/web

6
Components
Web Services
Interactive
GUI
Models High level algorithms
ESyS Python
Mesh/ParticleGeneration
Data bases
Visualization
Discretization
7
ESyS Functionality
  • Interactive modelling environment in Python
  • platform and data structure independent
  • Provides templates for implementations
  • with lean interface
  • to generic tools PDE solver, visualization
  • specific functionality surface processes
  • Coarse grain parallelization
  • Facilitates the coupling of models
  • Provides a Grid service(s)

8
Discretization
ESyS
MOP
FEM
DEM
CA
PIC
ESyS-Finley Data structure array
ESyS-LSMEarth Data structure lists
ESyS-CA Data structure array
9
ESyS-Finley
  • Realizes a general PDE solver for ESyS
  • 3D unstructured/structured grid FEM/PIC code
  • in C
  • parallelized optimized for SGI Altix
  • Application
  • long scale processes
  • Interacting fault
  • See also
  • VECFEM general, 3D, unstructured, parallel
  • FASTFLO

10
A Simple Example
Domain
11
Example
  • import Finley
  • import OpenDX
  • from ESyS import
  • get mesh
  • mshFinley.Mesh(file.msh)
  • identify faces
  • topmsh.face(1)
  • bottommsh.face(3)
  • set values on the faces
  • tmpTpScalar(top.nodes(),value20.)
  • tmpBttmScalar(bottom.nodes(),value1820.)
  • assemble and solve the PDE
  • mat,rhsAssemble(A12.,ctmpTp,tmpBttm)
  • Tmat.solve(rhs)
  • visualization
  • figOpenDX.Figure(msh)
  • fig.addCarpet(T)

12
assemble Method
  • General interface
  • Assemble(A,B,C,D,X,Y,a,b,c)
  • A matrix or scalar (diag(A)) or not present
    (0)
  • B,C,X vectors or not present (0)
  • a,b,c scalars or not present (0)

13
assemble (cont.)
  • Coefficients can
  • constant/piecewise constant
  • or
  • depending on location
  • live on nodes or elements
  • or
  • equal zero/not present

14
Some relevant Class
ESyS.Structure
ESyS.Domain
ESyS.Atoms
generic
inheritance
Region
Nodes
interfaces
Face
Finley.Mesh
instantiate
Elements
Points
access
implementation
libFinley.so
SciSL/BLAS
15
Data
ESyS.Data
ESyS.assemble
inherits
Scalar
Tensor
Implemented by
Vector
Tensor4
Finley.assemble
numarray
access to coefficients
libFinley.so
libnumarray.so
16
Another Example
  • import Finley
  • from ESyS import
  • lam,mu,dt1.E12,0.1E5,0.1
  • coeff
  • mshFinley.Mesh(file.msh)
  • dimmsh.getDim()
  • topmsh.face(1)
  • uAtTopVector(top.nodes(),value1,0)dt
  • uAtBottomVector(bottom.nodes(),value-1,0)dt
  • initialize stress,displacement,time
  • sTensor(msh.elements(),Value0.)
  • dVector(msh.nodes(),Value0.)
  • t0
  • while tlt1.
  • mat,rhsAssemble(Acoeff,Xs,cuAtTop,uAtBotto
    m)
  • ddmat.solve(rhs)
  • ggradient(dd)
  • dslam(gtranspose(g))/2mutrace(g)Id(dim)
  • sds

17
Operations on Data
  • Binary operations
  • arguments on the same Atoms or constant
  • add ,sub ,mult, div, power
  • in place ,-,
  • Unitary operation
  • abs, cos, sin, transpose, trace,
  • Set get slices/items sv1, v2s
  • In Finley implemented through numarray

18
Substitutes for Finley
  • Candidates
  • SNARK for clusters, based of PETSc
  • GeoFEM for the EarthSimulator
  • no changes to the model codes
  • has to pass the Finley test bed in Python.

19
Beyond software integration
  • Lazy evaluation of expressions
  • Replaces partially numarray
  • local evaluation gt improves efficiency
  • Expression differentials non-linear problems
  • Code generation
  • Nicer interface for assemble
Write a Comment
User Comments (0)
About PowerShow.com