Next: 2.3 A collection of
Up: 2. Equations
Previous: 2.1 Basic equations
Contents
Index
2.2 Magnetohydrodynamics (W. Schaffenberger)
The MHD module solves the equations of ideal MHD, given in compact vector form
 |
(16) |
Here,
is the magnetic field vector,
where the units are such that the magnetic permeability
is equal to one.
is the identity matrix and
the scalar product
of the two vectors
and
.
The dyadic tensor product of two vectors
and
is the tensor
with elements
and the
th component of the divergence of the tensor
is
.
The total energy is given by
 |
(17) |
where
is the internal energy per unit mass.
The additional solenoidality constraint,
 |
(18) |
must also be fulfilled.
The aim was to create a stable and easy to use module (Schaffenberger et al., 2005).
The module has the following features:
- Use of the HLL solver with the Janhunen source terms (Janhunen, 2000).
- Extension to 2nd order with linear or parabolic reconstruction and a Hancock predictor
step or Runge-Kutta-TVD timeintegration scheme.
- The following limiters are available: Minmod, vanLeer, Superbee, Piecewise Parabolic (PP).
- Hybridization of 1st and 2nd order flux to ensure positivity of pressure
and density.
- Use of Roe solver.
- Flux interpolated constrained transport step.
- Small violation of strict energy conservation after the constrained transport
step to keep the pressure positive
-term of Balsara & Spicer (1999).
- Electric conductivity and additional energy diffusion.
- Use of thermal energy equation instead of total energy equation possible
(for HLL solver only).
- Use of both, thermal energy equation and total energy equation possible
(dual energy method, HLL solver only).
- Reduction of Alfvén speed to avoid small time steps (with HLL solver
only and in combination with thermal energy equation or dual energy method only).
- Use of multiple MHD-substeps.
- Boundary conditions for the magnetic field can be specified independently
from the hydro boundary conditions.
- Diffusive boundary layers possible.
- Dimensional splitting or unsplit scheme possible.
The magnetic field is located at the cell boundaries rather than in the cell
centers. Therefore, the format of the magnetic field arrays is slightly
different from that of the other hydrodynamic variables.
Staggered grid representation of the magnetic field in 2 dimensions:
+---^---+---^---+---^---+---^---+---^---+---^---+
| | | | | | |
> * > * > * > * > * > * >
| | | | | | |
+---^---+---^---+---^---+---^---+---^---+---^---+
| | | | | | |
> * > * > * > * > * > * >
| | | | | | |
+---^---+---^---+---^---+---^---+---^---+---^---+
| | | | | | |
> * > * > * > * > * > * >
| | | | | | |
+---^---+---^---+---^---+---^---+---^---+---^---+
| | | | | | |
> * > * > * > * > * > * >
| | | | | | |
+---^---+---^---+---^---+---^---+---^---+---^---+
| | | | | | |
> * > * > * > * > * > * >
| | | | | | |
+---^---+---^---+---^---+---^---+---^---+---^---+
* hydrodynamic variables
> x1 component of the magnetic field
^ x2 component of the magnetic field
The extension to 3 dimensions should be clear. Variables at the left or the
bottom boundary have the same indices as the cell.
For a box with 120
120
120 cells, the header for the magnetic field arrays
in the start model may look like
real bb1 d=(1:121,1:120,1:120) f=E13.6 p=4 b=4 &
n='cell boundary magnetic field 1' u=G*sqrt(4pi)
real bb2 d=(1:120,1:121,1:120) f=E13.6 p=4 b=4 &
n='cell boundary magnetic field 2' u=G*sqrt(4pi)
real bb3 d=(1:120,1:120,1:121) f=E13.6 p=4 b=4 &
n='cell boundary magnetic field 3' u=G*sqrt(4pi)
For simplicity, the MHD module uses units such that the 4 pi factors do not
appear in the MHD equations.
Therefore one has to multiply the original magnetic fields in gauss
with the factor
in order to get the correct magnetic field
strength for CO5BOLD!!!
After the computation, one has to multiply the magnetic fields from the
CO5BOLD output with the factor
in order to get the magnetic
field strength in gauss!!!
The CO5BOLD analysis tool CAT does this automatically when
reading the model data, so that CAT outputs the field strength in gauss.
Positivity of pressure and density:
A special problem of MHD simulations is that pressure or density can become
negative in some circumstances. This problem is also present in pure
hydrodynamic simulations but gets worse for MHD.
The original hydrodynamic version of CO5BOLD tries to fix this problem by
reducing the time step. In hydrodynamics, this works in most cases.
In MHD, however, reduction of the time step often does not help and
other methods are necessary to avoid this problem.
Therefore, the MHD module uses a HLL solver instead of a Roe solver,
which is used in the hydrodynamic module (Roe, 1986).
It was shown numerically by Janhunen (2000), that using a HLL
solver together with additional source terms in the induction equation
keeps pressure and density positive under all circumstances.
Because the constrained transport step, which is performed after the
1D sweeps with the MHD solver, changes the magnetic field, a correction of
the internal energy in each cell is necessary to keep the total energy conserved.
Because this correction can lead to negative pressure, it is omitted if
the internal energy would become too small. Therefore, the total energy is not
exactly conserved but this affects only a few cells in the simulation box.
(See also Balsara & Spicer (1999) on this topic.)
The methods described above result in a very robust scheme, which guarantees
positivity of pressure and density under almost all conditions. However,
this does not mean, that these values are accurate! The pressure and
temperature distribution may be very inaccurate in regions with strong
magnetic fields. This may be relevant, if one includes special chromospheric
physics such as dynamic hydrogen ionization and CO formation in the simulation.
A possibility to get more accurate pressure and temperature would
consist in the use of
the entropy equation instead of the energy equation for the computation of the
internal energy in regions with strong magnetic field. This was included in the
original test version of the MHD module. In the present version, we mak use
of the equation for the thermal energy itself depending on the ratio of
thermal to magnetic pressure, i.e., the plasma
. The limiting
can
be specified by the model parameter beta_inv
. This is the dual energy
approach, used in many MHD codes. Its advantage goes at the expense
of violation of strict conservation of the total energy.
Due to the Courant condition, the time step in case of MHD can become
considerably smaller than in the hydrodynamic case. This happens because the
time step is also
limited by the Alfvén speed which is large in regions with strong magnetic
field and low density (small plasma
).
To avoid an extreme time step reduction, the Alfvén speed can be
artificially limited.
This this is done by reducing the Lorentz force in the momentum equation by
a factor f.
This factor is calculated with the following formula:
 |
(19) |
where
is the original Alfvén speed and
is the desired maximum
value of the Alfvén speed. Currently, this feature works only with the HLL-solver.
It is advisable to use this feature only in combination with either the thermal
energy equation (beta_inv
= 0.0) or the dual energy method. In the latter case,
beta_inv
should be chosen small enough so that the region where the Lorentz-force
reduction is active is handled by the thermal energy equation. This is obtained
with
, where
is the speed of sound and
the adiabatic exponent.
This module has been extensively tested. It should be able to handle many
MHD flows of astrophysical interest. Bugs and problems can be reported to
werner.schaffenberger@gmx.at
.
Next: 2.3 A collection of
Up: 2. Equations
Previous: 2.1 Basic equations
Contents
Index