src/DiffEq/Beta/MixNumberFractionBetaCoeffPolicy.hpp file

Mix number-fraction beta SDE coefficients policies.


This file defines coefficients policy classes for the mix number-fraction beta SDE, defined in DiffEq/MixNumberFractionBeta.h.

General requirements on mix number-fraction beta SDE coefficients policy classes:

  • Must define a constructor, which is used to initialize the SDE coefficients, b, S, kappa, rho2, and rcomma. Required signature:

      tk::ctr::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_rcomma::info::expect::type >& rcomma_,
      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_rcomma::info::expect::type >& rcomma_ );


    • ncomp denotes the number of scalar components of the system of mix number-fraction beta SDEs.
    • Constant references to bprime_, S_, kprime_, rho2_, and rcomma_, which denote five vectors of real values used to initialize the parameter vectors of the system of mix number-fraction beta SDEs. The length of the vectors must be equal to the number of components given by ncomp.
    • References to bprime, S, kprime, rho2_, and rcomma, which denote the parameter vectors to be initialized based on bprime_, S_, kprime_, rho2_, and rcomma_.
  • Must define the static function type(), returning the enum value of the policy option. Example:

    static ctr::CoeffPolicyType type() noexcept {
      return ctr::CoeffPolicyType::DECAY;

    which returns the enum value of the option from the underlying option class, collecting all possible options for coefficients policies.

  • Must define the function update(), called from MixNumberFractionBeta::advance(), updating the model coefficients. Required signature:

    void update(
      char depvar,
      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,
      std::vector< kw::sde_b::info::expect::type  >& b,
      std::vector< kw::sde_kappa::info::expect::type >& k ) const {}

    where depvar is the dependent variable associated with the mix number-fraction beta SDE, specified in the control file by the user, ncomp is the number of components in the system, moments is the map associating moment IDs (tk::ctr::vector< tk::ctr::Term >) to values of statistical moments, bprime, kprime are user-defined parameters, and b, k are the SDE parameters computed, see DiffEq/MixNumberFractionBeta.h.


namespace walker
Walker declarations and definitions.


class walker::MixNumFracBetaCoeffDecay
Mix number-fraction beta SDE decay coefficients policity.