Description of the Fortran modules
The following pages contain an exhaustive description of the different
variables, subroutines and modules used in MagIC. This documentation is
automatically generated from the source code docstrings using the Sphinx extention
for the Fortran domain .

Fortran modules

For the main program file magic.f90

, see here .

For the core modules that contain most of the global variables, see here .

For the MPI related modules, see here .

For the code initialization and the pre-calculations done in the initial stage of the computation (before the time-stepping loop), see here and there .

For the time-stepping loop, see here .

For the calculation of the non-linear terms (in the physical space) and their time-advance, see here .

For the calculation of the linear terms (in spectral space) and their time-advance, see here .

For the Chebyshev, Fourier and Legendre transforms, see here .

For the computation of the radial derivatives (Chebyshev) and the integration, see here .

For the definition of the blocking, see here .

For the calculation of the standard outputs (time-series, spectra and radial files), see here .

For the calculation of binary outputs (graphic files, movie files, potential and coeff files), see here .

For the additional calculations of specific outputs (torsional oscillations, RMS force balance, etc.), see here .

For reading and writing the check points (restart files), see here .

For additional useful functions (string manipulation, etc.), see here .