Idefix code documentation

About Idefix

Idefix is designed to be a performance-portable astrophysical code. This means that it can run both on your laptop’s cpu or on the largest GPU HPCs recently bought by your university. More technically, Idefix can run in serial, use OpenMP and/or MPI (message passing interface) for parallelization, and use CUDA or Xeon-Phi for out of chip acceleration. Of course, all these capabilities are embedded within one single code, so the code relies on relatively abstracted classes and objects available in C++14, which are not necessarily familiar to astrophysicists. A large effort has been devoted to simplify this level of abstraction so that the code can be modified by researchers and students familiar with C and who are aware of basic object-oriented concepts.

In order to ease the transition from more common codes, Idefix has been designed to be close to the PLUTO code. Several of the data structures have identical names, input files are very similar and the numerical integration algorithm is essentially the same (but with some major modification to its structure). Hence, your favourite PLUTO setup can be converted into an Idefix setup within a couple of hours.

Terms and condition of Use

Idefix is distributed freely under the CeCILL license, a free software license adapted to both international and French legal matters, in the spirit of and retaining compatibility with the GNU General Public License (GPL). We expect Idefix to be referenced and acknowledeged by authors in their publications.

Idefix data structure and algorithm are derived from Andrea Mignone’s PLUTO code, released under the GPL license. Idefix also relies on the Kokkos performance portability programming ecosystem released under the terms of Contract DE-NA0003525 with National Technology & Engineering Solutions of Sandia, LLC (NTESS).

Main Contributors

Geoffroy Lesur

code design and architecture

Soufiane Baghdadi

code optimisation, 2D Riemann solvers, RKL scheme

Gaylor Wafflard-Fernandez

planet-disc interaction

Clément Robert

gitlab integration, linter

Jean Kempf & François Rincon

anisotropic diffusion

Acknowledgements

The developement of Idefix is supported by the European Research Council (ERC) under the European Union Horizon 2020 research and innovation programme (Grant agreement No. 815559 (MHDiscs))

Contents:

Indices and tables