20,639 research outputs found
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&
Simulation modelling and visualisation: toolkits for building artificial worlds
Simulations users at all levels make heavy use of compute resources to drive computational
simulations for greatly varying applications areas of research using different simulation
paradigms. Simulations are implemented in many software forms, ranging from highly standardised
and general models that run in proprietary software packages to ad hoc hand-crafted
simulations codes for very specific applications. Visualisation of the workings or results of a
simulation is another highly valuable capability for simulation developers and practitioners.
There are many different software libraries and methods available for creating a visualisation
layer for simulations, and it is often a difficult and time-consuming process to assemble a
toolkit of these libraries and other resources that best suits a particular simulation model. We
present here a break-down of the main simulation paradigms, and discuss differing toolkits and
approaches that different researchers have taken to tackle coupled simulation and visualisation
in each paradigm
Fine-sorting One-dimensional Particle-In-Cell Algorithm with Monte-Carlo Collisions on a Graphics Processing Unit
Particle-in-cell (PIC) simulations with Monte-Carlo collisions are used in
plasma science to explore a variety of kinetic effects. One major problem is
the long run-time of such simulations. Even on modern computer systems, PIC
codes take a considerable amount of time for convergence. Most of the
computations can be massively parallelized, since particles behave
independently of each other within one time step. Current graphics processing
units (GPUs) offer an attractive means for execution of the parallelized code.
In this contribution we show a one-dimensional PIC code running on Nvidia GPUs
using the CUDA environment. A distinctive feature of the code is that size of
the cells that the code uses to sort the particles with respect to their
coordinates is comparable to size of the grid cells used for discretization of
the electric field. Hence, we call the corresponding algorithm "fine-sorting".
Implementation details and optimization of the code are discussed and the
speed-up compared to classical CPU approaches is computed
- …