VINE -- A numerical code for simulating astrophysical systems using particles I: Description of the physics and the numerical methods


الملخص بالإنكليزية

We present a Fortran 95 code for simulating the evolution of astrophysical systems using particles to represent the underlying fluid flow. The code is designed to be versatile, flexible and extensible, with modular options that can be selected either at compile time or at run time. We include a number of general purpose modules describing a variety of physical processes commonly required in the astrophysical community. The code can be used as an N-body code to evolve a set of particles in two or three dimensions using either a Leapfrog or Runge-Kutta-Fehlberg integrator, with or without individual timesteps for each particle. Particles may interact gravitationally as $N$-body particles, and all or any subset may also interact hydrodynamically, using the Smoothed Particle Hydrodynamic (SPH) method. Massive point particles (`stars) which may accrete nearby SPH or $N$-body particles may also be included. The default free boundary conditions can be replaced by a module to include periodic boundaries. Cosmological expansion may also be included. An interface with special purpose `GRAPE hardware may also be selected. If available, forces obtained from the GRAPE coprocessors may be transparently substituted for those obtained from the default tree based calculation. The code may be run without modification on single processors or in parallel using OpenMP compiler directives on large scale, shared memory parallel machines. In comparison to the Gadget-2 code of Springel 2005, the gravitational force calculation is $approx 3.5 - 4.8$ times faster with VINE when run on 8 Itanium~2 processors in an SGI Altix, while producing nearly identical outcomes in our test problems. We present simulations of several test problems, including a merger simulation of two elliptical galaxies with 800000 particles.

تحميل البحث