Transport Coefficients
Thermal Conductivity
The thermal conductivities,
Thermal conductivities are provided by the conductivity/
directory. The main interface has the form:
template <typename T>
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
void conductivity (T& state)
where currently, the input type needs to be the full EOS type, eos_t
. The conductivity
is then available as eos_t eos_state.conductivity
.
Important
It is assumed that the state is thermodynamically consistent before calling the conductivity routine. It may be necessary to do an EOS call first, to enforce the consistency.
There are several implementations of the conductivity currently:
constant
:This simply sets the conductivity to a constant value set via
conductivity.const_conductivity
.constant_opacity
:This is intended for creating a conductivity from an opacity, for instance, electron scattering. The opacity is taken as constant and set via
conductivity.const_opacity
, and then the conductivity is set as:where
is the Stefan-Boltzmann constant.powerlaw
:This models a temperature-dependent conductivity of the form:
where
is set viaconductivity.cond_coeff
and is set viaconductivity.cond_exponent
.stellar
:This is a general stellar conductivity based on [10]. It combines radiative opacities and thermal conductivities into a single expression. This conductivity is suitable for modeling laminar flames.
These can be set via the CONDUCTIVITY_DIR
make variable.
Radiation Opacities
For radiation transport, we provide simple opacity routines that return the Planck and Rosseland mean opacities.
The interface for these opacities is:
AMREX_GPU_HOST_DEVICE AMREX_INLINE
void actual_opacity (Real& kp, Real& kr, Real rho, Real temp, Real rhoYe, Real nu,
bool get_Planck_mean, bool get_Rosseland_mean)
where the boolean get_Planck_mean
and get_Rosseland_mean
specify where those
opacity terms are filled upon return.
There are 2 interfaces, which are selected via the make variable OPACITY_DIR
.
breakout
:This returns a simple electron scattering opacity with a crude approximation connecting the Planck and Rosseland means.
rad_power_law
:This constructs a power-law opacity. For the Planck mean, it is:
where
is set viaopacity.const_kappa_p
, is set viaopacity.kappa_p_exp_m
, is set viaopacity.kappa_p_exp_n
, and is set viaopacity.kappa_p_exp_p
.The Rosseland mean has a scattering component,
, which is computed as:where
is set viaopacity.const_scatter
, is set viaopacity.scatter_exp_m
, is set viaopacity.scatter_n
, and is set viaopacity.scatter_p
. The Rosseland mean is then computed as:where
is set viaopacity.const_kappa_r
, is set viaopacity.kappa_r_exp_m
, is set viaopacity.kappa_r_exp_n
, and is set viaopacity.kappa_r_exp_p
, and then combined with scattering as:where
is set viaopacity.kappa_floor
,