MuPIF - A distributed multi-physics integration tool

This paper presents the design of a multi-physics integration tool with an object-oriented architecture that facilitates the implementation of multi-physics and multi-level simulations assembled from independently developed applications (components). The tool provides high-level support for mutual data exchange between codes, including support for different discretization techniques and specific field transfer operators, being aware of the underlying physical phenomena. Parallel and distributed applications and aspects of the applications are also addressed. Each application is required to implement application and data interfaces, which allow abstract access to solution domains and fields, and provide services for steering individual applications. The Python scripting language is extended by modules representing interfaces to existing codes. The high-level language serves as a glue to tie the modules or components together and to create a specialized application. The capabilities of the tool are demonstrated on two examples that illustrate staggered thermo-mechanical analysis and distributed field mapping.

[1]  M F Sanner,et al.  Python: a programming language for software integration and development. , 1999, Journal of molecular graphics & modelling.

[2]  G. D. Mallinson,et al.  The design of a component-oriented framework for numerical simulation software , 2007, Adv. Eng. Softw..

[3]  H. Ritzdorf,et al.  OASIS4 – a coupling software for next generation earth system modelling , 2009 .

[4]  Wael Hassan Simplified Wrapper and Interface Generator , 2000 .

[5]  Laxmikant V. Kalé,et al.  A New Approach to Software Integration Frameworks for Multi-physics Simulation Codes , 2000, The Architecture of Scientific Software.

[6]  James R. Stewart,et al.  A framework approach for developing parallel adaptive multiphysics applications , 2004 .

[7]  David M. Beazley,et al.  Computational steering. Software systems and strategies , 1997 .

[8]  Kendall Scott,et al.  UML distilled - a brief guide to the Standard Object Modeling Language (2. ed.) , 2000, notThenot Addison-Wesley object technology series.

[9]  Peter V. Coveney,et al.  The application hosting environment: Lightweight middleware for grid-based computational science , 2007, Comput. Phys. Commun..

[10]  Andrew M. Wissink,et al.  Parallel clustering algorithms for structured AMR , 2005, J. Parallel Distributed Comput..

[11]  James Arthur Kohl,et al.  Cumulvs: Providing Fault Toler. Ance, Visualization, and Steer Ing of Parallel Applications , 1996, Int. J. High Perform. Comput. Appl..

[12]  Otto Eric Strack,et al.  ALEGRA : an arbitrary Lagrangian-Eulerian multimaterial, multiphysics code. , 2008 .

[13]  Daniel J. Quinlan,et al.  Overture: An Object-Oriented Framework for Solving Partial Differential Equations , 1997, ISCOPE.

[14]  Steven G. Parker,et al.  The SCIRun Parallel Scientific Computing Problem Solving Environment , 1999, PPSC.

[15]  Guido van Rossum,et al.  An Introduction to Python , 2003 .

[16]  William J. Schroeder,et al.  The Visualization Toolkit , 2005, The Visualization Handbook.

[17]  Alain Dimier,et al.  Coupling Methodology within the Software Platform Alliances , 2006, ArXiv.

[18]  Vipin Kumar,et al.  A Fast and High Quality Multilevel Scheme for Partitioning Irregular Graphs , 1998, SIAM J. Sci. Comput..

[19]  Mark Lutz,et al.  Learning Python , 1999 .

[20]  Samuel Buis,et al.  PALM: a computational framework for assembling high-performance computing applications , 2006 .