Update 3.2 User interfaces authored by Udo Ziegler's avatar Udo Ziegler
...@@ -1332,7 +1332,7 @@ whence a loop like ...@@ -1332,7 +1332,7 @@ whence a loop like
must be added in `viscosityCoeffUser.c`. The coefficient should be must be added in `viscosityCoeffUser.c`. The coefficient should be
evaluated at cell-centroid coordinates evaluated at cell-centroid coordinates
(`g->xc[ix],g->yc[iy],g->zc[iz]`). An example definition for a viscosity (`g->xc[ix]`,`g->yc[iy]`,`g->zc[iz]`). An example definition for a viscosity
coefficient can be found in testproblem coefficient can be found in testproblem
`/nirvana/testproblems/VISC/problem1`. `/nirvana/testproblems/VISC/problem1`.
...@@ -1347,7 +1347,7 @@ Thermal conduction enters the energy equation through a heat flux ...@@ -1347,7 +1347,7 @@ Thermal conduction enters the energy equation through a heat flux
introduces anisotropic effects with different transport properties along introduces anisotropic effects with different transport properties along
and across the magnetic field. **F**<sub>*C*</sub> is described by and across the magnetic field. **F**<sub>*C*</sub> is described by
**F**<sub>*C*</sub> = *κ*<sub></sub>(∇*T***B̂**)**B̂***κ*<sub></sub>(∇*T*−(∇*T***B̂**)**B̂**) **F**<sub>*C*</sub> = *κ*<sub></sub>(∇*T***B̂**)**B̂***κ*<sub></sub>(∇*T*−(∇*T***B̂**)**B̂**)
where *κ*<sub></sub> and *κ*<sub></sub> is the thermal conduction where *κ*<sub></sub> and *κ*<sub></sub> is the thermal conduction
coefficient parallel and perpendicular to the magnetic field, coefficient parallel and perpendicular to the magnetic field,
...@@ -1378,7 +1378,7 @@ range of `g`, whence a loop like ...@@ -1378,7 +1378,7 @@ range of `g`, whence a loop like
must be added to `conductionCoeffUser.c`. The coefficients should be must be added to `conductionCoeffUser.c`. The coefficients should be
evaluated at cell-centroid coordinates evaluated at cell-centroid coordinates
(`g->xc[ix],g->yc[iy],g->zc[iz]`). In HD simulations or MHD simulations (`g->xc[ix]`,`g->yc[iy]`,`g->zc[iz]`). In HD simulations or MHD simulations
with forced isotropy (when `COND_FORCE_ISO`=`YES` in `nirvanaUser.h`) with forced isotropy (when `COND_FORCE_ISO`=`YES` in `nirvanaUser.h`)
only the `cond`-array has to be assigned with `cond` representing the only the `cond`-array has to be assigned with `cond` representing the
conduction coefficient *κ* in the isotropic heat flux conduction coefficient *κ* in the isotropic heat flux
...@@ -1393,7 +1393,7 @@ PHYSICS SPECIFICATIONS (code parameter: `_C.conduction`). ...@@ -1393,7 +1393,7 @@ PHYSICS SPECIFICATIONS (code parameter: `_C.conduction`).
Ohmic diffusion enters the induction equation and energy equation as a Ohmic diffusion enters the induction equation and energy equation as a
field contribution given by field contribution given by
**E**<sub>*D*</sub> = *η*<sub>*D*</sub> × **B** **E**<sub>*D*</sub> = *η*<sub>*D*</sub>×**B**
where *η*<sub>*D*</sub> \[m<sup>2</sup>⋅s<sup>−1</sup>\] is the where *η*<sub>*D*</sub> \[m<sup>2</sup>⋅s<sup>−1</sup>\] is the
diffusion coefficient. diffusion coefficient.
...@@ -1417,7 +1417,7 @@ whence a loop like ...@@ -1417,7 +1417,7 @@ whence a loop like
must be added in `diffusionCoeffUser.c`. The coefficient should be must be added in `diffusionCoeffUser.c`. The coefficient should be
evaluated at cell-centroid coordinates evaluated at cell-centroid coordinates
(`g->xc[ix],g->yc[iy],g->zc[iz]`). (`g->xc[ix]`,`g->yc[iy]`,`g->zc[iz]`).
User-defined Ohmic diffusion is enabled by appropriate choice in the 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
...@@ -1430,7 +1430,7 @@ user-defined ambipolar diffusion coefficient. Ambipolar diffusion enters ...@@ -1430,7 +1430,7 @@ user-defined ambipolar diffusion coefficient. Ambipolar diffusion enters
the induction equation and energy equation as a field contribution given the induction equation and energy equation as a field contribution given
by by
**E**<sub>*AD*</sub> = *η*<sub>*AD*</sub>/*μ*\[(∇×**B****B**\] × **B** **E**<sub>*AD*</sub> = *η*<sub>*AD*</sub>/*μ*\[(∇×**B****B**\]×**B**
where *η*<sub>*AD*</sub> where *η*<sub>*AD*</sub>
\[V⋅m⋅A<sup>−1</sup>⋅T<sup>−2</sup>\] denotes the \[V⋅m⋅A<sup>−1</sup>⋅T<sup>−2</sup>\] denotes the
...@@ -1459,7 +1459,7 @@ whence a loop like ...@@ -1459,7 +1459,7 @@ whence a loop like
must be added in `APdiffusionCoeffUser.c`. The coefficient should be must be added in `APdiffusionCoeffUser.c`. The coefficient should be
evaluated at cell-centroid coordinates evaluated at cell-centroid coordinates
(`g->xc[ix],g->yc[iy],g->zc[iz]`). An example definition for an (`g->xc[ix]`,`g->yc[iy]`,`g->zc[iz]`). An example definition for an
ambipolar diffusion coefficient can be found in testproblem ambipolar diffusion coefficient can be found in testproblem
`/nirvana/testproblems/APDIFF/problem1`. `/nirvana/testproblems/APDIFF/problem1`.
...@@ -1497,7 +1497,7 @@ The user must assign the `fx`,`fy`,`fz`-arrays for active grid cells of ...@@ -1497,7 +1497,7 @@ The user must assign the `fx`,`fy`,`fz`-arrays for active grid cells of
must be added in `forceUser.c`. Strictly speaking, the body force is to must be added in `forceUser.c`. Strictly speaking, the body force is to
be understood as a cell-averaged quantity. Therefore, **f** should be be understood as a cell-averaged quantity. Therefore, **f** should be
evaluated at cell-centroid coordinates (`g->xc[ix],g->yc[iy],g->zc[iz]`) evaluated at cell-centroid coordinates (`g->xc[ix]`,`g->yc[iy]`,`g->zc[iz]`)
and the point values assigned to `fx`,`fy`,`fz`. An example definition and the point values assigned to `fx`,`fy`,`fz`. An example definition
for a body force can be found in testproblem for a body force can be found in testproblem
`/nirvana/testproblems/MHD/problem21`. `/nirvana/testproblems/MHD/problem21`.
...@@ -1510,11 +1510,11 @@ parameter: `_C.force`). ...@@ -1510,11 +1510,11 @@ parameter: `_C.force`).
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>*cool*</sub>0, and heating function, *L*<sub>*cool*</sub>0, and heating function,
*L*<sub>*heat*</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>*cool*</sub>(*T*, 𝜚) + *L*<sub>*heat*</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>*cool*</sub> and *L*<sub>*heat*</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>.
...@@ -1533,8 +1533,8 @@ The user must define the return value ...@@ -1533,8 +1533,8 @@ The user must define the return value
(*L*<sub>*heat*</sub>(`T`,`rho`)) 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>*cool*</sub>(*T*, 𝜚) and *L*<sub>*cool*</sub>(*T*,𝜚) and
*L*<sub>*heat*</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
... ...
......