walker::MixMassFracBetaCoeffMonteCarloHomDecay class

Mix mass-fraction beta SDE Monte Carlo homogenous decay coefficients policy.

User-defined parameters b' and kappa' are constants in time and ensure decay in the evolution of <y^2>. Additionally, S is constrained to make d<rho>/dt = 0, where <rho> = rho_2/(1+rY). This is the same as the specification in MixMassFracBetaCoeffHomDecay, but uses more advanced statistics, available from the Monte Carlo simulation, which yield a simpler formula for the coefficient S.

Public static functions

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

Constructors, destructors, conversion operators

MixMassFracBetaCoeffMonteCarloHomDecay(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>&, const std::vector<tk::Table>&, 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) const
Update coefficients b', kappa', and S.

Function documentation

void walker::MixMassFracBetaCoeffMonteCarloHomDecay::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>&, const std::vector<tk::Table>&, 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) 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'. We also specify S to force d<rho>/dt = 0, where <rho> = rho_2/(1+rY).