1,138 research outputs found
DISPATCH: A Numerical Simulation Framework for the Exa-scale Era. I. Fundamentals
We introduce a high-performance simulation framework that permits the
semi-independent, task-based solution of sets of partial differential
equations, typically manifesting as updates to a collection of `patches' in
space-time. A hybrid MPI/OpenMP execution model is adopted, where work tasks
are controlled by a rank-local `dispatcher' which selects, from a set of tasks
generally much larger than the number of physical cores (or hardware threads),
tasks that are ready for updating. The definition of a task can vary, for
example, with some solving the equations of ideal magnetohydrodynamics (MHD),
others non-ideal MHD, radiative transfer, or particle motion, and yet others
applying particle-in-cell (PIC) methods. Tasks do not have to be grid-based,
while tasks that are, may use either Cartesian or orthogonal curvilinear
meshes. Patches may be stationary or moving. Mesh refinement can be static or
dynamic. A feature of decisive importance for the overall performance of the
framework is that time steps are determined and applied locally; this allows
potentially large reductions in the total number of updates required in cases
when the signal speed varies greatly across the computational domain, and
therefore a corresponding reduction in computing time. Another feature is a
load balancing algorithm that operates `locally' and aims to simultaneously
minimise load and communication imbalance. The framework generally relies on
already existing solvers, whose performance is augmented when run under the
framework, due to more efficient cache usage, vectorisation, local
time-stepping, plus near-linear and, in principle, unlimited OpenMP and MPI
scaling.Comment: 17 pages, 8 figures. Accepted by MNRA
IllinoisGRMHD: An Open-Source, User-Friendly GRMHD Code for Dynamical Spacetimes
In the extreme violence of merger and mass accretion, compact objects like
black holes and neutron stars are thought to launch some of the most luminous
outbursts of electromagnetic and gravitational wave energy in the Universe.
Modeling these systems realistically is a central problem in theoretical
astrophysics, but has proven extremely challenging, requiring the development
of numerical relativity codes that solve Einstein's equations for the
spacetime, coupled to the equations of general relativistic (ideal)
magnetohydrodynamics (GRMHD) for the magnetized fluids. Over the past decade,
the Illinois Numerical Relativity (ILNR) Group's dynamical spacetime GRMHD code
has proven itself as a robust and reliable tool for theoretical modeling of
such GRMHD phenomena. However, the code was written "by experts and for
experts" of the code, with a steep learning curve that would severely hinder
community adoption if it were open-sourced. Here we present IllinoisGRMHD,
which is an open-source, highly-extensible rewrite of the original
closed-source GRMHD code of the ILNR Group. Reducing the learning curve was the
primary focus of this rewrite, with the goal of facilitating community
involvement in the code's use and development, as well as the minimization of
human effort in generating new science. IllinoisGRMHD also saves computer time,
generating roundoff-precision identical output to the original code on
adaptive-mesh grids, but nearly twice as fast at scales of hundreds to
thousands of cores.Comment: 37 pages, 6 figures, single column. Matches published versio
The cosmological simulation code GADGET-2
We discuss the cosmological simulation code GADGET-2, a new massively
parallel TreeSPH code, capable of following a collisionless fluid with the
N-body method, and an ideal gas by means of smoothed particle hydrodynamics
(SPH). Our implementation of SPH manifestly conserves energy and entropy in
regions free of dissipation, while allowing for fully adaptive smoothing
lengths. Gravitational forces are computed with a hierarchical multipole
expansion, which can optionally be applied in the form of a TreePM algorithm,
where only short-range forces are computed with the `tree'-method while
long-range forces are determined with Fourier techniques. Time integration is
based on a quasi-symplectic scheme where long-range and short-range forces can
be integrated with different timesteps. Individual and adaptive short-range
timesteps may also be employed. The domain decomposition used in the
parallelisation algorithm is based on a space-filling curve, resulting in high
flexibility and tree force errors that do not depend on the way the domains are
cut. The code is efficient in terms of memory consumption and required
communication bandwidth. It has been used to compute the first cosmological
N-body simulation with more than 10^10 dark matter particles, reaching a
homogeneous spatial dynamic range of 10^5 per dimension in a 3D box. It has
also been used to carry out very large cosmological SPH simulations that
account for radiative cooling and star formation, reaching total particle
numbers of more than 250 million. We present the algorithms used by the code
and discuss their accuracy and performance using a number of test problems.
GADGET-2 is publicly released to the research community.Comment: submitted to MNRAS, 31 pages, 20 figures (reduced resolution), code
available at http://www.mpa-garching.mpg.de/gadge
The Astrophysical Multipurpose Software Environment
We present the open source Astrophysical Multi-purpose Software Environment
(AMUSE, www.amusecode.org), a component library for performing astrophysical
simulations involving different physical domains and scales. It couples
existing codes within a Python framework based on a communication layer using
MPI. The interfaces are standardized for each domain and their implementation
based on MPI guarantees that the whole framework is well-suited for distributed
computation. It includes facilities for unit handling and data storage.
Currently it includes codes for gravitational dynamics, stellar evolution,
hydrodynamics and radiative transfer. Within each domain the interfaces to the
codes are as similar as possible. We describe the design and implementation of
AMUSE, as well as the main components and community codes currently supported
and we discuss the code interactions facilitated by the framework.
Additionally, we demonstrate how AMUSE can be used to resolve complex
astrophysical problems by presenting example applications.Comment: 23 pages, 25 figures, accepted for A&
AMRA: An Adaptive Mesh Refinement Hydrodynamic Code for Astrophysics
Implementation details and test cases of a newly developed hydrodynamic code,
AMRA, are presented. The numerical scheme exploits the adaptive mesh refinement
technique coupled to modern high-resolution schemes which are suitable for
relativistic and non-relativistic flows. Various physical processes are
incorporated using the operator splitting approach, and include self-gravity,
nuclear burning, physical viscosity, implicit and explicit schemes for
conductive transport, simplified photoionization, and radiative losses from an
optically thin plasma. Several aspects related to the accuracy and stability of
the scheme are discussed in the context of hydrodynamic and astrophysical
flows.Comment: 41 pages, 21 figures (9 low-resolution), LaTeX, requires elsart.cls,
submitted to Comp. Phys. Comm.; additional documentation and high-resolution
figures available from http://www.camk.edu.pl/~tomek/AMRA/index.htm
N-body simulations of gravitational dynamics
We describe the astrophysical and numerical basis of N-body simulations, both
of collisional stellar systems (dense star clusters and galactic centres) and
collisionless stellar dynamics (galaxies and large-scale structure). We explain
and discuss the state-of-the-art algorithms used for these quite different
regimes, attempt to give a fair critique, and point out possible directions of
future improvement and development. We briefly touch upon the history of N-body
simulations and their most important results.Comment: invited review (28 pages), to appear in European Physics Journal Plu
- …