Presentation is loading. Please wait.

Presentation is loading. Please wait.

ACES WorkshopJun-031 ACcESS Software System & High Level Modelling Languages by

Similar presentations


Presentation on theme: "ACES WorkshopJun-031 ACcESS Software System & High Level Modelling Languages by"— Presentation transcript:

1 ACES WorkshopJun-031 ACcESS Software System & High Level Modelling Languages by gross@access.edu.au

2 ACES WorkshopJun-032 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 ACES WorkshopJun-033 ACcESS Major National Research Facility (MNRF) –Hardware installation to provides sufficient compute power –Software development to develop tools and models

4 ACES WorkshopJun-034 ACcESS (cont.) ESyS Software System Hardware: 1-2Tflops OpenMP+MPI Scripting language: algorithms & models Middleware: data structures Kernels (BLAS): performance TerminalGrid/XML ACcESS Science Research Commuity

5 ACES WorkshopJun-035 User’s 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 ACES WorkshopJun-036 Components ESyS: Python Web Services Interactive Models & High level algorithms Data basesVisualization Mesh/Particle Generation Discretization GUI

7 ACES WorkshopJun-037 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 ACES WorkshopJun-038 Discretization ESyS FEM MOP PIC DEM ESyS-Finley: Data structure: array ESyS-LSMEarth Data structure: lists CA ESyS-CA Data structure: array

9 ACES WorkshopJun-039 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 ACES WorkshopJun-0310 A Simple Example Domain Tagged with 1 Tagged with 3

11 ACES WorkshopJun-0311 Example import Finley import OpenDX from ESyS import * # get mesh msh=Finley.Mesh(“file.msh”) # identify faces: top=msh.face([1]) bottom=msh.face([3]) # set values on the faces: tmpTp=Scalar(top.nodes(),value=20.) tmpBttm=Scalar(bottom.nodes(),value=1820.) # assemble and solve the PDE mat,rhs=Assemble(A=12.,c=[tmpTp,tmpBttm]) T=mat.solve(rhs) # visualization fig=OpenDX.Figure(msh) fig.addCarpet(T)

12 ACES WorkshopJun-0312 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 ACES WorkshopJun-0313 assemble (cont.) Coefficients can –constant/piecewise constant or –depending on location live on nodes or elements or –equal zero/not present

14 ACES WorkshopJun-0314 Some relevant Class Finley.Mesh ESyS.StructureESyS.DomainESyS.Atoms Region Face Points Nodes Elements libFinley.so inheritance instantiate access generic interfaces implementation SciSL/BLAS

15 ACES WorkshopJun-0315 Data libnumarray.so ESyS.Data numarray access to coefficients Scalar Vector Tensor Tensor4 inherits Implemented by libFinley.so Finley.assemble ESyS.assemble

16 ACES WorkshopJun-0316 Another Example import Finley from ESyS import * lam,mu,dt=1.E12,0.1E5,0.1 coeff= msh=Finley.Mesh(“file.msh”) dim=msh.getDim() top=msh.face([1]) uAtTop=Vector(top.nodes(),value=[1,0])*dt uAtBottom=Vector(bottom.nodes(),value=[-1,0])*dt # initialize stress,displacement,time s=Tensor(msh.elements(),Value=0.) d=Vector(msh.nodes(),Value=0.) t=0 while t<1. mat,rhs=Assemble(A=coeff,X=s,c=[uAtTop,uAtBottom]) dd=mat.solve(rhs) g=gradient(dd) ds=lam*(g+transpose(g))/2+mu*trace(g)*Id(dim) s+=ds d+=dd t+=dt

17 ACES WorkshopJun-0317 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: s=v[1], v[2]=s In Finley: implemented through numarray

18 ACES WorkshopJun-0318 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 ACES WorkshopJun-0319 Beyond software integration Lazy evaluation of expressions –Replaces partially numarray –local evaluation => improves efficiency Expression differentials: non-linear problems Code generation Nicer interface for assemble …


Download ppt "ACES WorkshopJun-031 ACcESS Software System & High Level Modelling Languages by"

Similar presentations


Ads by Google