# NIRVANA code

**PI: Udo Ziegler, AIP**

**COntributions: Oliver Gressel, NBI, Kobenhagen, Denmark**

**NIRVANA** is a grid-based C code which numerically integrates the time-dependent equations of a multi-physics system consisting of non-relativistic compressible magnetohydrodynamics, various dissipation processes, self-gravity and a heatloss source term. The code works in 2D/3D Cartesian/cylindrical/spherical geometry and makes use of state-of-the-art numerical methods. NIRVANA allows for adaptive mesh refinement in order to handle multi-scale flows and is MPI parallelized.

**CODE VERSION: 3.8**

**PHYSICS**

- Newtonian hydrodynamics/magnetohydrodynamics
- viscosity, magnetic diffusion, thermal conduction
- anisotropic (magnetic-field-dependent) Spitzer conductivity model including saturation effects
- ambipolar diffusion (strong coupling limit)
- different gas equation of states (isothermal, adiabatic, polytropic, user-defined)
- heatloss term (e.g. ISM cooling/heating function)
- passive tracer
- external forces
- rotating frame of reference
- self-gravity

**NUMERICS**

- Divide-et-Impera / Strang-type operator splitting
- 2nd-order FV approach
- central-upwind or HLLD-based flux computation
- constrained-transport scheme for induction equation
- 2nd/3rd-order Runge-Kutta time integrator for MHD
- 2nd-order FD scheme for dissipative fluxes
- 2nd-order (stabilized) Runge-Kutta-Legendre integrator (Super-Timestepping) for stiff dissipation terms
- exact integrator for Coriolis force term
- MLAT-type multigrid Poisson solver
- dual energy formalism
- look-up table scheme based on cubic interpolation techniques
- 3rd-order exponential Rosenbrock method for heatloss term

**GRID GEOMETRIES**

- Cartesian
- cylindrical
- spherical

**ADAPTIVE MESH REFINEMENT**

- block-structured approach
- conservative & divergence-free infrastructure
- triggered by derivatives, Jeans-length, Field-length

**PARALLEL COMPUTING**

- based on MPI library
- coarse-grained communication model
- load balancing/mesh partitioning via standard domain decomposition (unigrid) or space-filling curve techniques (AMR)

**CODE AVAILABILITY**

Please write an e-mail to uziegler@aip.de in case you are interested in the code. Please note that distribution of the NIRVANA code comes in accord with the following

**TERMS OF USE:**

**DISTRIBUTION.** The NIRVANA code is distributed by Udo Ziegler only** **for non-commercial, scientific purposes.

**MODIFICATIONS.** Please keep the copyright notice in the ** **code modules intact.

**CO-AUTHORSHIP.** Udo Ziegler requests to be a co-author** **in a user's first publication using NIRVANA.

**ACKNOWLEDGEMENTS.** Please acknowledge the use of the NIRVANA code in publications by adding a statement like "This work used the NIRVANA code developed by Udo Ziegler at the Leibniz-Institut für Astrophysik Potsdam".

**DISCLAIMER.** The NIRVANA code comes without any warranty. The distributor does not accept responsibility for consequences of its usage.