1 / 19

190 likes | 276 Vues

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.

E N D

**ACcESS Software System &High Level Modelling Languages**by gross@access.edu.au ACES Workshop**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**ACcESS**• Major National Research Facility (MNRF) • Hardware installation • to provides sufficient compute power • Software development • to develop tools and models ACES Workshop**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**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**Components**Web Services GUI Interactive Models & High level algorithms ESyS: Python Mesh/ParticleGeneration Data bases Visualization Discretization ACES Workshop**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**Discretization**ESyS MOP FEM DEM CA PIC ESyS-Finley: Data structure: array ESyS-LSMEarth Data structure: lists ESyS-CA Data structure: array ACES Workshop**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**Tagged with 1**Tagged with 3 A Simple Example Domain ACES Workshop**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**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**assemble (cont.)**• Coefficients can • constant/piecewise constant or • depending on location • live on nodes or elements or • equal zero/not present ACES Workshop**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**Data**ESyS.Data ESyS.assemble inherits Scalar Tensor Implemented by Vector Tensor4 Finley.assemble numarray access to coefficients libFinley.so libnumarray.so ACES Workshop**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**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**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**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