SPH2000: A Parallel Object-Oriented Framework for Particle Simulations with SPH

A widespread method in parallel scientific computing is SPH, a grid-free method for particle simulations. Lots of libraries implementing this method evolved in the past. Since most of them are written in FORTRAN or C, there is a lack of integration of object-oriented concepts for scientific applications. These libraries are therefore hard to maintain and to extend. In this paper, we describe the design and implementation of sph2000, a parallel object-oriented framework for particle simulations written in C++. Its key features are easy configurability and good extensibility for the users to support their ongoing development of the SPH method. The use of design patterns lead to an efficient and clear design and the implementation of parallel I/O improved the performance significantly. A sample application was implemented to test the framework.

[1]  J. Monaghan,et al.  Smoothed particle hydrodynamics: Theory and application to non-spherical stars , 1977 .

[2]  W. Benz,et al.  Catastrophic Disruptions Revisited , 1999 .

[3]  Wolfgang Rosenstiel,et al.  Parallel I/O in an Object-Oriented Message-Passing Library , 2004, PVM/MPI.

[4]  E. Schnetter,et al.  Development and Astrophysical Applications of a Parallel Smoothed Particle Hydrodynamics Code with MPI , 2000 .

[5]  Erik Schnetter,et al.  A modified SPH approach for fluids with large density differences , 2003, physics/0303112.

[6]  V. Springel,et al.  GADGET: a code for collisionless and gasdynamical cosmological simulations , 2000, astro-ph/0003162.

[7]  Michael M. Resch,et al.  High performance computing in science and engineering , 2005, 17th International Symposium on Computer Architecture and High Performance Computing (SBAC-PAD'05).

[8]  Gregory V. Wilson,et al.  Parallel Programming Using C , 1996 .

[9]  Wolfgang Rosenstiel,et al.  TPO++: an object-oriented message-passing library in C++ , 2000, Proceedings 2000 International Conference on Parallel Processing.

[10]  L. Lucy A numerical approach to the testing of the fission hypothesis. , 1977 .

[11]  H. J. Deeg,et al.  Probing the stellar surface of HD 209458 from multicolor transit observations , 2001 .

[12]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[13]  Tom Goodale,et al.  The Cactus computational collaboratory: enabling technologies for relativistic astrophysics, and a toolkit for solving PDE's by communities in science and engineering , 1999, Proceedings. Frontiers '99. Seventh Symposium on the Frontiers of Massively Parallel Computation.

[14]  R. Sarnath,et al.  Proceedings of the International Conference on Parallel Processing , 1992 .