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, 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<1>>& hts, const std::vector<tk::Table<1>>& 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<1>& ts) const -> tk::real
auto hydroproduction(tk::real t, const tk::Table<1>& p) const -> tk::real

Function documentation

walker::MixMassFracBetaCoeffHydroTimeScale::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.

Parameters
ncomp in Number of scalar components in this SDE system
bprime_ in Vector used to initialize coefficient vector bprime
S_ in Vector used to initialize coefficient vector S
kprime_ in Vector used to initialize coefficient vector kprime
rho2_ in Vector used to initialize coefficient vector rho2
r_ in Vector used to initialize coefficient vector r
bprime in/out Coefficient vector to be initialized
in/out Coefficient vector to be initialized
kprime in/out Coefficient vector to be initialized
rho2 in/out Coefficient vector to be initialized
in/out Coefficient vector to be initialized
in/out Coefficient vector to be initialized
in/out Coefficient vector to be initialized

void walker::MixMassFracBetaCoeffHydroTimeScale::update(char depvar, char, char, ctr::DepvarType, 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<1>>& hts, const std::vector<tk::Table<1>>& 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.

Parameters
depvar in Dependent variable
ncomp in Number of scalar components in this SDE system
moments in Map of statistical moments estimated
bprime in Coefficient vector b'
kprime in Coefficient vector kappa'
rho2 in Coefficient vector rho2
in Coefficient vector r
hts in (Inverse) hydrodynamics time scale (as input from DNS)
hp in Production/dissipation (as input from DNS)
in/out Coefficient vector to be updated
in/out Coefficient vector to be updated
in/out Coefficient vector to be updated
in Physical time at which to update coefficients

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<1>& 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<1>& 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