file
InitPolicy.hppInitialization policies.
Contents
- Reference
This file defines initialization policy classes. As opposed to coefficients policies, see, e.g., DiffEq/BetaCoeffPolicy.h, initialization policies are not SDE-specific – at least at this time.
General requirements on initialization policy classes:
Must define the member function init, which is used to do the initialization. Required signature:
template< class eq > static void init( const ctr::InputDeck& deck, const tk::RNG& rng, int stream, tk::Particles& particles, tk::ctr::ncomp_t e, tk::ctr::ncomp_t ncomp, tk::ctr::ncomp_t offset );
where deck is the input deck from which configuration is read, rng is a reference to a random number generator to use, stream is the thread (or stream) id, particles denotes the particle properties array to be initialized, e is the component index selecting which equation is to be initialized in the system, ncomp is the total number of equations in the system, and offset is the offset in the particle array at which initialization should be done.
Must define the static function type(), returning the enum value of the policy option. Example:
static ctr::InitPolicyType type() noexcept { return ctr::InitPolicyType::RAW; }
which returns the enum value of the option from the underlying option class, collecting all possible options for initialization policies.
Namespaces
- namespace walker
- Walker declarations and definitions.
Classes
- struct walker::InitRaw
- Raw initialization policy: leave memory uninitialized.
- struct walker::InitZero
- Zero initialization policy: zero particle properties.
- struct walker::InitDelta
- Delta initialization policy: put in delta-spikes as the joint PDF.
- struct walker::InitBeta
- Beta initialization policy: generate samples from a joint beta PDF.
- struct walker::InitGaussian
- struct walker::InitCorrGaussian
- Gaussian initialization policy: generate samples from a joint correlated Gaussian PDF.
- struct walker::InitGamma
- Gamma initialization policy: generate samples from a joint gamma PDF.
- struct walker::InitDirichlet
- Dirichlet initialization policy: generate samples from a Dirichlet PDF.