5.3.8 Radiation Transport Control

In this part of the parameter file the radiation transport module has to be selected. Depending on this selection a couple of additional parameters have to be specified.

`character radscheme`

:

So far, there exist three different radiation transport modules. The active on can be selected e.g. withcharacter radscheme f=A80 b=80 n='Radiation transport scheme' & c0='LHDrad/MSrad/SHORTrad' & c1='None (skip radiation transport step entirely)' SHORTrad

Possible values are`None`

: Skip radiation transport entirely.`LHDrad`

: (old ``supergiant module'') It uses long characteristics and is restricted to an equidistant grid and open boundaries at all surfaces. Note that the switch`-Drhd_r01=1`

has to be set during compilation (see Sect. 3.4).`MSrad`

: (``solar module'') It uses long characteristics. The lateral boundaries have to be periodic. Top and bottom can be closed or open. Note that the switch`-Drhd_r02=1`

has to be set during compilation (see Sect. 3.4).`SHORTrad`

: (new ``supergiant module'') It uses short characteristics and is restricted to an equidistant grid and open boundaries at all surfaces. Note that the switch`-Drhd_r03=1`

has to be set during compilation (see Sect. 3.4).

`integer n_radminiter`

:

Usually the stability considerations dictate a radiative time step smaller than the hydrodynamics or tensor viscosity time step. To remedy this situation it is possible to allow several radiation transport steps per global time step. Hitherto, all three radiation transport modules support this iteration. The minimum number of iterations (radiative sub-steps) can be specified e.g. withinteger n_radminiter f=I4 b=4 & n='Minimum number of radiation transport iterations' c0=8 1

If less iterations are needed the time step limit for the next step is increased. This value will in almost any case (for explicit radiation transport) be set to`1`

. In the implicit case it is set to a higher value (typically`5`

).`integer n_raditer`

:

After each complete radiative time step the recommendation for the next time step will be chosen so that`n_raditer`

iterations will (probably) needed. The parameter can be set e.g. withinteger n_raditer f=I4 b=4 & n='Number of radiation transport iterations' c0=10 8

For a simulation of a solar-type star (with comparatively long radiative time scales) it will typically be set to`1`

. For starts with shorter radiative time scales values around`10`

may be considered. All three radiation transport modules understand this parameter.`integer n_radmaxiter`

:

The absolute maximum number of iterations can be specified e.g. withinteger n_radmaxiter f=I4 b=4 & n='Maximum number of rad. transport iterations' c0=30 0

If more iterations are needed the computation for the current time step is stopped and resumed with a smaller one (which means that the hydrodynamics and the tensor viscosity step have to be done again). Usually,`n_radmaxiter`

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

) or to`0`

which disable the check for too many iterations completely. This can be safely allowed in many cases and has the advantage that there is no need to save the initial model before calling the radiation transport module, which saves some memory. To disable the iteration of the radiation transport sub-step set`n_radminiter`

=`n_raditer`

=`n_radmaxiter`

=`1`

. All three radiation transport modules understand this parameter.`character radraybase`

:

Using the modules`LHDrad`

or`SHORTrad`

the orientation of the base axis system can be selected e.g. withcharacter radraybase f=A80 b=80 n='Base axis system' & c0='unity/random/randomgroup' random

Allowed values are`unity`

: (default) During all time steps and radiative sub-steps the direction of the rays stays the same.`random`

: At each time step (and radiative sub-step) a new base axis system is chosen at random`randomgroup`

: At each new time step a new base axis system is chosen at random. It is kept for all radiative sub-steps.

`radraystar`

) it is advisable to vary the directions of the rays (by choosing`radraybase`

=`random`

or`randomgroup`

) to cover the entire sphere at least over a longer time.`character radraystar`

:

Using the modules`LHDrad`

or`SHORTrad`

the list of ray directions (i.e. the number of rays and their coordinates) relative to the base axis system can be specified with e.g.character radraystar f=A80 b=80 n='List of relative ray directions' & c0='x1(1)/x2(1)/x3(1)/oktaeder(3)/tetraeder(4)/cube(4)' & c1='ikosaeder(6)/dodekaeder(10)' oktaeder

Examples for allowed values are`x1`

: (N=1) one single ray along x1 axis (not enough to specify fluxes in all directions)`x2`

: (N=1) one single ray along x2 axis (not enough to specify fluxes in all directions)`x3`

: (N=1) one single ray along x3 axis (not enough to specify fluxes in all directions)`oktaeder`

: (N=3, default) octahedron`tetraeder`

: (N=4) tetrahedron`cube`

: (N=4)`ikosaeder`

: (N=6) icosahedron`dodekaeder`

: (N=10) dodecahedron

*corner*of the respective solid).`integer n_radtheta`

:

Using the`MSrad`

module the ray directions have to specified in a different way: The number of ray sets in theta direction can be chosen with e.g.integer n_radtheta f=I4 b=4 & n='NTHETA: Number of ray sets in theta direction' c0=2 2

`integer n_radphi`

:

Using the`MSrad`

module the number of ray sets in phi direction can be set e.g. withinteger n_radphi f=I4 b=4 & n='NPHI: Number of ray sets in phi direction' c0=2 2

`integer n_radsubray`

:

Using the`MSrad`

module the number of rays per cell (with the same direction) can be specified e.g. withinteger n_radsubray f=I4 b=4 n='KPHI: Number of rays per cell' c0=2 2

`integer n_radband`

:

It can be specified whether the grey opacity table or the binned frequency-dependent part of the opacity table is used during the computation. The grey part contains only one bin. The other (possibly non-grey) contains one or more bins depending on the table chosen. The parameter is specified with e.g.integer n_radband f=I4 b=4 n='Number of frequency bins' & c0='1: grey opacities' & c1='2: non-grey opacities (if available from table)' 1

Allowed values are`1`

: Use the grey part of the table`2`

: Use the other (possibly non-grey, frequency-dependent) part of the table

`MSrad`

module so far can handle non-grey tables.`real c_radimplicitmu`

:

So far only the`LHDrad`

module (tentatively) supports implicit radiation transport. It can be activated with the parameterreal c_radimplicitmu f=E15.8 b=4 & n='Implicitness parameter for radiation transport' u=1 & c0='0.0: explicit / 0.5: time centered / 1.0: fully implicit' 0.0

Allowed values are`0.0`

: Fully explicit radiation transport (possible with all modules)`0.0`

C`1.0`

: Partly implicit radiation transport`0.5`

: Radiation transport time-centered`1.0`

: Fully implicit radiation transport

`real c_raditereps`

:

With activated implicit radiation transport (`LHDrad`

module only) the requested convergence accuracy of the iteration can be set e.g. withreal c_raditereps f=E15.8 b=4 & n='Relative accuracy for radiation iteration' u=1 & c0='Typical value: 1.0E-03' 2.0E-03

`real c_raditerstep`

:

With activated implicit radiation transport (`LHDrad`

module only) the step size of the iteration can be restricted with e.g.real c_raditerstep f=E15.8 b=4 & n='Step size of radiation iteration' u=1 & c0='Typical values: 0.7,0.81' 1.0

Allowed values are`0.0`

`1.0`

: Restricted step size`1.0`

: No restriction, standard step size-
`1.0`

: Extra large steps

`real c_radtvisdtau`

:

Using the`LHDrad`

module the limit in delta optical depth (rho*kappa*dx) below which the ``radiative temperature viscosity'' (=temperature smoothing) is to be applied can be set with e.g.real c_radtvisdtau f=E15.8 b=4 & n='Optical depth limit for temperature viscosity' u=1 0.1

The introduction of this ``temperature diffusion'' is a somewhat desperate and inelegant attempt to improve the behavior of the Greens function (hot cells should be cooled, cool cells should be heated). This diffusion is necessary for not well resolved models. It is switched off with`c_radtvisdtau`

`0.0`

.`real c_radtvis`

:

Using the`LHDrad`

module the amount of the ``radiative temperature viscosity'' (=temperature smoothing) can be specified e.g. withreal c_radtvis f=E15.8 b=4 n='Temperature viscosity' u=1 1.6

For well resolved models it should be switched off (with`c_radtvis`

`0.0`

). But often its use is necessary.