1 / 19

ACcESS Software System & High Level Modelling Languages

ACcESS Software System & High Level Modelling Languages. by gross@access.edu.au. 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.

Télécharger la présentation

ACcESS Software System & High Level Modelling Languages

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.


Presentation Transcript

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

  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 ACES Workshop

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

  4. ACcESS (cont.) ACcESS Science ResearchCommuity Terminal Grid/XML Scripting language: algorithms & models ESyS Software System Middleware: data structures Hardware: 1-2Tflops OpenMP+MPI Kernels (BLAS): performance ACES Workshop

  5. 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 ACES Workshop

  6. Components Web Services GUI Interactive Models & High level algorithms ESyS: Python Mesh/ParticleGeneration Data bases Visualization Discretization ACES Workshop

  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) ACES Workshop

  8. Discretization ESyS MOP FEM DEM CA PIC ESyS-Finley: Data structure: array ESyS-LSMEarth Data structure: lists ESyS-CA Data structure: array ACES Workshop

  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 ACES Workshop

  10. Tagged with 1 Tagged with 3 A Simple Example Domain ACES Workshop

  11. 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) ACES Workshop

  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) ACES Workshop

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

  14. Some relevant Class ESyS.Structure ESyS.Domain ESyS.Atoms generic inheritance Region Nodes interfaces Face Finley.Mesh instantiate Elements Points access implementation SciSL/BLAS libFinley.so ACES Workshop

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

  16. 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 ACES Workshop

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

  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. ACES Workshop

  19. 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 • … ACES Workshop

More Related