walker::MixMassFracBetaCoeffHydroTimeScale class

Mix mass-fraction beta SDE coefficients policy with DNS hydrodynamics time scale.

User-defined parameters b' and kappa' are functions of an externally, e.g., DNS-, provided hydrodynamics time scale ensuring decay in the evolution of <y^2>. Additionally, S is constrained to make d<rho>/dt = 0, where <rho> = rho_2/(1+rY). Additionally, we pull in a hydrodynamic timescale from an external function.

Public static functions

static auto type() -> ctr::CoeffPolicyType noexcept
Coefficients policy type accessor.

Constructors, destructors, conversion operators

MixMassFracBetaCoeffHydroTimeScale(ncomp_t ncomp, const std::vector<kw::sde_bprime::info::expect::type>& bprime_, const std::vector<kw::sde_S::info::expect::type>& S_, const std::vector<kw::sde_kappaprime::info::expect::type>& kprime_, const std::vector<kw::sde_rho2::info::expect::type>& rho2_, const std::vector<kw::sde_r::info::expect::type>& r_, std::vector<kw::sde_bprime::info::expect::type>& bprime, std::vector<kw::sde_S::info::expect::type>& S, std::vector<kw::sde_kappaprime::info::expect::type>& kprime, std::vector<kw::sde_rho2::info::expect::type>& rho2, std::vector<kw::sde_r::info::expect::type>& r, std::vector<kw::sde_b::info::expect::type>& b, std::vector<kw::sde_kappa::info::expect::type>& k)
Constructor: initialize coefficients.

Public functions

void update(char depvar, char, char, ctr::DepvarType, ncomp_t ncomp, const std::map<tk::ctr::Product, tk::real>& moments, const std::vector<kw::sde_bprime::info::expect::type>& bprime, const std::vector<kw::sde_kappaprime::info::expect::type>& kprime, const std::vector<kw::sde_rho2::info::expect::type>& rho2, const std::vector<kw::sde_r::info::expect::type>& r, const std::vector<tk::Table>& hts, const std::vector<tk::Table>& hp, std::vector<kw::sde_b::info::expect::type>& b, std::vector<kw::sde_kappa::info::expect::type>& k, std::vector<kw::sde_S::info::expect::type>& S, tk::real t) const
Update coefficients b', kappa', and S.
auto hydrotimescale(tk::real t, const tk::Table& ts) const -> tk::real
auto hydroproduction(tk::real t, const tk::Table& p) const -> tk::real

Function documentation

void walker::MixMassFracBetaCoeffHydroTimeScale::update(char depvar, char, char, ctr::DepvarType, ncomp_t ncomp, const std::map<tk::ctr::Product, tk::real>& moments, const std::vector<kw::sde_bprime::info::expect::type>& bprime, const std::vector<kw::sde_kappaprime::info::expect::type>& kprime, const std::vector<kw::sde_rho2::info::expect::type>& rho2, const std::vector<kw::sde_r::info::expect::type>& r, const std::vector<tk::Table>& hts, const std::vector<tk::Table>& hp, std::vector<kw::sde_b::info::expect::type>& b, std::vector<kw::sde_kappa::info::expect::type>& k, std::vector<kw::sde_S::info::expect::type>& S, tk::real t) const

Update coefficients b', kappa', and S.

This where the mix mass-fraction beta SDE is made consistent with the no-mix and fully mixed limits by specifying the SDE coefficients, b and kappa as functions of b' and kappa'. Additionally, we pull in a hydrodynamic timescale from an external function. We also specify S to force d<rho>/dt = 0, where <rho> = rho_2/(1+rY).

tk::real walker::MixMassFracBetaCoeffHydroTimeScale::hydrotimescale(tk::real t, const tk::Table& ts) const

Parameters
in Time at which to sample inverse hydrodynamics time scale
ts in Hydro time scale table to sample
Returns Sampled value from discrete table of inverse hydro time scale

Sample the inverse hydrodynamics time scale at time t

tk::real walker::MixMassFracBetaCoeffHydroTimeScale::hydroproduction(tk::real t, const tk::Table& p) const

Parameters
in Time at which to sample hydrodynamics P/e
in P/e table to sample
Returns Sampled value from discrete table of P/e

Sample the hydrodynamics production/dissipation rate (P/e) at time t