Efficient and Object-Oriented Libraries for Particle Simulations

We present two libraries for the parallel computation of particle simulations. One is the object-oriented library sph2000 written in C++, the other is ParaSPH, a library written in C, that supports hybrid architectures (clustered SMPs). They are portable and performant on a variety of parallel architectures with shared and distributed memory. We give details of the object-oriented design of sph2000, the parallelization of ParaSPH for hybrid architectures using MPI and OpenMP and discuss the speedups of the codes. Further, we give three examples of applications based on these libraries, which simulate protoplanetary discs, colliding rubber rings and the injection of diesel into a combustion chamber.