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

Inciter's input deck grammar definition.

Contents

Inciter'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 inciter
Inciter declarations and definitions.
namespace inciter::deck
Inciter input deck facilitating user input for computing shock hydrodynamics.
namespace tk
Toolkit declarations and definitions for general purpose utilities.
namespace tk::grm
Toolkit general purpose grammar definition.

Classes

template<class eq>
struct tk::grm::register_inciter_eq
Rule used to trigger action.
template<class eq>
struct tk::grm::action<register_inciter_eq<eq>>
Register differential equation after parsing its block.
template<class eq>
struct tk::grm::check_mesh
Rule used to trigger action.
template<class eq>
struct tk::grm::action<check_mesh<eq>>
Check mesh ... end block for correctness.
template<class eq>
struct tk::grm::check_transport
Rule used to trigger action.
template<class eq>
struct tk::grm::action<check_transport<eq>>
Set defaults and do error checking on the transport equation block.
template<class eq>
struct tk::grm::check_compflow
Rule used to trigger action.
template<class eq>
struct tk::grm::action<check_compflow<eq>>
Set defaults and do error checking on the compressible flow equation block.
template<class eq>
struct tk::grm::check_multimat
Rule used to trigger action.
template<class eq>
struct tk::grm::action<check_multimat<eq>>
Set defaults and do error checking on the multimaterial compressible flow equation block.
template<class Option, typename... tags>
struct tk::grm::store_inciter_option
Rule used to trigger action.
template<class Option, typename... tags>
struct tk::grm::action<store_inciter_option<Option, tags...>>
Put option in state at position given by tags.
template<typename Input, typename Stack>
struct tk::grm::ensure_disjoint
template<typename Stack>
struct tk::grm::count_meshes
template<typename Stack>
struct tk::grm::assign_meshid
struct tk::grm::configure_scheme
Rule used to trigger action.
template<>
struct tk::grm::action<configure_scheme>
template<typename Stack, typename Input>
struct tk::grm::range_errchk
Function object to do error checking on output time ranges.
struct tk::grm::check_inciter
Rule used to trigger action.
template<>
struct tk::grm::action<check_inciter>
Do error checking on the inciter block.
struct tk::grm::check_ale
Rule used to trigger action.
template<>
struct tk::grm::action<check_ale>
Do error checking on the inciter block.
template<typename Feature>
struct tk::grm::enable
Rule used to trigger action.
template<typename Feature>
struct tk::grm::action<enable<Feature>>
Enable adaptive mesh refinement (AMR)
struct tk::grm::compute_refvar_idx
Rule used to trigger action.
template<>
struct tk::grm::action<compute_refvar_idx>
struct tk::grm::check_amr_errors
Rule used to trigger action.
template<>
struct tk::grm::action<check_amr_errors>
struct tk::grm::check_pref_errors
Rule used to trigger action.
template<>
struct tk::grm::action<check_pref_errors>
Do error checking for the pref...end block.
struct tk::grm::match_pointname
Rule used to trigger action.
template<>
struct tk::grm::action<match_pointname>
Match PDF name to the registered ones.
struct tk::grm::push_depvar
Rule used to trigger action.
template<>
struct tk::grm::action<push_depvar>
struct tk::grm::push_matvar
Rule used to trigger action.
template<>
struct tk::grm::action<push_matvar>
template<typename Stack>
struct tk::grm::AddOutVarHuman
struct tk::grm::push_humanvar
Rule used to trigger action.
template<>
struct tk::grm::action<push_humanvar>
struct tk::grm::set_outvar_alias
Rule used to trigger action.
template<>
struct tk::grm::action<set_outvar_alias>
Set alias of last pushed output variable.
template<typename Stack>
struct tk::grm::OutVarBounds
Function object for error checking outvar bounds for each equation type.
struct tk::grm::check_outvar
Rule used to trigger action.
template<>
struct tk::grm::action<check_outvar>
Bounds checking for output variables at the end of a var ... end block.
struct tk::grm::set_centering
Rule used to trigger action.
template<>
struct tk::grm::action<set_centering>
Set variable centering in parser's state.
struct tk::grm::match_outvar
Rule used to trigger action.
template<>
struct tk::grm::action<match_outvar>
Match output variable based on depvar.
template<template<class> class StoreTransfer>
struct tk::grm::push_transfer
Rule used to trigger action.
template<template<class> class StoreTransfer>
struct tk::grm::action<push_transfer<StoreTransfer>>
template<typename keyword, class eq>
struct inciter::deck::scan_eq
scan and store_back equation keyword and option
template<class eq, template<class> class eqchecker>
struct inciter::deck::check_errors
Error checks after an equation...end block has been parsed.
template<template<class> class use, class keyword, class Option, class Tag>
struct inciter::deck::discroption
Match discretization option.
struct inciter::deck::discretization
Discretization parameters.
template<class keyword, class eq, class param, class... xparams>
struct inciter::deck::pde_parameter_vector
PDE parameter vector.
template<class eq, typename keyword, typename target>
struct inciter::deck::box_parameter
Match box parameter.
template<class eq, typename keyword, typename target, typename subtarget>
struct inciter::deck::box_deep_parameter
Match box parameter and store deep.
template<class eq, typename keyword, typename target>
struct inciter::deck::box_vector
Match box parameter vector.
template<class eq, typename keyword, typename target, typename subtarget>
struct inciter::deck::box_deep_vector
Match box parameter vector and store deep.
template<class eq, typename Option, typename keyword, typename target, typename subtarget>
struct inciter::deck::box_option
Match box option.
template<class eq, typename Option, typename keyword, typename target>
struct inciter::deck::material_option
Match material option.
template<class eq, typename keyword, typename target>
struct inciter::deck::material_vector
Match material parameter vector.
template<typename eq, typename keyword, typename param, class kw_type = tk::grm::number>
struct inciter::deck::parameter
put in PDE parameter for equation matching keyword
template<typename eq, typename keyword, typename p>
struct inciter::deck::parameter_bool
put in PDE bool parameter for equation matching keyword into vector< int >
template<class keyword, class eq, class param>
struct inciter::deck::bc
Boundary conditions block.
template<class target, template<class...> class insert, class tag, class... tags>
struct inciter::deck::user_fn
Match user-defined function as a discrete list of real numbers.
template<class eq>
struct inciter::deck::timedep_bc
User defined time dependent BC bc_timedep...end block.
template<class eq, class bc, class kwbc>
struct inciter::deck::bc_spec
Stagnation boundary conditions block.
template<class eq>
struct inciter::deck::sponge
Boundary conditions block.
template<class keyword, class eq, class param>
struct inciter::deck::farfield_bc
Farfield boundary conditions block.
struct inciter::deck::edgelist
edgelist ... end block
template<typename keyword, typename Tag>
struct inciter::deck::half_world
xminus configuring coordinate-based edge tagging for mesh refinement
struct inciter::deck::coords
coords ... end block
template<class eq>
struct inciter::deck::box
initial conditins box block
template<class eq>
struct inciter::deck::ic
initial conditions block for compressible flow
template<typename eq, typename keyword, typename property>
struct inciter::deck::material_property
put in material property for equation matching keyword
template<class eq>
struct inciter::deck::material_properties
Material properties block for compressible flow.
template<class eq>
struct inciter::deck::mesh
Mesh ... end block.
struct inciter::deck::transport
transport equation for scalars
struct inciter::deck::compflow
compressible flow
struct inciter::deck::multimat
compressible multi-material flow
struct inciter::deck::partitioning
partitioning ... end block
struct inciter::deck::equations
equation types
struct inciter::deck::refvars
refinement variable(s) (refvar) ... end block
struct inciter::deck::amr
adaptive mesh refinement (AMR) amr...end block
struct inciter::deck::moving_sides
Arbitrary-Lagrangian-Eulerian (ALE) move...end block.
struct inciter::deck::ale
Arbitrary-Lagrangian-Eulerian (ALE) ale...end block.
template<template<class> class action>
struct inciter::deck::coupled_solver
Match a depvar, defined upstream of control file, coupling a solver and store.
struct inciter::deck::couple
Couple ... end block (used to configure solver coupling)
struct inciter::deck::pref
p-adaptive refinement (pref) ...end block
struct inciter::deck::outvar_alias
Match output variable alias.
template<class var>
struct inciter::deck::outvar_human
Match an output variable in a human readable form: var must be a keyword.
struct inciter::deck::outvar_depvar
Match an output variable based on depvar defined upstream of input file.
struct inciter::deck::outvar_centering
Parse a centering token and if matches, set centering in parser's state.
struct inciter::deck::outvar_block
outvar ... end block
struct inciter::deck::field_output
field_output ... end block
struct inciter::deck::history_output
history_output ... end block
struct inciter::deck::inciter
'inciter' block
struct inciter::deck::keywords
All keywords.
struct inciter::deck::read_file
Grammar entry point: parse keywords and ignores until eof.