AGILE
AGILE is a GPU-accelerated fork of MPI-AMRVAC, a parallel adaptive mesh refinement framework aimed at solving (primarily hyperbolic) partial differential equations by a number of different numerical schemes. The emphasis is on (near) conservation laws and on shock-dominated problems in particular.
Description
AGILE is a GPU-accelerated fork of MPI-AMRVAC, a parallel adaptive mesh refinement framework aimed at solving (primarily hyperbolic) partial differential equations by a number of different numerical schemes. The emphasis is on (near) conservation laws and on shock-dominated problems in particular. A number of physics modules are included; the hydrodynamics and the magnetohydrodynamics module are most frequently used. Users can add their own physics module or modify existing ones. The framework supports 3D simulations, in a number of different geometries (Cartesian, cylindrical, spherical).
AGILE is written in Fortran 90 and uses MPI for parallelization. GPU acceleration is achieved with and OpenACC or OpenMP backend. Backend selection is done at compilation time using fypp, a Python-based preprocessor for Fortran.
The philosophy behind AGILE/MPI-AMRVAC is to use a single versatile code with options and switches for various problems. The advantage of such a general approach is easier maintenance, the compatibility of different parts, and the automatic extension of new features to existing applications. It is not a fool-proof black-box design. A user needs to write subroutines for initial conditions, and for source terms or special boundary conditions when needed.
MPI-AMRVAC is developed and maintained by an international team led by professor Rony Keppens from Centre for mathematical Plasma-Astrophysics (CmPA), KU Leuven.
Related projects
AGILE
Astrophysics on GPUs for InterdiscipLinary Exascience challenges