src/Control/Walker/InputDeck/Grammar.hpp file

Walker's input deck grammar definition.

Contents

Walker's input deck grammar definition. We use the Parsing Expression Grammar Template Library (PEGTL) to create the grammar and the associated parser. Word of advice: read from the bottom up.

Namespaces

namespace walker
Walker declarations and definitions.
namespace walker::deck
Walker input deck facilitating user input for integrating SDEs.
namespace tk
Toolkit declarations and definitions for general purpose utilities.
namespace tk::grm
Toolkit general purpose grammar definition.

Classes

template<class Option, typename... tags>
struct tk::grm::store_walker_option
Rule used to trigger action.
template<class Option, typename... tags>
struct tk::grm::action<store_walker_option<Option, tags...>>
Put option in state at position given by tags.
template<class eq>
struct tk::grm::register_eq
Rule used to trigger action.
template<class eq>
struct tk::grm::action<register_eq<eq>>
Register differential equation after parsing its block.
template<class eq, class vec, MsgKey key>
struct tk::grm::check_vector_exists
Rule used to trigger action.
template<class eq, class vec, MsgKey Key>
struct tk::grm::action<check_vector_exists<eq, vec, Key>>
Check the existence of a vector (required for a block)
template<class eq, class vec>
struct tk::grm::check_vector_size
Rule used to trigger action.
template<class eq, class vec>
struct tk::grm::action<check_vector_size<eq, vec>>
Do error checking of a vector (required for a block)
template<class eq, class vec>
struct tk::grm::check_mean_gradient
Rule used to trigger action.
template<class eq, class vec>
struct tk::grm::action<check_mean_gradient<eq, vec>>
Do error checking for a vector of prescribed mean gradient.
template<class eq>
struct tk::grm::check_eq
Rule used to trigger action.
template<class eq>
struct tk::grm::action<check_eq<eq>>
Do general error checking on the differential equation block.
template<class eq>
struct tk::grm::check_init
Rule used to trigger action.
template<class eq>
struct tk::grm::action<check_init<eq>>
Do error checking on the selected initialization policy.
struct tk::grm::check_velocity
Rule used to trigger action.
template<>
struct tk::grm::action<check_velocity>
Do error checking on the velocity eq block.
struct tk::grm::check_position
Rule used to trigger action.
template<>
struct tk::grm::action<check_position>
Do error checking on the position eq block and compute coupling.
struct tk::grm::check_dissipation
Rule used to trigger action.
template<>
struct tk::grm::action<check_dissipation>
Do error checking on the dissipation eq block and compute coupling.
struct tk::grm::check_mixmassfracbeta
Rule used to trigger action.
template<>
struct tk::grm::action<check_mixmassfracbeta>
Do error checking on a mass fraction eq block.
struct tk::grm::check_mixdirichlet
Rule used to trigger action.
template<>
struct tk::grm::action<check_mixdirichlet>
Error checks for the mixdirichlet sde.
template<typename eq, typename coupledeq>
struct tk::grm::check_coupling
Rule used to trigger action.
template<typename eq, typename coupledeq>
struct tk::grm::action<check_coupling<eq, coupledeq>>
Put in coupled eq depvar as '-' if no coupling is given.
struct tk::grm::velocity_defaults
Rule used to trigger action.
template<>
struct tk::grm::action<velocity_defaults>
Set defaults for the velocity model.
struct tk::grm::position_defaults
Rule used to trigger action.
template<>
struct tk::grm::action<position_defaults>
Set defaults for all Lagrangian particle position models.
struct tk::grm::dissipation_defaults
Rule used to trigger action.
template<>
struct tk::grm::action<dissipation_defaults>
Set defaults for all Lagrangian particle dissipation models.
template<typename keyword, class eq>
struct walker::deck::scan_sde
scan and store_back sde keyword and option
struct walker::deck::discretization_parameters
Discretization parameters.
struct walker::deck::rngs
rngs
template<class eq>
struct walker::deck::icdelta
scan icdelta ... end block
template<class eq>
struct walker::deck::icbeta
scan icbeta ... end block
template<class eq>
struct walker::deck::icgamma
scan icgamma ... end block
template<class eq>
struct walker::deck::icgaussian
scan icgaussian ... end block
template<class keyword, class eq, class param, template<class, class> class check_vector = tk::grm::check_vector>
struct walker::deck::sde_parameter_vector
SDE parameter vector.
template<class eq>
struct walker::deck::icjointgaussian
scan icjointgaussian ... end block
template<class eq, class... extra_checks>
struct walker::deck::check_errors
Error checks after an equation ... end block has been parsed.
template<class Option, class keyword, class eq, class param, template<class, class> class check>
struct walker::deck::sde_option_vector
SDE option vector.
struct walker::deck::diag_ou
Diagonal Ornstein-Uhlenbeck SDE.
struct walker::deck::ornstein_uhlenbeck
Ornstein-Uhlenbeck SDE.
struct walker::deck::skewnormal
Skew-normal SDE.
struct walker::deck::beta
Beta SDE.
struct walker::deck::numfracbeta
Number-fraction beta SDE.
struct walker::deck::massfracbeta
Mass-fraction beta SDE.
struct walker::deck::mixnumfracbeta
Mix number-fraction beta SDE.
struct walker::deck::mixmassfracbeta
Mix mass-fraction beta SDE.
struct walker::deck::gamma
Gamma SDE.
struct walker::deck::dirichlet
Dirichlet SDE.
struct walker::deck::mixdirichlet
MixDirichlet SDE.
struct walker::deck::gendir
Generalized Dirichlet SDE.
struct walker::deck::wright_fisher
Wright-Fisher SDE.
struct walker::deck::velocity
Velocity SDE.
struct walker::deck::position
position equation
struct walker::deck::dissipation
dissipation equation
struct walker::deck::sde
stochastic differential equations
struct walker::deck::walker
'walker' block
struct walker::deck::keywords
main keywords
struct walker::deck::read_file
entry point: parse keywords and ignores until eof