Multi-physics simulations using a hierarchical interchangeable software interface
Abstract
We introduce a general-purpose framework for interconnecting scientific simulation programs using a homogeneous, unified interface. Our framework is intrinsically parallel, and conveniently separates all component numerical modules in memory. This strict separation allows automatic unit conversion, distributed execution of modules on different cores within a cluster or grid, and orderly recovery from errors. The framework can be efficiently implemented and incurs an acceptable overhead. In practice, we measure the time spent in the framework to be less than 1% of the wall-clock time. Due to the unified structure of the interface, incorporating multiple modules addressing the same physics in different ways is relatively straightforward. Different modules may be advanced serially or in parallel. Despite initial concerns, we have encountered relatively few problems with this strict separation between modules, and the results of our simulations are consistent with earlier results using more traditional monolithic approaches. This framework provides a platform to combine existing simulation codes or develop new physical solver codes within a rich "ecosystem" of interchangeable modules.
- Publication:
-
Computer Physics Communications
- Pub Date:
- March 2013
- DOI:
- 10.1016/j.cpc.2012.09.024
- arXiv:
- arXiv:1204.5522
- Bibcode:
- 2013CoPhC.184..456P
- Keywords:
-
- Computer applications;
- Physical sciences and engineering;
- Astronomy;
- Computing methodologies: simulation modeling;
- and visualization;
- Distributed computing;
- Astrophysics - Instrumentation and Methods for Astrophysics;
- Physics - Computational Physics
- E-Print:
- 36 pages, 12 figures and source code (accepted for publication in Computer Physics Communications)