namespace
grmToolkit general purpose grammar definition.
Classes
-
template<template<class> class use>struct is_keyword
-
template<typename Rule>struct action
-
template<typename... As>struct call
- Helper for calling action::apply for multiple actions.
-
template<class rule, class... actions>struct act
- Rule used to trigger action(s) for a rule.
-
template<class rule, class... actions>struct action<act<rule, actions...>>
- struct msg
- Rule used to trigger action.
- struct action<msg<type, key>>
-
template<typename tag, typename... tags>struct Set
- Rule used to trigger action.
-
template<typename tag, typename... tags>struct action<Set<tag, tags...>>
-
template<typename tag, typename... tags>struct Store
- Rule used to trigger action.
-
template<typename tag, typename... tags>struct action<Store<tag, tags...>>
-
template<typename tag, typename... tags>struct Store_back
- Rule used to trigger action.
-
template<typename tag, typename... tags>struct action<Store_back<tag, tags...>>
-
template<typename tag, typename... tags>struct Store_back_bool
- Rule used to trigger action.
-
template<typename tag, typename... tags>struct action<Store_back_bool<tag, tags...>>
- Convert and push back a bool to vector of ints in state at position given by tags.
-
template<typename tag, typename... tags>struct Store_back_back
- Rule used to trigger action.
-
template<typename tag, typename... tags>struct action<Store_back_back<tag, tags...>>
- Convert and push back value to vector of back of vector in state at position given by tags.
-
template<typename tag, typename... tags>struct Store_back_back_back
- Rule used to trigger action.
-
template<typename tag, typename... tags>struct action<Store_back_back_back<tag, tags...>>
- Convert and push back value to vector of back of vector of back of vector in state at position given by tags.
-
template<typename target, typename tag, typename... tags>struct Back_back_store
- Rule used to trigger action.
-
template<typename target, typename tag, typename... tags>struct action<Back_back_store<target, tag, tags...>>
- Convert and store value to vector of vector in state at position given by tags and target.
-
template<typename target, typename subtarget, typename tag, typename... tags>struct Back_back_deep_store
- Rule used to trigger action.
-
template<typename target, typename subtarget, typename tag, typename... tags>struct action<Back_back_deep_store<target, subtarget, tag, tags...>>
- Convert and store value to vector of vector in state at position given by tags and target.
-
template<typename target, typename tag, typename... tags>struct Back_back_store_back
- Rule used to trigger action.
-
template<typename target, typename tag, typename... tags>struct action<Back_back_store_back<target, tag, tags...>>
- Convert and store value to vector of vector in state at position given by tags and target.
-
template<typename target, typename tag, typename... tags>struct Back_store_back
- Rule used to trigger action.
-
template<typename target, typename tag, typename... tags>struct action<Back_store_back<target, tag, tags...>>
- Convert and store value to vector in state at position given by tags and target.
-
template<typename target, typename subtarget, typename tag, typename... tags>struct Back_back_deep_store_back
- Rule used to trigger action.
-
template<typename target, typename subtarget, typename tag, typename... tags>struct action<Back_back_deep_store_back<target, subtarget, tag, tags...>>
- Convert and store value to vector of vector in state at position given by tags and target.
-
template<typename... tags>struct Invert_switch
- Rule used to trigger action.
-
template<typename... tags>struct action<Invert_switch<tags...>>
-
template<template<class> class use, class Option, typename tag, typename... tags>struct store_back_option
- Rule used to trigger action.
-
template<template<class> class use, class Option, typename tag, typename... tags>struct action<store_back_option<use, Option, tag, tags...>>
-
template<template<class> class use, class Option, typename tag, typename... tags>struct store_back_back_option
- Rule used to trigger action.
-
template<template<class> class use, class Option, typename tag, typename... tags>struct action<store_back_back_option<use, Option, tag, tags...>>
- Push back option to vector of back of vector in state at position given by tags.
-
template<typename target, template<class> class use, class Option, typename tag, typename... tags>struct back_back_store_option
- Rule used to trigger action.
-
template<typename target, template<class> class use, class Option, typename tag, typename... tags>struct action<back_back_store_option<target, use, Option, tag, tags...>>
- Push back option to vector of back of vector in state at position given by tags.
-
template<typename target, template<class> class use, class Option, typename tag, typename... tags>struct back_store_option
- Rule used to trigger action.
-
template<typename target, template<class> class use, class Option, typename tag, typename... tags>struct action<back_store_option<target, use, Option, tag, tags...>>
- Push back option to back of vector in state at position given by tags.
-
template<typename target, typename subtarget, template<class> class use, class Option, typename tag, typename... tags>struct back_back_deep_store_option
- Rule used to trigger action.
-
template<typename target, typename subtarget, template<class> class use, class Option, typename tag, typename... tags>struct action<back_back_deep_store_option<target, subtarget, use, Option, tag, tags...>>
- Push back option to vector of back of vector in state at position given by tags.
-
template<typename sel, typename vec, typename Tag, typename... Tags>struct insert_seed
- Rule used to trigger action.
-
template<typename sel, typename vec, typename Tag, typename... Tags>struct action<insert_seed<sel, vec, Tag, Tags...>>
- Convert and insert value to map at position given by tags.
-
template<template<class> class use, class Option, typename field, typename sel, typename vec, typename tag, typename... tags>struct insert_option
- Rule used to trigger action.
-
template<template<class> class use, class Option, typename field, typename sel, typename vec, typename tag, typename... tags>struct action<insert_option<use, Option, field, sel, vec, tag, tags...>>
- Convert and insert option value to map at position given by tags.
-
template<typename prec>struct store_precision
- Rule used to trigger action.
-
template<class prec>struct action<store_precision<prec>>
- Set numeric precision for ASCII output of floating-point values.
- struct helpkw
- Rule used to trigger action.
-
template<>struct action<helpkw>
- Find keyword among all keywords and if found, store the keyword and its info on which help was requested behind tag::
helpkw in Stack. -
template<typename push>struct match_depvar
- Rule used to trigger action.
-
template<class push>struct action<match_depvar<push>>
- Match depvar (dependent variable) to one of the selected ones.
- struct match_pdfname
- Rule used to trigger action.
-
template<>struct action<match_pdfname>
- Match PDF name to the registered ones.
-
template<template<class> class use, class Option, typename sel, typename vec, typename... tags>struct check_store_option
- Rule used to trigger action.
-
template<template<class> class use, class Option, typename sel, typename vec, typename... tags>struct action<check_store_option<use, Option, sel, vec, tags...>>
- Put option in state at position given by tags if among the selected.
- struct add_depvar
- Rule used to trigger action.
-
template<>struct action<add_depvar>
- Add depvar (dependent variable) to the selected ones.
-
template<class keyword, typename tag, typename... tags>struct check_lower_bound
- Rule used to trigger action.
-
template<class keyword, typename tag, typename... tags>struct action<check_lower_bound<keyword, tag, tags...>>
- Check if value is larger than lower bound.
-
template<class keyword, typename tag, typename... tags>struct check_upper_bound
- Rule used to trigger action.
-
template<class keyword, typename tag, typename... tags>struct action<check_upper_bound<keyword, tag, tags...>>
- Check if value is lower than upper bound.
-
template<typename tag, typename... tags>struct start_vector
- Rule used to trigger action.
-
template<class tag, class... tags>struct action<start_vector<tag, tags...>>
- Start new vector in vector.
-
template<typename tag, typename... tags>struct start_vector_back
- Rule used to trigger action.
-
template<class tag, class... tags>struct action<start_vector_back<tag, tags...>>
- Start new vector in back of a vector.
-
template<typename tag, typename... tags>struct start_vector_back_back
- Rule used to trigger action.
-
template<class tag, class... tags>struct action<start_vector_back_back<tag, tags...>>
- Start new vector in back of a vector.
-
template<typename tk::struct push_term
ctr:: Moment, char var = '\0'> - Rule used to trigger action.
-
template<tk::struct action<push_term<m, var>>
ctr:: Moment m, char var> - Add matched value as Term into vector of vector of statistics.
-
template<tk::struct push_sample
ctr:: Moment m> - Rule used to trigger action.
-
template<tk::struct action<push_sample<m>>
ctr:: Moment m> - Add matched value as Term into vector of vector of PDFs.
- struct push_binsize
- Rule used to trigger action.
-
template<>struct action<push_binsize>
- Push matched value into vector of vector binsizes.
- struct push_extents
- Rule used to trigger action.
-
template<>struct action<push_extents>
- Push matched value into vector of PDF extents.
-
template<class eq, class param, class... xparam>struct check_vector
- Rule used to trigger action.
-
template<class eq, class param, class... xparam>struct action<check_vector<eq, param, xparam...>>
- Check parameter vector.
- struct noop
- Rule used to trigger action.
-
template<>struct action<noop>
- Action that does nothing.
-
template<class eq, class param, class... xparam>struct check_spikes
- Rule used to trigger action.
-
template<class eq, class param, class... xparam>struct action<check_spikes<eq, param, xparam...>>
-
template<class eq, class param, class... xparam>struct check_betapdfs
- Rule used to trigger action.
-
template<class eq, class param, class... xparam>struct action<check_betapdfs<eq, param, xparam...>>
-
template<class eq, class param, class... xparam>struct check_gammapdfs
- Rule used to trigger action.
-
template<class eq, class param, class... xparam>struct action<check_gammapdfs<eq, param, xparam...>>
-
template<class eq, class param, class... xparam>struct check_dirichletpdf
- Rule used to trigger action.
-
template<class eq, class param, class... xparam>struct action<check_dirichletpdf<eq, param, xparam...>>
-
template<class eq, class param, class... xparam>struct check_gaussians
- Rule used to trigger action.
-
template<class eq, class param, class... xparam>struct action<check_gaussians<eq, param, xparam...>>
- struct check_expectation
- Rule used to trigger action.
-
template<>struct action<check_expectation>
- Check if there is at least one variable in expectation.
- struct check_binsizes
- Rule used to trigger action.
-
template<>struct action<check_binsizes>
- Check if the number of binsizes equal the PDF sample space variables.
- struct check_extents
- Rule used to trigger action.
-
template<>struct action<check_extents>
- Check if the number of extents equal 2 * the PDF sample space variables.
- struct check_samples
- Rule used to trigger action.
-
template<>struct action<check_samples>
- Check if there is at least one sample space variable in PDF.
- struct save_field
- Rule used to trigger action.
-
template<>struct action<save_field>
- Save field ID to parser's state so push_
term can pick it up. -
template<typename Tag, typename... Tags>struct store_lua
- Rule used to trigger action.
-
template<typename Tag, typename... Tags>struct action<store_lua<Tag, Tags...>>
- Append character parsed in a lua ... end block to a string.
-
template<class token, class erased>struct trim
- Read 'token' until 'erased' trimming, i.e., not consuming, 'erased'.
- struct unknown
- Match unknown keyword and handle error.
-
template<class keyword>struct alias
-
template<class keyword>struct verbose
-
template<class token>struct readkw
- Read keyword 'token' padded by blank at left and space at right.
-
template<class keyword, typename = void>struct readcmd
-
template<class keyword>struct readcmd<keyword, typename if_<false, typename keyword::info::alias>::type>
-
template<class keyword, class... actions>struct scan
- Scan input padded by blank at left and space at right and if it matches 'keyword', apply 'actions'.
-
template<class keywords, class action, class end = pegtl::space>struct scan_until
- Scan input padded by blank at left and space at right and if it matches 'keywords', apply 'action'.
-
template<class keyword, class... actions>struct exact_scan
- Scan input padded by blank at left and space at right and if it exactly matches 'keyword', apply 'actions'.
- struct comment
- Parse comment: start with '#' until eol.
- struct ignore
- Ignore comments and empty lines.
- struct number
- Parse a number: an optional sign followed by digits.
-
template<class endkeyword, typename... tokens>struct block
- Plow through 'tokens' until 'endkeyword'.
-
template<class key, class insert, class endkeyword, class starter = noop, class value = pegtl::digit>struct dimensions
- Read in list of dimensions between keywords 'key' and 'endkeyword', calling 'insert' for each if matches and allow comments between values.
- struct vector
-
template<class insert, char lbound = '"', char rbound = '"'>struct quoted
- Scan string between characters 'lbound' and 'rbound' and if matches apply action 'insert'.
-
template<template<class> class use, class tag, class... tags>struct filename
- Read and store a filename between quotes.
-
template<class keyword, class insert, class kw_type = pegtl::digit>struct process
- Process 'keyword' and if matches, parse following token (expecting 'kw_type' and call 'insert' action on it.
-
template<class keyword, class... actions>struct process_alpha
- Process 'keyword' and if matches, parse following token (expecting pegtl::alpha and call zero or more actions on it.
-
template<template<class> class use, class keyword, class insert, class kw_type, class tag, class... tags>struct process_cmd
- Process command line 'keyword' and call its 'insert' action if matches 'kw_type'.
-
template<template<class> class use, class keyword, typename tag, typename... tags>struct process_cmd_switch
-
template<typename keywords, typename... ign>struct read_file
- Generic file parser entry point: parse 'keywords' and 'ignore' until end of file.
- struct charmarg
- Process but ignore Charm++'s charmrun arguments starting with '+'.
-
template<typename keywords>struct read_string
- Generic string parser entry point: parse 'keywords' until end of string.
-
template<template<class> class use, typename keyword, typename option, typename field, typename sel, typename vec, typename... tags>struct rng_option
-
template<typename var>struct fieldvar
- Match fieldvar: a character, denoting a variable, optionally followed by a digit.
- struct term
- Match term: upper or lowercase fieldvar matched to selected depvars for stats.
-
template<class c, tk::struct sample_space_var
ctr:: Moment m> - sample space variable: fieldvar matched to selected depvars
- struct samples
- Match samples: sample space variables optionally separated by fillers.
- struct bins
- Match bin(sizes): real numbers as many sample space dimensions were given.
- struct parse_expectations
- Plow through expectations between characters '<' and '>'.
- struct sample_space
- Match list of sample space variables with error checking.
- struct extents
- Match extents: optional user-specified extents of PDF sample space.
- struct bins_exts
- Match binsizes followed by optional extents with error checking.
- struct parse_pdf
- Match pdf description: name + sample space specification.
-
template<template<class> class use, class prec>struct precision
- Match precision of floating-point numbers in digits (for text output)
-
template<typename keyword, class kw_type, template<class...> class store, typename... tags>struct control
- Match control parameter, enforce bounds if defined.
-
template<template<class> class use, typename keyword, typename Tag>struct discrparam
- Match discretization control parameter.
-
template<typename keyword, typename Tag>struct component
- Match component control parameter.
-
template<typename keyword, typename Tag, typename... Tags>struct interval_iter
- Match output interval control parameter in units of iteration count.
-
template<typename keyword, typename Tag, typename... Tags>struct interval_time
- Match output interval control parameter in units of physics time.
-
template<template<class> class use, class keyword, class tag, class... tags>struct time_range
- Match output range control configuration as a list of min, max, and dt.
-
template<template<class> class use, template<class... Ts> class store>struct statistics
- Parse statistics ... end block.
-
template<template<class> class use, template<class... Ts> class store>struct diagnostics
- Parse diagnostics ... end block.
-
template<template<class> class use, typename Tag, typename... Tags>struct lua
- Parse lua ... end block and store it behind Tag, Tags..., tag::
lua. -
template<typename keyword, typename kw_type, typename model, typename Tag>struct parameter
- Match model parameter.
-
template<template<class> class use, typename keyword, typename option, typename model, typename... tags>struct rng
- Match rng parameter.
-
template<template<class> class use, class rngs>struct rngblock
- Match rngs ... end block.
-
template<template<class> class use, typename keyword, template<class, class...> class store, template<class, class...> class start, template<class, class, class...> class check, typename eq, typename param, typename... xparams>struct parameter_vector
-
template<template<class> class use, typename keyword, class option, template<class, class...> class store, template<class, class...> class start, template<class, class> class check, typename eq, typename param>struct option_vector
-
template<template<class> class use, typename model, typename Tag>struct depvar
- Match model parameter dependent variable.
-
template<template<class> class use>struct title
- Match and set keyword 'title'.
-
template<template<class> class use, typename keyword, typename option, typename p, typename... tags>struct policy
- Match and set policy parameter.
-
template<class keyword, class store>struct pdf_option
- Match and set a PDF option.
-
template<template<class> class use, template<class... Ts> class store>struct pdfs
- Match pdfs ... end block.
-
template<typename keyword, typename pool>struct use
- Ensure that a grammar only uses keywords from a pool of pre-defined keywords.
-
template<class eq>struct register_inciter_eq
- Rule used to trigger action.
-
template<class eq>struct action<register_inciter_eq<eq>>
- Register differential equation after parsing its block.
-
template<class eq>struct check_mesh
- Rule used to trigger action.
-
template<class eq>struct action<check_mesh<eq>>
- Check mesh ... end block for correctness.
-
template<class eq>struct check_transport
- Rule used to trigger action.
-
template<class eq>struct action<check_transport<eq>>
- Set defaults and do error checking on the transport equation block.
-
template<class eq>struct check_compflow
- Rule used to trigger action.
-
template<class eq>struct action<check_compflow<eq>>
- Set defaults and do error checking on the compressible flow equation block.
-
template<class eq>struct check_multimat
- Rule used to trigger action.
-
template<class eq>struct action<check_multimat<eq>>
- Set defaults and do error checking on the multimaterial compressible flow equation block.
-
template<class Option, typename... tags>struct store_inciter_option
- Rule used to trigger action.
-
template<class Option, typename... tags>struct action<store_inciter_option<Option, tags...>>
- Put option in state at position given by tags.
-
template<typename Input, typename Stack>struct ensure_disjoint
-
template<typename Stack>struct count_meshes
-
template<typename Stack>struct assign_meshid
- struct configure_scheme
- Rule used to trigger action.
-
template<>struct action<configure_scheme>
-
template<typename Stack, typename Input>struct range_errchk
- Function object to do error checking on output time ranges.
- struct check_inciter
- Rule used to trigger action.
-
template<>struct action<check_inciter>
- Do error checking on the inciter block.
- struct check_ale
- Rule used to trigger action.
-
template<>struct action<check_ale>
- Do error checking on the inciter block.
-
template<typename Feature>struct enable
- Rule used to trigger action.
-
template<typename Feature>struct action<enable<Feature>>
- Enable adaptive mesh refinement (AMR)
- struct compute_refvar_idx
- Rule used to trigger action.
-
template<>struct action<compute_refvar_idx>
- struct check_amr_errors
- Rule used to trigger action.
-
template<>struct action<check_amr_errors>
- struct check_pref_errors
- Rule used to trigger action.
-
template<>struct action<check_pref_errors>
- Do error checking for the pref...end block.
- struct match_pointname
- Rule used to trigger action.
-
template<>struct action<match_pointname>
- Match PDF name to the registered ones.
- struct push_depvar
- Rule used to trigger action.
-
template<>struct action<push_depvar>
- struct push_matvar
- Rule used to trigger action.
-
template<>struct action<push_matvar>
-
template<typename Stack>struct AddOutVarHuman
- struct push_humanvar
- Rule used to trigger action.
-
template<>struct action<push_humanvar>
- struct set_outvar_alias
- Rule used to trigger action.
-
template<>struct action<set_outvar_alias>
- Set alias of last pushed output variable.
-
template<typename Stack>struct OutVarBounds
- Function object for error checking outvar bounds for each equation type.
- struct check_outvar
- Rule used to trigger action.
-
template<>struct action<check_outvar>
- Bounds checking for output variables at the end of a var ... end block.
- struct set_centering
- Rule used to trigger action.
-
template<>struct action<set_centering>
- Set variable centering in parser's state.
- struct match_outvar
- Rule used to trigger action.
-
template<>struct action<match_outvar>
- Match output variable based on depvar.
-
template<template<class> class StoreTransfer>struct push_transfer
- Rule used to trigger action.
-
template<template<class> class StoreTransfer>struct action<push_transfer<StoreTransfer>>
-
template<template<class> class use, class Option, typename field, typename sel, typename vec, typename tag, typename... tags>struct insert_seq
- Rule used to trigger action.
-
template<template<class> class use, class Option, typename field, typename sel, typename vec, typename tag, typename... tags>struct action<insert_seq<use, Option, field, sel, vec, tag, tags...>>
- Convert and insert RNGSSE sequence option value to map at position given by tags.
-
template<class Option, typename... tags>struct store_rngtest_option
- Rule used to trigger action.
-
template<class Option, typename... tags>struct action<store_rngtest_option<Option, tags...>>
- Put option in state at position given by tags.
-
template<class Option, typename... tags>struct store_walker_option
- Rule used to trigger action.
-
template<class Option, typename... tags>struct action<store_walker_option<Option, tags...>>
- Put option in state at position given by tags.
-
template<class eq>struct register_eq
- Rule used to trigger action.
-
template<class eq>struct action<register_eq<eq>>
- Register differential equation after parsing its block.
-
template<class eq, class vec, MsgKey key>struct check_vector_exists
- Rule used to trigger action.
-
template<class eq, class vec, MsgKey Key>struct action<check_vector_exists<eq, vec, Key>>
- Check the existence of a vector (required for a block)
-
template<class eq, class vec>struct check_vector_size
- Rule used to trigger action.
-
template<class eq, class vec>struct action<check_vector_size<eq, vec>>
- Do error checking of a vector (required for a block)
-
template<class eq, class vec>struct check_mean_gradient
- Rule used to trigger action.
-
template<class eq, class vec>struct action<check_mean_gradient<eq, vec>>
- Do error checking for a vector of prescribed mean gradient.
-
template<class eq, class vec>struct check_gravity
- Rule used to trigger action.
-
template<class eq, class vec>struct action<check_gravity<eq, vec>>
- Do error checking for a vector of prescribed mean gradient.
-
template<class eq>struct check_eq
- Rule used to trigger action.
-
template<class eq>struct action<check_eq<eq>>
- Do general error checking on the differential equation block.
-
template<class eq>struct check_init
- Rule used to trigger action.
-
template<class eq>struct action<check_init<eq>>
- Do error checking on the selected initialization policy.
- struct check_velocity
- Rule used to trigger action.
-
template<>struct action<check_velocity>
- Do error checking on the velocity eq block.
- struct check_position
- Rule used to trigger action.
-
template<>struct action<check_position>
- Do error checking on the position eq block and compute coupling.
- struct check_dissipation
- Rule used to trigger action.
-
template<>struct action<check_dissipation>
- Do error checking on the dissipation eq block and compute coupling.
- struct check_mixmassfracbeta
- Rule used to trigger action.
-
template<>struct action<check_mixmassfracbeta>
- Do error checking on a mass fraction eq block.
- struct check_mixdirichlet
- Rule used to trigger action.
-
template<>struct action<check_mixdirichlet>
- Error checks for the mixdirichlet sde.
-
template<typename eq, typename coupledeq>struct check_coupling
- Rule used to trigger action.
-
template<typename eq, typename coupledeq>struct action<check_coupling<eq, coupledeq>>
- Put in coupled eq depvar as '-' if no coupling is given.
- struct velocity_defaults
- Rule used to trigger action.
-
template<>struct action<velocity_defaults>
- Set defaults for the velocity model.
- struct position_defaults
- Rule used to trigger action.
-
template<>struct action<position_defaults>
- Set defaults for all Lagrangian particle position models.
- struct dissipation_defaults
- Rule used to trigger action.
-
template<>struct action<dissipation_defaults>
- Set defaults for all Lagrangian particle dissipation models.
Enums
- enum MsgType { ERROR =0, WARNING }
- C-style enum indicating warning or error (used as template argument)
- enum class MsgKey: uint8_t { KEYWORD, MOMENT, QUOTED, LIST, ALIAS, MISSING, PREMATURE, UNSUPPORTED, NOOPTION, NOINIT, NOPROBLEM, NOCOEFF, NOTSELECTED, EXISTS, NODEPVAR, DEPVAR_AS_MESHREF, LOC_NOMESHREF, ORI_NOMESHREF, MULTIMESH, NOSOLVE, NOSUCHDEPVAR, NOSUCHCOMPONENT, NOSUCHOUTVAR, NOSUCHMULTIMATVAR, POSITIVECOMPONENT, NOTALPHA, NOTERMS, ODDSPIKES, HEIGHTSPIKES, NODELTA, NOBETA, NOGAMMA, NOMEAN, NOCOV, NOMKLRNG, WRONGBETAPDF, WRONGGAMMAPDF, WRONGGAUSSIAN, WRONGDIRICHLET, NEGATIVEPARAM, NONCOMP, LARGECOMP, BADRANGE, NONMAT, NUMMAT, REPMATID, ONEMATID, GAPMATID, EOSGAMMA, EOSCV, EOSPSTIFF, NORNG, NODT, MULDT, NOSAMPLES, INVALIDSAMPLESPACE, MALFORMEDSAMPLE, INVALIDBINSIZE, INVALIDEXTENT, EXTENTLOWER, NOBINS, ZEROBINSIZE, MAXSAMPLES, MAXBINSIZES, MAXEXTENTS, BINSIZES, PDF, PDFEXISTS, POINTEXISTS, BADPRECISION, BOUNDS, PRECISIONBOUNDS, UNFINISHED, VORTICAL_UNFINISHED, ENERGY_UNFINISHED, RT_UNFINISHED, BC_EMPTY, SYSFCTVAR, BGICMISSING, BGMATIDMISSING, BOXMATIDMISSING, BOXMATIDWRONG, STAGBCWRONG, SKIPBCWRONG, SPONGEBCWRONG, NONDISJOINTBC, WRONGSIZE, WRONGMESHMOTION, STEADYALE, INCOMPLETEUSERFN, HYDROTIMESCALES, HYDROPRODUCTIONS, POSITION_DEPVAR, VELOCITY_DEPVAR, DISSIPATION_DEPVAR, MIXMASSFRACBETA_DEPVAR, POSITION_MISSING, VELOCITY_MISSING, DISSIPATION_MISSING, MIXDIR_RHO, T0REFODD, T0REFNOOP, DTREFNOOP, PREFTOL, CHARMARG, OPTIONAL }
- Parser error types.
Functions
-
template<class Stack, MsgType type, MsgKey key, class Input>static void Message(Stack& stack, const Input& in)
-
template<class Stack, template<class> class use, class Option, class DefaultStack, class Input, class... tags>static void store_option(Stack& stack, const Input& in, const DefaultStack& defaults)
- Put option (i.e., a tk::
Toggle) in grammar state (or stack) at a position given by tags. -
template<typename eq, typename coupledeq, typename id, MsgKey depvar_msg, typename Input, typename Stack>static void couple(const Input& in, Stack& stack, MsgKey missing)
-
template<typename eq, typename coupledeq, typename Stack>static auto coupled(const Stack& stack) -> bool
-
template<typename eq, typename coupledeq, typename id, typename Stack>static auto ncomp_coupled(const Stack& stack) -> std::size_t
Variables
- Print g_print
- static ncomp_
t field - Out-of-struct storage of field ID for pushing terms for statistics.
- static std::set<char, tk::
ctr:: CaseInsensitiveCharLess> depvars - Parser-lifetime storage for dependent variables selected.
- static std::set<std::string> pdfnames
- Parser-lifetime storage for PDF names.
- static const std::map<MsgKey, std::string> message
- Associate parser errors to error messages.
Enum documentation
enum class tk:: grm:: MsgKey: uint8_t
Parser error types.
Enumerators | |
---|---|
KEYWORD |
Unknown keyword. |
MOMENT |
Unknown Term in a Moment. |
QUOTED |
String must be double-quoted. |
LIST |
Unknown value in list. |
ALIAS |
Alias keyword too long. |
MISSING |
Required field missing. |
PREMATURE |
Premature end of line. |
UNSUPPORTED |
Option not supported. |
NOOPTION |
Option does not exist. |
NOINIT |
No (or too many) initialization policy selected. |
NOPROBLEM |
No test problem type selected. |
NOCOEFF |
No coefficients policy selected. |
NOTSELECTED |
Option not selected upstream. |
EXISTS |
Variable already used. |
NODEPVAR |
Dependent variable has not been specified. |
DEPVAR_AS_MESHREF |
Depvar upstream of meshref has not been specified. |
LOC_NOMESHREF |
Mesh location without reference mesh. |
ORI_NOMESHREF |
Mesh orientation without reference mesh. |
MULTIMESH |
If meshes are assigned, all solvers must have one. |
NOSOLVE |
Dependent variable to solve for has not been spec'd. |
NOSUCHDEPVAR |
Dependent variable has not been previously selected. |
NOSUCHCOMPONENT |
No such scalar component. |
NOSUCHOUTVAR |
Output variable label not acceptable. |
NOSUCHMULTIMATVAR |
Variable not acceptable for multi-material output. |
POSITIVECOMPONENT |
Scalar component must be positive. |
NOTALPHA |
Variable must be alphanumeric. |
NOTERMS |
Statistic need a variable. |
ODDSPIKES |
Incomplete spikes block. |
HEIGHTSPIKES |
Height-sum of spikes does not add up to unity. |
NODELTA |
No icdelta...end block when initpolicy = jointdelta. |
NOBETA |
No icbeta...end block when initpolicy = jointbeta. |
NOGAMMA |
No icgamma...end block when initpolicy = jointgamma. |
NOMEAN |
No mean when initpolicy = jointcorrgaussian. |
NOCOV |
No cov when initpolicy = jointcorrgaussian. |
NOMKLRNG |
No MKL RNG configured. |
WRONGBETAPDF |
Wrong number of parameters for a beta pdf. |
WRONGGAMMAPDF |
Wrong number of parameters for a gamma pdf. |
WRONGGAUSSIAN |
Wrong number of parameters for a Gaussian PDF. |
WRONGDIRICHLET |
Wrong number of parameters for a Dirichlet PDF. |
NEGATIVEPARAM |
Negative parameter given configuring a PDF. |
NONCOMP |
No number of components selected. |
LARGECOMP |
Component index indexing out of max eq sys ncomp. |
BADRANGE |
Incorrect time range configuration. |
NONMAT |
No number of materials selected. |
NUMMAT |
Incorrect number of materials selected. |
REPMATID |
Repeating material id. |
ONEMATID |
Material id not one-based. |
GAPMATID |
Material id not contiguous. |
EOSGAMMA |
Wrong number of EOS gamma parameters. |
EOSCV |
Wrong number of EOS cv parameters. |
EOSPSTIFF |
Wrong number of EOS pstiff parameters. |
NORNG |
No RNG selected. |
NODT |
No time-step-size policy selected. |
MULDT |
Multiple time-step-size policies selected. |
NOSAMPLES |
PDF need a variable. |
INVALIDSAMPLESPACE |
PDF sample space specification incorrect. |
MALFORMEDSAMPLE |
PDF sample space variable specification incorrect. |
INVALIDBINSIZE |
PDF sample space bin size specification incorrect. |
INVALIDEXTENT |
PDF sample space extent specification incorrect. |
EXTENTLOWER |
PDF sample space extents in non-increasing order. |
NOBINS |
PDF sample space bin size required. |
ZEROBINSIZE |
PDF sample space bin size incorrect. |
MAXSAMPLES |
PDF sample space dimension too large. |
MAXBINSIZES |
PDF sample space bin sizes too many. |
MAXEXTENTS |
PDF sample space extent-pairs too many. |
BINSIZES |
PDF sample space vars unequal to number of bins. |
PDF specification syntax error. |
|
PDFEXISTS |
PDF identifier already defined. |
POINTEXISTS |
Point identifier already defined. |
BADPRECISION |
Floating point precision specification incorrect. |
BOUNDS |
Specified value out of bounds. |
PRECISIONBOUNDS |
Floating point precision spec out of bounds. |
UNFINISHED |
Unfinished block. |
VORTICAL_UNFINISHED |
Vortical flow problem configuration unfinished. |
ENERGY_UNFINISHED |
Nonlinear energy growth problem config unfinished. |
RT_UNFINISHED |
Reyleigh-Taylor unstable configuration unfinished. |
BC_EMPTY |
Empty boundary condition block. |
SYSFCTVAR |
System-FCT variable index incorrect. |
BGICMISSING |
Background IC unspecified. |
BGMATIDMISSING |
Background material id unspecified. |
BOXMATIDMISSING |
Box material id unspecified. |
BOXMATIDWRONG |
Box material id incorrect. |
STAGBCWRONG |
Stagnation BC incorrectly configured. |
SKIPBCWRONG |
Skip BC incorrectly configured. |
SPONGEBCWRONG |
Sponge BC incorrectly configured. |
NONDISJOINTBC |
Different BC types assigned to the same side set. |
WRONGSIZE |
Size of parameter vector incorrect. |
WRONGMESHMOTION |
Error in mesh motion dimensions. |
STEADYALE |
ALE + steady state not supported. |
INCOMPLETEUSERFN |
Incomplete user-defined function. |
HYDROTIMESCALES |
Missing required hydrotimescales vector. |
HYDROPRODUCTIONS |
Missing required hydroproductions vector. |
POSITION_DEPVAR |
Missing required position model dependent variable. |
VELOCITY_DEPVAR |
Missing required velocity model dependent variable. |
DISSIPATION_DEPVAR |
Missing required dissipation model dependent var. |
MIXMASSFRACBETA_DEPVAR |
Missing required mass fraction model dependent var. |
POSITION_MISSING |
Missing required position model. |
VELOCITY_MISSING |
Missing required velocity model. |
DISSIPATION_MISSING |
Missing required dissipation model. |
MIXDIR_RHO |
MixDirichlet parameter vector rho inconsistent. |
T0REFODD |
AMR initref vector size is odd (must be even) |
T0REFNOOP |
AMR t<0 refinement will be no-op. |
DTREFNOOP |
AMR t>0 refinement will be no-op. |
PREFTOL |
p-refinement tolerance out of bounds |
CHARMARG |
Argument inteded for the Charm++ runtime system. |
OPTIONAL |
Function documentation
template<class Stack, MsgType type, MsgKey key, class Input>
static void tk:: grm:: Message(Stack& stack,
const Input& in)
Parameters | |
---|---|
stack in/out | Grammar stack (a tagged tuple) to operate on |
in in | Last parsed PEGTL input token (can be empty, depending on what context this function gets called. |
Parser error and warning message handler.
This function is used to associated and dispatch an error or a warning during parsing. After finding the error message corresponding to a key, it pushes back the message to a std::vector of std::string, which then will be diagnosed later by tk::
template<class Stack, template<class> class use, class Option, class DefaultStack, class Input, class... tags>
static void tk:: grm:: store_option(Stack& stack,
const Input& in,
const DefaultStack& defaults)
Put option (i.e., a tk::
Parameters | |
---|---|
stack in/out | Grammar stack (a tagged tuple) to operate on |
in in | Last parsed PEGTL input token |
defaults in | Reference to a copy of the full grammar stack at the initial state, i.e., containing the defaults for all of its fields. This is used to detect if the user wants to overwrite an option value that has already been set differently from the default |
This function is used to store an option (an object deriving from tk::
template<typename eq, typename coupledeq, typename id, MsgKey depvar_msg, typename Input, typename Stack>
static void tk:: grm:: couple(const Input& in,
Stack& stack,
MsgKey missing)
Template parameters | |
---|---|
eq | Tag of equation to be coupled |
coupledeq | Tag of equation coupled to eq |
id | Tag to vector to hold (relative) system ids of DiffEqs coupled to eq among other DiffEqs of type coupledeq |
depvar_msg | Error message key to use on missing coupled depvar |
Input | |
Stack | |
Parameters | |
in in | Parser input |
stack in/out | Grammar stack to work with |
missing in | Error message key to use on missing coupled equation if the coupling is required. Pass MsgKey:: |
Setup coupling between two equations This function computes and assigns the relative system id of a an equation coupled to another equation. The two equations being coupled are given by the two template arguments 'eq' and 'coupledeq'. The goal is to compute the id of the coupled eq that identifies it among potentially multiple coupled equations. Ths id is simply an integer which is a relative index, starting from zero, and uniquely identifies the equation system coupled to eq. As a result, when eq is instantiated, this id can be used to query any detail of the user configuration for the coupledeq equation coupled to eq.
template<typename eq, typename coupledeq, typename Stack>
static bool tk:: grm:: coupled(const Stack& stack)
Template parameters | |
---|---|
eq | Tag of the equation to query |
coupledeq | Tag of the equation that is potentially coupled to equation 'eq' |
Stack | |
Parameters | |
stack in | Grammar stack to work with |
Returns | True if equation 'eq' is coupled to equation 'coupledeq' |
Query if equation 'eq' has been coupled to equation 'coupledeq'
template<typename eq, typename coupledeq, typename id, typename Stack>
static std::size_t tk:: grm:: ncomp_coupled(const Stack& stack)
Template parameters | |
---|---|
eq | Tag of the equation that is coupled |
coupledeq | Tag of the equation that is coupled to equation 'eq' |
id | Tag to access the coupled equation 'eq' (relative) ids, see tk:: |
Stack | |
Parameters | |
stack in | Grammar stack to work with |
Returns | Number of scalar components of coupled equation |
Query number of components of coupled equation
Variable documentation
static std::set<char, tk:: ctr:: CaseInsensitiveCharLess> tk:: grm:: depvars
Parser-lifetime storage for dependent variables selected.
Used to track the dependent variable of differential equations (i.e., models) assigned during parsing. It needs to be case insensitive since 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 for both inserting variables into the set as well as at matching terms of products in parsing requested statistics.
static std::set<std::string> tk:: grm:: pdfnames
Parser-lifetime storage for PDF names.
Used to track the names of PDFs registered so that parsing new ones can be required to be unique.