| ... | @@ -944,7 +944,7 @@ divergence-free setup: | 
... | @@ -944,7 +944,7 @@ divergence-free setup: | 
| 
 | 
\(1\) computation of cell-face-averaged magnetic field components via
 | 
 | 
\(1\) computation of cell-face-averaged magnetic field components via
 | 
| 
 | 
exact integration of the analytical expressions. The so discretized
 | 
 | 
exact integration of the analytical expressions. The so discretized
 | 
| 
 | 
field is per se cell-wise divergence-free. For a grid cell
 | 
 | 
field is per se cell-wise divergence-free. For a grid cell
 | 
| 
 | 
(`ix`,`iy`,`iz`) on superblock `g` this means
 | 
 | 
(`ix`,`iy`,`iz`) on superblock `g` the discritized components read
 | 
| 
 | 
 | 
 | 
 | 
| 
 | 
  
 | 
 | 
  
 | 
| 
 | 
The numerical expressions for the cell face contents are:
 | 
 | 
The numerical expressions for the cell face contents are:
 | 
| ... | @@ -1289,7 +1289,7 @@ physics guide | 
... | @@ -1289,7 +1289,7 @@ physics guide | 
| 
 | 
non-periodic BC. The combination of periodic BC at one domain boundary
 | 
 | 
non-periodic BC. The combination of periodic BC at one domain boundary
 | 
| 
 | 
with non-periodic BC at another domain boundary is not supported.*
 | 
 | 
with non-periodic BC at another domain boundary is not supported.*
 | 
| 
 | 
 | 
 | 
 | 
| 
 | 
### User-defined coefficients for dissipative processes
 | 
 | 
## User-defined coefficients for dissipative processes
 | 
| 
 | 
 | 
 | 
 | 
| 
 | 
The modules `viscosityCoeffUser.c`, `conductionCoeffUser.c` and
 | 
 | 
The modules `viscosityCoeffUser.c`, `conductionCoeffUser.c` and
 | 
| 
 | 
`diffusionCoeffUser.c` serve as templates for a user-defined coefficient
 | 
 | 
`diffusionCoeffUser.c` serve as templates for a user-defined coefficient
 | 
| ... | @@ -1423,7 +1423,7 @@ User-defined Ohmic diffusion is enabled by appropriate choice in the | 
... | @@ -1423,7 +1423,7 @@ User-defined Ohmic diffusion is enabled by appropriate choice in the | 
| 
 | 
parameter interface `nirvana.par` under the category
 | 
 | 
parameter interface `nirvana.par` under the category
 | 
| 
 | 
`PHYSICS SPECIFICATIONS` (code parameter: `_C.diffusion`).
 | 
 | 
`PHYSICS SPECIFICATIONS` (code parameter: `_C.diffusion`).
 | 
| 
 | 
 | 
 | 
 | 
| 
 | 
### User-defined coefficient for ambipolar diffusion
 | 
 | 
## User-defined coefficient for ambipolar diffusion
 | 
| 
 | 
 | 
 | 
 | 
| 
 | 
The module `APdiffusionCoeffUser.c` serves as template for a
 | 
 | 
The module `APdiffusionCoeffUser.c` serves as template for a
 | 
| 
 | 
user-defined ambipolar diffusion coefficient. Ambipolar diffusion enters
 | 
 | 
user-defined ambipolar diffusion coefficient. Ambipolar diffusion enters
 | 
| ... | @@ -1467,11 +1467,11 @@ User-defined ambipolar diffusion is enabled by appropriate choice in the | 
... | @@ -1467,11 +1467,11 @@ User-defined ambipolar diffusion is enabled by appropriate choice in the | 
| 
 | 
parameter interface `nirvana.par` under the category
 | 
 | 
parameter interface `nirvana.par` under the category
 | 
| 
 | 
`PHYSICS SPECIFICATIONS` (code parameter: `_C.APdiffusion`).
 | 
 | 
`PHYSICS SPECIFICATIONS` (code parameter: `_C.APdiffusion`).
 | 
| 
 | 
 | 
 | 
 | 
| 
 | 
### User-defined body force
 | 
 | 
## User-defined body force
 | 
| 
 | 
 | 
 | 
 | 
| 
 | 
The module `forceUser.c` serves as template for coding a user-defined
 | 
 | 
The module `forceUser.c` serves as template for coding a user-defined
 | 
| 
 | 
*specific* body force **f** (force per mass in units
 | 
 | 
*specific* body force **f** (force per mass in units
 | 
| 
 | 
*N* ⋅ *k**g*<sup> − 1</sup>). The body force then enters the momentum
 | 
 | 
N⋅kg<sup>−1</sup>). The body force then enters the momentum
 | 
| 
 | 
equation and energy equation as source term.
 | 
 | 
equation and energy equation as source term.
 | 
| 
 | 
 | 
 | 
 | 
| 
 | 
In the call of `forceUser()` the function arguments are the superblock
 | 
 | 
In the call of `forceUser()` the function arguments are the superblock
 | 
| ... | @@ -1506,17 +1506,17 @@ The body force is enabled by specification in the parameter interface | 
... | @@ -1506,17 +1506,17 @@ The body force is enabled by specification in the parameter interface | 
| 
 | 
`nirvana.par` under the category `PHYSICS SPECIFICATIONS` (code
 | 
 | 
`nirvana.par` under the category `PHYSICS SPECIFICATIONS` (code
 | 
| 
 | 
parameter: `_C.force`).
 | 
 | 
parameter: `_C.force`).
 | 
| 
 | 
 | 
 | 
 | 
| 
 | 
### User-defined cooling/heating function
 | 
 | 
## User-defined cooling/heating function
 | 
| 
 | 
 | 
 | 
 | 
| 
 | 
The modules `sourceCoolingUser.c` and `sourceHeatingUser.c` serve as
 | 
 | 
The modules `sourceCoolingUser.c` and `sourceHeatingUser.c` serve as
 | 
| 
 | 
templates for coding a user-defined cooling function,
 | 
 | 
templates for coding a user-defined cooling function,
 | 
| 
 | 
*L*<sub>*c**o**o**l*</sub> ≤ 0, and heating function,
 | 
 | 
*L*<sub>*cool*</sub> ≤ 0, and heating function,
 | 
| 
 | 
*L*<sub>*h**e**a**t*</sub> ≥ 0, respectively. Both functions are allowed
 | 
 | 
*L*<sub>*heat*</sub> ≥ 0, respectively. Both functions are allowed
 | 
| 
 | 
to depend on temperature *T* and density 𝜚. The net heatloss, i.e. the
 | 
 | 
to depend on temperature *T* and density 𝜚. The net heatloss, i.e. the
 | 
| 
 | 
sum
 | 
 | 
sum
 | 
| 
 | 
*L*<sub>*c**o**o**l*</sub>(*T*, 𝜚) + *L*<sub>*h**e**a**t*</sub>(*T*, 𝜚)
 | 
 | 
*L*<sub>*cool*</sub>(*T*, 𝜚) + *L*<sub>*heat*</sub>(*T*, 𝜚)
 | 
| 
 | 
of both functions, enters as a source term in the energy equation.
 | 
 | 
of both functions, enters as a source term in the energy equation.
 | 
| 
 | 
*L*<sub>*c**o**o**l*</sub> and *L*<sub>*h**e**a**t*</sub> are measured
 | 
 | 
*L*<sub>*cool*</sub> and *L*<sub>*heat*</sub> are measured
 | 
| 
 | 
in units *J* ⋅ *s*<sup> − 1</sup> ⋅ *m*<sup> − 3</sup>.
 | 
 | 
in units *J* ⋅ *s*<sup> − 1</sup> ⋅ *m*<sup> − 3</sup>.
 | 
| 
 | 
 | 
 | 
 | 
| 
 | 
In the call of `sourceCoolingUser()` (`sourceHeatingUser()`) the
 | 
 | 
In the call of `sourceCoolingUser()` (`sourceHeatingUser()`) the
 | 
| ... | @@ -1529,12 +1529,12 @@ the pointer `deriv` to the derivatives flag and the 2-element vector | 
... | @@ -1529,12 +1529,12 @@ the pointer `deriv` to the derivatives flag and the 2-element vector | 
| 
 | 
      f=sourceHeatingUser(T,rho,deriv,dfh);
 | 
 | 
      f=sourceHeatingUser(T,rho,deriv,dfh);
 | 
| 
 | 
 | 
 | 
 | 
| 
 | 
The user must define the return value
 | 
 | 
The user must define the return value
 | 
| 
 | 
`f` = *L*<sub>*c**o**o**l*</sub>(`T``,` `r``h``o`)
 | 
 | 
`f` = *L*<sub>*cool*</sub>(`T``,` `rho`)
 | 
| 
 | 
(*L*<sub>*h**e**a**t*</sub>(`T``,` `r``h``o`)) in `sourceCoolingUser.c`
 | 
 | 
(*L*<sub>*heat*</sub>(`T``,` `rho`)) in `sourceCoolingUser.c`
 | 
| 
 | 
(`sourceHeatingUser.c`). The `deriv`-flag is thought to indicate the
 | 
 | 
(`sourceHeatingUser.c`). The `deriv`-flag is thought to indicate the
 | 
| 
 | 
calling function whether a user provides the derivatives of
 | 
 | 
calling function whether a user provides the derivatives of
 | 
| 
 | 
*L*<sub>*c**o**o**l*</sub>(*T*, 𝜚) and
 | 
 | 
*L*<sub>*cool*</sub>(*T*, 𝜚) and
 | 
| 
 | 
*L*<sub>*h**e**a**t*</sub>(*T*, 𝜚) with respect to *T* and 𝜚 himself.
 | 
 | 
*L*<sub>*heat*</sub>(*T*, 𝜚) with respect to *T* and 𝜚 himself.
 | 
| 
 | 
The `deriv`-flag is preset to `NO` when entering the code function. If
 | 
 | 
The `deriv`-flag is preset to `NO` when entering the code function. If
 | 
| 
 | 
the user sets
 | 
 | 
the user sets
 | 
| 
 | 
 | 
 | 
 | 
| ... | @@ -1542,9 +1542,9 @@ the user sets | 
... | @@ -1542,9 +1542,9 @@ the user sets | 
| 
 | 
 | 
 | 
 | 
| 
 | 
the derivatives must be stored by the user in the 2-element vector `dfc`
 | 
 | 
the derivatives must be stored by the user in the 2-element vector `dfc`
 | 
| 
 | 
(`dfh`) with `dfc[0]` (`dfh[0]`) storing the derivative
 | 
 | 
(`dfh`) with `dfc[0]` (`dfh[0]`) storing the derivative
 | 
| 
 | 
∂*L*<sub>*c**o**o**l*</sub>/∂*T* (∂*L*<sub>*h**e**a**t*</sub>/∂*T*) and
 | 
 | 
∂*L*<sub>*cool*</sub>/∂*T* (∂*L*<sub>*heat*</sub>/∂*T*) and
 | 
| 
 | 
`dfc[1]` (`dfh[1]`) storing the derivative
 | 
 | 
`dfc[1]` (`dfh[1]`) storing the derivative
 | 
| 
 | 
∂*L*<sub>*c**o**o**l*</sub>/∂𝜚 (∂*L*<sub>*h**e**a**t*</sub>/∂𝜚).
 | 
 | 
∂*L*<sub>*cool*</sub>/∂𝜚 (∂*L*<sub>*heat*</sub>/∂𝜚).
 | 
| 
 | 
Otherwise derivatives are automatically computed by a finite difference
 | 
 | 
Otherwise derivatives are automatically computed by a finite difference
 | 
| 
 | 
approximation.
 | 
 | 
approximation.
 | 
| 
 | 
 | 
 | 
 | 
| ... | @@ -1559,7 +1559,7 @@ User-defined cooling/heating is enabled by appropriate choice in the | 
... | @@ -1559,7 +1559,7 @@ User-defined cooling/heating is enabled by appropriate choice in the | 
| 
 | 
parameter interface `nirvana.par` under the category
 | 
 | 
parameter interface `nirvana.par` under the category
 | 
| 
 | 
`PHYSICS SPECIFICATIONS` (code parameter: `_C.heatloss`).
 | 
 | 
`PHYSICS SPECIFICATIONS` (code parameter: `_C.heatloss`).
 | 
| 
 | 
 | 
 | 
 | 
| 
 | 
### User-defined equation of state
 | 
 | 
## User-defined equation of state
 | 
| 
 | 
 | 
 | 
 | 
| 
 | 
#### Analytic EOS
 | 
 | 
#### Analytic EOS
 | 
| 
 | 
 | 
 | 
 | 
| ... | @@ -1724,7 +1724,7 @@ A tabulated EOS is enabled by appropriate choice in the parameter | 
... | @@ -1724,7 +1724,7 @@ A tabulated EOS is enabled by appropriate choice in the parameter | 
| 
 | 
interface `nirvana.par` under category `PHYSICS SPECIFICATIONS` (code
 | 
 | 
interface `nirvana.par` under category `PHYSICS SPECIFICATIONS` (code
 | 
| 
 | 
paramter: `_C.eos`).
 | 
 | 
paramter: `_C.eos`).
 | 
| 
 | 
 | 
 | 
 | 
| 
 | 
### User-defined initial/restricted mesh refinement
 | 
 | 
## User-defined initial/restricted mesh refinement
 | 
| 
 | 
 | 
 | 
 | 
| 
 | 
For certain problems it may be advantageous to start a simulation with a
 | 
 | 
For certain problems it may be advantageous to start a simulation with a
 | 
| 
 | 
pre-refined mesh in some parts of the computational domain or to retrict
 | 
 | 
pre-refined mesh in some parts of the computational domain or to retrict
 | 
| ... | @@ -1835,7 +1835,7 @@ the requested refinement control parameter. | 
... | @@ -1835,7 +1835,7 @@ the requested refinement control parameter. | 
| 
 | 
An example can be found in the testproblem
 | 
 | 
An example can be found in the testproblem
 | 
| 
 | 
`/nirvana/testproblems/GRAVITY/problem3`.
 | 
 | 
`/nirvana/testproblems/GRAVITY/problem3`.
 | 
| 
 | 
 | 
 | 
 | 
| 
 | 
### Specification of NCCM parameters
 | 
 | 
## Specification of NCCM parameters
 | 
| 
 | 
 | 
 | 
 | 
| 
 | 
The parameter file `NCCM.par` serves as user interface to the
 | 
 | 
The parameter file `NCCM.par` serves as user interface to the
 | 
| 
 | 
multi-species framework/NCCM. `NCCM.par` is grouped into the category
 | 
 | 
multi-species framework/NCCM. `NCCM.par` is grouped into the category
 | 
| ... | @@ -1987,7 +1987,7 @@ A thermal process is activated (deactivated) by specifying the value Y | 
... | @@ -1987,7 +1987,7 @@ A thermal process is activated (deactivated) by specifying the value Y | 
| 
 | 
(N). Every text in a line following the ’`>`’-character is ignored by
 | 
 | 
(N). Every text in a line following the ’`>`’-character is ignored by
 | 
| 
 | 
the parser and serves for comments.
 | 
 | 
the parser and serves for comments.
 | 
| 
 | 
 | 
 | 
 | 
| 
 | 
### User-controllable macros
 | 
 | 
## User-controllable macros
 | 
| 
 | 
 | 
 | 
 | 
| 
 | 
Besides the parameters collected in the user interfaces `nirvana.par`
 | 
 | 
Besides the parameters collected in the user interfaces `nirvana.par`
 | 
| 
 | 
and `NCCM.par` there are a number of further parameters which can be
 | 
 | 
and `NCCM.par` there are a number of further parameters which can be
 | 
| ... |  | ... |  |