inciter::deck namespace

Inciter input deck facilitating user input for computing shock hydrodynamics.

Contents

Classes

template<typename keyword, class eq>
struct scan_eq
scan and store_back equation keyword and option
template<class eq, template<class> class eqchecker>
struct check_errors
Error checks after an equation...end block has been parsed.
template<template<class> class use, class keyword, class Option, class Tag>
struct discroption
Match discretization option.
struct discretization
Discretization parameters.
template<class keyword, class eq, class param, class... xparams>
struct pde_parameter_vector
PDE parameter vector.
template<class eq, typename keyword, typename target>
struct box_parameter
Match box parameter.
template<class eq, typename keyword, typename target, typename subtarget>
struct box_deep_parameter
Match box parameter and store deep.
template<class eq, typename keyword, typename target>
struct box_vector
Match box parameter vector.
template<class eq, typename keyword, typename target, typename subtarget>
struct box_deep_vector
Match box parameter vector and store deep.
template<class eq, typename Option, typename keyword, typename target, typename subtarget>
struct box_option
Match box option.
template<class eq, typename Option, typename keyword, typename target>
struct material_option
Match material option.
template<class eq, typename keyword, typename target>
struct material_vector
Match material parameter vector.
template<typename eq, typename keyword, typename param, class kw_type = tk::grm::number>
struct parameter
put in PDE parameter for equation matching keyword
template<typename eq, typename keyword, typename p>
struct parameter_bool
put in PDE bool parameter for equation matching keyword into vector< int >
template<class keyword, class eq, class param>
struct bc
Boundary conditions block.
template<class target, template<class...> class insert, class tag, class... tags>
struct user_fn
Match user-defined function as a discrete list of real numbers.
template<class eq>
struct timedep_bc
User defined time dependent BC bc_timedep...end block.
template<class eq, class bc, class kwbc>
struct bc_spec
Stagnation boundary conditions block.
template<class eq>
struct sponge
Boundary conditions block.
template<class keyword, class eq, class param>
struct farfield_bc
Farfield boundary conditions block.
struct edgelist
edgelist ... end block
template<typename keyword, typename Tag>
struct half_world
xminus configuring coordinate-based edge tagging for mesh refinement
struct coords
coords ... end block
template<class eq>
struct box
initial conditins box block
template<class eq>
struct ic
initial conditions block for compressible flow
template<typename eq, typename keyword, typename property>
struct material_property
put in material property for equation matching keyword
template<class eq>
struct material_properties
Material properties block for compressible flow.
template<class eq>
struct mesh
Mesh ... end block.
struct transport
transport equation for scalars
struct compflow
compressible flow
struct multimat
compressible multi-material flow
struct partitioning
partitioning ... end block
struct equations
equation types
struct refvars
refinement variable(s) (refvar) ... end block
struct amr
adaptive mesh refinement (AMR) amr...end block
struct moving_sides
Arbitrary-Lagrangian-Eulerian (ALE) move...end block.
struct ale
Arbitrary-Lagrangian-Eulerian (ALE) ale...end block.
template<template<class> class action>
struct coupled_solver
Match a depvar, defined upstream of control file, coupling a solver and store.
struct couple
Couple ... end block (used to configure solver coupling)
struct pref
p-adaptive refinement (pref) ...end block
struct outvar_alias
Match output variable alias.
template<class var>
struct outvar_human
Match an output variable in a human readable form: var must be a keyword.
struct outvar_depvar
Match an output variable based on depvar defined upstream of input file.
struct outvar_centering
Parse a centering token and if matches, set centering in parser's state.
struct outvar_block
outvar ... end block
struct field_output
field_output ... end block
struct history_output
history_output ... end block
struct inciter
'inciter' block
struct keywords
All keywords.
struct read_file
Grammar entry point: parse keywords and ignores until eof.

Typedefs

template<typename keyword>
using use = tk::grm::use<keyword, ctr::InputDeck::keywords>
Specialization of tk::grm::use for Inciter's input deck parser.

Variables

static tk::TaggedTuple<brigand::list<tag::transport, std::size_t, tag::compflow, std::size_t, tag::multimat, std::size_t>> neq
Number of registered equations.
static std::set<std::string> pointnames
Parser-lifetime storage for point names.
static tk::Centering centering
Parser-lifetime storage of elem or node centering.
static std::map<char, tk::MultiMatIdxFn, tk::ctr::CaseInsensitiveCharLess> multimatvars

Variable documentation

static tk::TaggedTuple<brigand::list<tag::transport, std::size_t, tag::compflow, std::size_t, tag::multimat, std::size_t>> inciter::deck::neq

Number of registered equations.

Counts the number of parsed equation blocks during parsing.

static std::set<std::string> inciter::deck::pointnames

Parser-lifetime storage for point names.

Used to track the point names registered so that parsing new ones can be required to be unique.

static std::map<char, tk::MultiMatIdxFn, tk::ctr::CaseInsensitiveCharLess> inciter::deck::multimatvars

Accepted multimat output variable labels and associated index functions

The keys are a list of characters accepted as labels for denoting (matvar-style) output variables used for multi-material variable output. We use a case- insesitive comparitor, since when this set is used we only care about whether the variable is selected or not and not whether it denotes a full variable (upper case) or a fluctuation (lower case). This is true when matching these labels for output variables with instantaenous variables as well terms of products in parsing requested statistics (for turbulence). The values are associated indexing functions used to index into the state of the multimaterial system, all must follow the same signature.