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, 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>>&, const std::vector<tk::Table<1>>&, 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.

Function documentation

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

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::MixMassFracBetaCoeffMonteCarloHomDecay::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>>&, const std::vector<tk::Table<1>>&, 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.

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
in/out Coefficient vector to be updated
in/out Coefficient vector to be updated
in/out Coefficient vector to be updated

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).