... | ... | @@ -1332,7 +1332,7 @@ whence a loop like |
|
|
|
|
|
must be added in `viscosityCoeffUser.c`. The coefficient should be
|
|
|
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
|
|
|
`/nirvana/testproblems/VISC/problem1`.
|
|
|
|
... | ... | @@ -1347,7 +1347,7 @@ Thermal conduction enters the energy equation through a heat flux |
|
|
introduces anisotropic effects with different transport properties along
|
|
|
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
|
|
|
coefficient parallel and perpendicular to the magnetic field,
|
... | ... | @@ -1378,7 +1378,7 @@ range of `g`, whence a loop like |
|
|
|
|
|
must be added to `conductionCoeffUser.c`. The coefficients should be
|
|
|
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`)
|
|
|
only the `cond`-array has to be assigned with `cond` representing the
|
|
|
conduction coefficient *κ* in the isotropic heat flux
|
... | ... | @@ -1393,7 +1393,7 @@ PHYSICS SPECIFICATIONS (code parameter: `_C.conduction`). |
|
|
Ohmic diffusion enters the induction equation and energy equation as a
|
|
|
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
|
|
|
diffusion coefficient.
|
... | ... | @@ -1417,7 +1417,7 @@ whence a loop like |
|
|
|
|
|
must be added in `diffusionCoeffUser.c`. The coefficient should be
|
|
|
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
|
|
|
parameter interface `nirvana.par` under the category
|
... | ... | @@ -1430,7 +1430,7 @@ user-defined ambipolar diffusion coefficient. Ambipolar diffusion enters |
|
|
the induction equation and energy equation as a field contribution given
|
|
|
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>
|
|
|
\[V⋅m⋅A<sup>−1</sup>⋅T<sup>−2</sup>\] denotes the
|
... | ... | @@ -1459,7 +1459,7 @@ whence a loop like |
|
|
|
|
|
must be added in `APdiffusionCoeffUser.c`. The coefficient should be
|
|
|
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
|
|
|
`/nirvana/testproblems/APDIFF/problem1`.
|
|
|
|
... | ... | @@ -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
|
|
|
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
|
|
|
for a body force can be found in testproblem
|
|
|
`/nirvana/testproblems/MHD/problem21`.
|
... | ... | @@ -1510,11 +1510,11 @@ parameter: `_C.force`). |
|
|
|
|
|
The modules `sourceCoolingUser.c` and `sourceHeatingUser.c` serve as
|
|
|
templates for coding a user-defined cooling function,
|
|
|
*L*<sub>*cool*</sub> ≤ 0, and heating function,
|
|
|
*L*<sub>*heat*</sub> ≥ 0, respectively. Both functions are allowed
|
|
|
*L*<sub>*cool*</sub>≤0, and heating function,
|
|
|
*L*<sub>*heat*</sub>≥0, respectively. Both functions are allowed
|
|
|
to depend on temperature *T* and density 𝜚. The net heatloss, i.e. the
|
|
|
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.
|
|
|
*L*<sub>*cool*</sub> and *L*<sub>*heat*</sub> are measured
|
|
|
in units J⋅s<sup>−1</sup>⋅m<sup>−3</sup>.
|
... | ... | @@ -1533,8 +1533,8 @@ The user must define the return value |
|
|
(*L*<sub>*heat*</sub>(`T`,`rho`)) in `sourceCoolingUser.c`
|
|
|
(`sourceHeatingUser.c`). The `deriv`-flag is thought to indicate the
|
|
|
calling function whether a user provides the derivatives of
|
|
|
*L*<sub>*cool*</sub>(*T*, 𝜚) and
|
|
|
*L*<sub>*heat*</sub>(*T*, 𝜚) with respect to *T* and 𝜚 himself.
|
|
|
*L*<sub>*cool*</sub>(*T*,𝜚) and
|
|
|
*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 user sets
|
|
|
|
... | ... | |