5.3.7 Hydrodynamics Control (HD and MHD)

Allmost all parameters in the parameter file are valid for the HD and
the MHD module.
Only a few parameters for the hydrodynamics control
(`character hdscheme`

: Sect. 5.3.7,
`character reconstruction`

: Sect. 5.3.7,
`real c_slopered`

: Sect. 5.3.7)
are slightly modified or extended for the MHD module.

`character hdscheme`

:

With this parameter the type of the hydrodynamics scheme can be specified as in`character hdscheme f=A80 b=80 n='Hydrodynamics scheme' &`

c0='Roe (approximate Riemann solver of Roe type)' &

c1='RoeMagKin (Roe solver + kinetic magnetic field transport)' &

c2='None (skip hydrodynamics step entirely)'

Roe`None`

: The hydrodynamics step is skipped entirely (for test purposes). Note that in this case some initializations necessary for the generation of the mean file are omitted, too.`Roe`

: (default) The standard Riemann solver of Roe type is activated. This value will in almost every case be chosen.`RoeMagKin`

: The standard Roe solver is extended to transport passively a magnetic field. This is a test implementation to check if the general magnetic field handling works. For proper MHD simulations use`RoeMHD`

instead.`RoeMHD`

: Compile the MHD HLL solver.

`character hdsplit`

:

With this parameter the type of the hydrodynamics operator (directional) splitting scheme can be specified as in`character hdsplit f=A80 b=80 n='Hydrodynamics directional splitting scheme' &`

c0='123 (default): directional splitting' &

c1='unsplit: new unsplit operator'

123`123`

: (default) The standard directional splitting is activated, where the 1D operators for the individual directions are applied in the given order. So far, only the order`123`

is possible.`unsplit`

: The standard Roe solver is applied. However, the changes from the individual steps are computed from (and applied to) the same model configuration. The result is an unsplit scheme.

`character reconstruction`

:

This parameter determines the order and ``aggressiveness'' of the reconstruction scheme with e.g.`character reconstruction f=A80 b=80 n='Reconstruction method' &`

c0=Constant c1=Minmod/VanLeer/Superbee c2=PP

Minmod`Constant`

: The run of the partial waves inside the cells is assumed to be constant. A highly dissipative first order scheme results. This values will usually only be used for test (or comparison) purposes.`Minmod`

: Chooses the smallest slope which still results in a second order scheme. It is the most diffusive (and most stable) one in this class.`VanLeer`

: (default) The recommended second order scheme.`Superbee`

: The ``most aggressive'' stable 2nd order scheme. It results in the steepest shocks, which works well in some test cases but might be to difficult for the radiation transport module to handle.`PP`

: Chooses the piecewise parabolic reconstruction of the PPM scheme (``Piecewise Parabolic Method'', Colella & Woodward 1984). Results in 3rd order accuracy for the advection. This method can only be used with the standard`hdscheme Roe`

, not with`hdscheme RoeMHD`

.

`VanLeer`

reconstruction is a good choice. If a more stable (and diffusive) scheme is needed, take`Minmod`

. The`PP`

reconstruction gives the highest accuracy. However, it tends to produce somewhat ``noisy'' models with small wiggles e.g. in the velocity. The 2nd order piecewise parabolic reconstruction (PP) is not implemented in the MHD module. By specifying e.g.`VanLeer Superbee`

it is possible to use the VanLeer scheme for the hydrodynamics scheme as such and Superbee only for the advection of additional`quc`

quantities.`real c_slopered`

:

When`-Drhd_roe1d_slope_l01=2`

is set (see Sect. 3.6), a new extra stabilization mechanism can be activated: If one of the reconstruction methods`VanLeer`

,`Superbee`

, or`PP`

(see Sect. 5.3.7) is activated, the slope can be reduced (by averaging with the results from a`MinMod`

reconstruction) by setting`c_slopered`

to a positive non-zero value. This value can be set e.g. with`real c_slopered f=E15.8 b=4 &`

n='Slope reduction parameter in case of strong density contrast' u=1 &

c0='0.00: off (default), 0.02: reasonable value, 0.10: large value'

0.02`0.0`

: Slope reduction switched off. Original reconstruction is used.`0.02`

: Moderate slope reduction in case of large density jumps.`0.10`

: More pronounced slope reduction in case of strong density contrast.

`real c_hydpredfactor`

:

The "hydrostatic pressure correction" terms in the two acoustic waves are always present. However, for the entropy wave and the "ionization wave" it is not quite clear if the terms should be there (the classical default) or if they should be set to zero. The value of a factor in front of these terms can be set e.g. with`real c_hydpredfactor f=E15.8 b=4 &`

n='hydrostatic pressure reduction in waves 3 and 6' u=1 &

c0='0.0: Deactivation of pressure reduction terms' &

c1='1.0: Activation of pressure reduction terms (default)'

0.0`0.0`

: Deactivation of pressure reduction terms in waves 3 and "6" in Roe solver`1.0`

: Activation of pressure reduction terms in waves 3 and "6" in Roe solver (default)

`integer n_hyditer`

:

After each complete hydiative time step the recommendation for the next time step will be chosen so that`n_hyditer`

iterations will (probably) needed. The parameter can be set e.g. with`integer n_hyditer f=I4 b=4 &`

n='Number of hydrodynamics iterations' c0=10

8`1`

. E.g. for brown dwarfs with shorter hydrodynamical time scales values around`10`

may be considered. Note, that the hydrodynamics iteration works somewhat differently than the radiation transport iteration: in the latter case the size of the actual time step can be determined after computing the fluxes, whereas the hydrodynamics step is (possibly) of at least second order in time and the time step has to be known in advance`integer n_hydmaxiter`

:

The absolute maximum number of hydro iterations can be specified e.g. with`integer n_hydmaxiter f=I4 b=4 &`

n='Maximum number of hydro iterations' c0=14

0`n_hydmaxiter`

will either be set to a value somewhat larger than the recommended number of iterations (`n_hyditer`

) or to`0`

which disables the check for too many iterations completely. This can be safely allowed in many cases. To disable the iteration of the hydrodynamics sub-step set`n_hyditer`

=`0`

.`integer n_hydcellsperchunk`

:

In every directional sub-step neighboring 1D columns are independent from each other. They can be grouped and computed in chunks of arbitrary size. The approximate number of grid cells per chunk can be specified e.g. with`integer n_hydcellsperchunk f=I9 b=4 &`

n='Number of cells per hydro chunk' &

c0='0 => one 2D slice at a time' &

c0='1 => minimum chunk size (inefficient)' &

c0='2500: reasonable value' &

c0='1000000000: maximum chunk size (inefficient and memory intensive)'

20000`2500`

: Pentium III, Core 2 Duo processor`20000`

: RISC processor`100000`

: Vector machine

`real c_visdrag`

:

This viscosity parameter controls the drag force which is (if requested) applied inside the hydrodynamics routines themselves. It does not act on velocity gradients as usual viscosity but applies a force proportional to the velocity itself (but with the opposite sign). The amount can be specified e.g. with`real c_visdrag f=E15.8 b=4 &`

n='Drag viscosity parameter' u=1

0.001`0.0`

and`1.0`

. In almost every case the drag forces will be switched off (`c_visdrag`

=`0.0`

). If e.g. strong pulsation have to be damped in the initial phase of a simulation a value around`0.001-0.01`

seems appropriate.`real c_visbound`

:

An additional drag force can be added locally in inflow cells in the outer layer when the`transmitting`

boundary condition is chosen. The value can be set e.g. with`real c_visbound f=E15.8 b=4 &`

n='Boundary drag viscosity parameter' u=1

0.001`c_visbound`

=`0.0`

).`real c_resb`

:

This parameter is only valid for the`hdscheme=RoeMHD`

module. It specifies the electric conductivity. Values between 0.0 and 1.0 may be reasonable. Higher values are possible but reduce the time step. The default value is 0.0. Example:`real c_resb f=E15.8 b=4 &`

n='Parameter for numerical resistivity' u=1

0.1`real c_resepsilon`

:

This parameter is only valid for the`hdscheme=RoeMHD`

module. It controls the additional energy diffusion. Typical values are between 0.0 and 1.0. The default value is 0.0. Example:`real c_resepsilon f=E15.8 b=4 &`

n='Parameter for additional energy diffusion' u=1

0.5`real b1_inflow`

:

This parameter is only valid for the`hdscheme=RoeMHD`

module. It controls the strength of the inflowing horizontal magnetic field () at the lower boundary (`bottom_bound=inoutflow2`

). The default value is 0.0. Example:`real b1_inflow f=E15.8 b=4 &`

n='Strength of inflowing horizontal magnetic field' u=G

2.0