inciter::ctr namespace

Inciter control facilitating user input to internal data transfer.

Contents

Classes

class CmdLine
CmdLine : Control< specialized to Inciter >
class InputDeck
InputDeck : Control< specialized to Inciter >, see Types.h,.
class AMRError
AMRError options: outsource searches to base templated on enum type.
class AMRInitial
AMRInitial options: outsource searches to base templated on enum type.
class BC
Class with base templated on the above enum class with associations.
class Flux
Flux options: outsource to base templated on enum type.
class Initiate
Initiation options: outsource to base templated on enum type.
class Limiter
Limiter options: outsource to base templated on enum type.
class Material
Material options: outsource to base templated on enum type.
class MeshVelocity
Mesh velocity options: outsource to base templated on enum type.
class MeshVelocitySmoother
Mesh velocity options: outsource to base templated on enum type.
class PDE
Class with base templated on the above enum class with associations.
class Physics
Physics options: outsource to base templated on enum type.
class PrefIndicator
PrefIndicator options: outsource searches to base templated on enum type.
class Problem
Problem options: outsource to base templated on enum type.
class Scheme
Scheme options: outsource to base templated on enum type.
struct OutVar
Output variable.

Enums

enum class AMRErrorType: uint8_t { JUMP, HESSIAN }
Mesh partitioning algorithm types.
enum class AMRInitialType: uint8_t { UNIFORM, UNIFORM_DEREFINE, INITIAL_CONDITIONS, EDGELIST, COORDINATES }
Initial AMR types.
enum class BCType: uint8_t { SYM, INLET, OUTLET, EXTRAPOLATE, FARFIELD, TIMEDEP }
Boundary condition types.
enum class FluxType: uint8_t { LaxFriedrichs, HLLC, UPWIND, AUSM, HLL, Rusanov }
Flux types.
enum class InitiateType: uint8_t { IMPULSE, LINEAR }
Initiation types.
enum class LimiterType: uint8_t { NOLIMITER, WENOP1, SUPERBEEP1, VERTEXBASEDP1 }
Limiter types.
enum class MaterialType: uint8_t { STIFFENEDGAS, JWL }
Material types.
enum class MeshVelocityType: uint8_t { SINE, FLUID, USER_DEFINED }
Mesh velocity configuration option types.
enum class MeshVelocitySmootherType: uint8_t { NONE, LAPLACE, HELMHOLTZ }
Mesh velocity smoother configuration option types.
enum class PDEType: uint8_t { TRANSPORT, COMPFLOW, MULTIMAT }
Differential equation types.
enum class PhysicsType: uint8_t { ADVECTION, ADVDIFF, EULER, NAVIERSTOKES, VELEQ }
Physics types.
enum class PrefIndicatorType: uint8_t { SPECTRAL_DECAY, NON_CONFORMITY }
Types of adaptive indicators.
enum class ProblemType: uint8_t { USER_DEFINED, SHEAR_DIFF, VORTICAL_FLOW, NL_ENERGY_GROWTH, RAYLEIGH_TAYLOR, TAYLOR_GREEN, SLOT_CYL, GAUSS_HUMP, CYL_ADVECT, CYL_VORTEX, SHEDDING_FLOW, SOD_SHOCKTUBE, ROTATED_SOD_SHOCKTUBE, SEDOV_BLASTWAVE, INTERFACE_ADVECTION, GAUSS_HUMP_COMPFLOW, WATERAIR_SHOCKTUBE, SHOCK_HEBUBBLE, UNDERWATER_EX }
Problem types.
enum class SchemeType: uint8_t { DiagCG, ALECG, DG, P0P1, DGP1, DGP2, PDG, FV }
Scheme types.

Typedefs

using CmdLineMembers = brigand::list<tag::io, ios, tag::virtualization, kw::virtualization::info::expect::type, tag::verbose, bool, tag::chare, bool, tag::nonblocking, bool, tag::benchmark, bool, tag::feedback, bool, tag::help, bool, tag::helpctr, bool, tag::quiescence, bool, tag::trace, bool, tag::version, bool, tag::license, bool, tag::cmdinfo, tk::ctr::HelpFactory, tag::ctrinfo, tk::ctr::HelpFactory, tag::helpkw, tk::ctr::HelpKw, tag::error, std::vector<std::string>, tag::lbfreq, kw::lbfreq::info::expect::type, tag::rsfreq, kw::rsfreq::info::expect::type>
Member data for tagged tuple.
using ncomps = tk::ctr::ncomponents<tag::transport, tag::compflow, tag::multimat>
Number of components storage for all systems of equations supported.
using InputDeckMembers = brigand::list<tag::cmd, CmdLine, tag::title, kw::title::info::expect::type, tag::selected, selects, tag::amr, amr, tag::ale, ale, tag::pref, pref, tag::discr, discretization, tag::prec, precision, tag::flformat, floatformat, tag::component, ncomps, tag::sys, std::map<tk::ctr::ncomp_t, tk::ctr::ncomp_t>, tag::output, output_parameters, tag::param, parameters, tag::couple, couple, tag::diag, diagnostics, tag::error, std::vector<std::string>, tag::history, history>
Member data for tagged tuple.
using PDEKey = tk::TaggedTuple<brigand::list<tag::pde, PDEType, tag::physics, ctr::PhysicsType, tag::problem, ctr::ProblemType>>
Differential equation key used to access a diff eq in a factory.
using selects = tk::TaggedTuple<brigand::list<tag::pde, std::vector<ctr::PDEType>, tag::partitioner, tk::ctr::PartitioningAlgorithmType, tag::filetype, tk::ctr::FieldFileType>>
Storage of selected options.
using amr = tk::TaggedTuple<brigand::list<tag::amr, bool, tag::t0ref, bool, tag::dtref, bool, tag::dtref_uniform, bool, tag::dtfreq, kw::amr_dtfreq::info::expect::type, tag::init, std::vector<AMRInitialType>, tag::refvar, std::vector<std::string>, tag::id, std::vector<std::size_t>, tag::error, AMRErrorType, tag::tolref, tk::real, tag::tolderef, tk::real, tag::edge, std::vector<kw::amr_edgelist::info::expect::type>, tag::xminus, kw::amr_xminus::info::expect::type, tag::xplus, kw::amr_xplus::info::expect::type, tag::yminus, kw::amr_yminus::info::expect::type, tag::yplus, kw::amr_yplus::info::expect::type, tag::zminus, kw::amr_zminus::info::expect::type, tag::zplus, kw::amr_zplus::info::expect::type>>
Adaptive-mesh refinement options.
using moving_sides = tk::TaggedTuple<brigand::list<tag::sideset, std::vector<kw::sideset::info::expect::type>, tag::fntype, tk::ctr::UserTableType, tag::fn, std::vector<tk::real>>>
A list of side sets moving with a user-defined function in time.
using time_dependent_bc = tk::TaggedTuple<brigand::list<tag::sideset, std::vector<kw::sideset::info::expect::type>, tag::fn, std::vector<tk::real>>>
A list of side sets along with a user-defined function for time dependent BC.
using ale = tk::TaggedTuple<brigand::list<tag::ale, bool, tag::mesh_motion, std::vector<kw::mesh_motion::info::expect::type>, tag::dvcfl, kw::dvcfl::info::expect::type, tag::vortmult, kw::vortmult::info::expect::type, tag::maxit, kw::meshvel_maxit::info::expect::type, tag::tolerance, kw::meshvel_tolerance::info::expect::type, tag::meshvelocity, MeshVelocityType, tag::smoother, MeshVelocitySmootherType, tag::bcdir, std::vector<kw::sideset::info::expect::type>, tag::bcsym, std::vector<kw::sideset::info::expect::type>, tag::meshforce, std::vector<kw::meshforce::info::expect::type>, tag::move, std::vector<moving_sides>>>
ALE mesh motion options.
using pref = tk::TaggedTuple<brigand::list<tag::pref, bool, tag::indicator, PrefIndicatorType, tag::ndofmax, std::size_t, tag::tolref, tk::real>>
p-adaptive refinement options
using discretization = tk::TaggedTuple<brigand::list<tag::nstep, kw::nstep::info::expect::type, tag::term, kw::term::info::expect::type, tag::t0, kw::t0::info::expect::type, tag::dt, kw::dt::info::expect::type, tag::cfl, kw::cfl::info::expect::type, tag::pelocal_reorder, bool, tag::operator_reorder, bool, tag::steady_state, bool, tag::residual, kw::residual::info::expect::type, tag::rescomp, kw::rescomp::info::expect::type, tag::fct, bool, tag::fctclip, bool, tag::fcteps, kw::fcteps::info::expect::type, tag::ctau, kw::ctau::info::expect::type, tag::scheme, inciter::ctr::SchemeType, tag::limiter, inciter::ctr::LimiterType, tag::cweight, kw::cweight::info::expect::type, tag::rdof, std::size_t, tag::ndof, std::size_t>>
Discretization parameters storage.
using precision = tk::TaggedTuple<brigand::list<tag::diag, kw::precision::info::expect::type, tag::history, kw::precision::info::expect::type>>
ASCII output floating-point precision in digits.
using floatformat = tk::TaggedTuple<brigand::list<tag::diag, tk::ctr::TxtFloatFormatType, tag::history, tk::ctr::TxtFloatFormatType>>
ASCII output floating-point format.
using interval_iter = tk::TaggedTuple<brigand::list<tag::tty, kw::ttyi::info::expect::type, tag::field, kw::interval_iter::info::expect::type, tag::history, kw::interval_iter::info::expect::type, tag::diag, kw::interval_iter::info::expect::type>>
Output intervals in units of iteration count.
using interval_time = tk::TaggedTuple<brigand::list<tag::field, kw::interval_time::info::expect::type, tag::history, kw::interval_time::info::expect::type>>
Output intervals in units of physics time.
using time_range = tk::TaggedTuple<brigand::list<tag::field, std::vector<std::vector<kw::time_range::info::expect::type>>, tag::history, std::vector<std::vector<kw::time_range::info::expect::type>>>>
Output time ranges in units of physics time.
using output_parameters = tk::TaggedTuple<brigand::list<tag::iter, interval_iter, tag::time, interval_time, tag::range, time_range>>
Output configuration parameters.
using history = tk::TaggedTuple<brigand::list<tag::point, std::vector<std::vector<kw::point::info::expect::type>>, tag::id, std::vector<std::string>>>
History output parameters storage.
using ios = tk::TaggedTuple<brigand::list<tag::nrestart, int, tag::control, kw::control::info::expect::type, tag::input, kw::input::info::expect::type, tag::output, kw::output::info::expect::type, tag::refined, kw::refined::info::expect::type, tag::screen, kw::screen::info::expect::type, tag::surface, std::vector<kw::sideset::info::expect::type>, tag::diag, kw::diagnostics_cmd::info::expect::type, tag::particles, std::string, tag::outvar, std::vector<OutVar>, tag::restart, kw::restart::info::expect::type>>
IO parameters storage.
using diagnostics = tk::TaggedTuple<brigand::list<tag::error, std::vector<tk::ctr::ErrorType>>>
Error/diagnostics output configuration.
using InitiateParameters = tk::TaggedTuple<brigand::list<tag::init, InitiateType, tag::point, std::vector<kw::point::info::expect::type>, tag::radius, kw::radius::info::expect::type, tag::velocity, kw::velocity::info::expect::type>>
Initiation configuration for box IC.
using box = tk::TaggedTuple<brigand::list<tag::xmin, kw::xmin::info::expect::type, tag::xmax, kw::xmax::info::expect::type, tag::ymin, kw::ymin::info::expect::type, tag::ymax, kw::ymax::info::expect::type, tag::zmin, kw::zmin::info::expect::type, tag::zmax, kw::zmax::info::expect::type, tag::materialid, kw::materialid::info::expect::type, tag::mass, kw::mass::info::expect::type, tag::density, kw::density::info::expect::type, tag::velocity, std::vector<kw::velocity::info::expect::type>, tag::pressure, kw::pressure::info::expect::type, tag::energy, kw::energy::info::expect::type, tag::energy_content, kw::energy_content::info::expect::type, tag::temperature, kw::temperature::info::expect::type, tag::initiate, InitiateParameters>>
Box, given by coordinates, specifying physics variables.
using ic = tk::TaggedTuple<brigand::list<tag::density, std::vector<std::vector<kw::density::info::expect::type>>, tag::materialid, std::vector<std::vector<kw::materialid::info::expect::type>>, tag::velocity, std::vector<std::vector<kw::velocity::info::expect::type>>, tag::pressure, std::vector<std::vector<kw::pressure::info::expect::type>>, tag::energy, std::vector<std::vector<kw::energy::info::expect::type>>, tag::temperature, std::vector<std::vector<kw::temperature::info::expect::type>>, tag::box, std::vector<std::vector<box>>>>
Initial condition configuration.
using bc = tk::TaggedTuple<brigand::list<tag::bcdir, std::vector<std::vector<kw::sideset::info::expect::type>>, tag::bcsym, std::vector<std::vector<kw::sideset::info::expect::type>>, tag::bcinlet, std::vector<std::vector<kw::sideset::info::expect::type>>, tag::bcoutlet, std::vector<std::vector<kw::sideset::info::expect::type>>, tag::bcfarfield, std::vector<std::vector<kw::sideset::info::expect::type>>, tag::bcextrapolate, std::vector<std::vector<kw::sideset::info::expect::type>>>>
Boundary conditions configuration (list of side sets for each eq system)
using couple = tk::TaggedTuple<brigand::list<tag::transfer, std::vector<Transfer>>>
Solver coupling.
using mesh = tk::TaggedTuple<brigand::list<tag::id, std::vector<std::size_t>, tag::filename, std::vector<std::string>, tag::location, std::vector<std::vector<kw::location::info::expect::type>>, tag::orientation, std::vector<std::vector<kw::orientation::info::expect::type>>, tag::reference, std::vector<char>>>
Mesh assignment and configuration.
using StagnationParameters = tk::TaggedTuple<brigand::list<tag::point, std::vector<std::vector<kw::point::info::expect::type>>, tag::radius, std::vector<std::vector<kw::radius::info::expect::type>>>>
Stagnation points parameters storage.
using SkipParameters = tk::TaggedTuple<brigand::list<tag::point, std::vector<std::vector<kw::point::info::expect::type>>, tag::radius, std::vector<std::vector<kw::radius::info::expect::type>>>>
Skip points parameters storage.
using SpongeParameters = tk::TaggedTuple<brigand::list<tag::sideset, std::vector<std::vector<kw::sideset::info::expect::type>>, tag::velocity, std::vector<std::vector<kw::velocity::info::expect::type>>, tag::pressure, std::vector<std::vector<kw::pressure::info::expect::type>>>>
Sponge parameters storage.
using TransportPDEParameters = tk::TaggedTuple<brigand::list<tag::depvar, std::vector<char>, tag::mesh, mesh, tag::physics, std::vector<PhysicsType>, tag::problem, std::vector<ProblemType>, tag::diffusivity, std::vector<std::vector<kw::pde_diffusivity::info::expect::type>>, tag::lambda, std::vector<std::vector<kw::pde_lambda::info::expect::type>>, tag::u0, std::vector<std::vector<kw::pde_u0::info::expect::type>>, tag::bc, bc, tag::bctimedep, std::vector<std::vector<time_dependent_bc>>, tag::sponge, SpongeParameters, tag::intsharp, std::vector<kw::intsharp::info::expect::type>, tag::intsharp_param, std::vector<kw::intsharp_param::info::expect::type>>>
Transport equation parameters storage.
using material = tk::TaggedTuple<brigand::list<tag::id, std::vector<kw::id::info::expect::type>, tag::eos, MaterialType, tag::gamma, std::vector<kw::mat_gamma::info::expect::type>, tag::pstiff, std::vector<kw::mat_pstiff::info::expect::type>, tag::mu, std::vector<kw::mat_mu::info::expect::type>, tag::cv, std::vector<kw::mat_cv::info::expect::type>, tag::k, std::vector<kw::mat_k::info::expect::type>>>
Material configuration.
using CompFlowPDEParameters = tk::TaggedTuple<brigand::list<tag::depvar, std::vector<char>, tag::mesh, mesh, tag::physics, std::vector<PhysicsType>, tag::problem, std::vector<ProblemType>, tag::farfield_pressure, std::vector<kw::pressure::info::expect::type>, tag::farfield_density, std::vector<kw::density::info::expect::type>, tag::farfield_velocity, std::vector<std::vector<kw::velocity::info::expect::type>>, tag::bc, bc, tag::bctimedep, std::vector<std::vector<time_dependent_bc>>, tag::sponge, SpongeParameters, tag::ic, ic, tag::stag, StagnationParameters, tag::skip, SkipParameters, tag::sysfct, std::vector<int>, tag::sysfctvar, std::vector<std::vector<kw::sysfctvar::info::expect::type>>, tag::alpha, std::vector<kw::pde_alpha::info::expect::type>, tag::beta, std::vector<kw::pde_beta::info::expect::type>, tag::betax, std::vector<kw::pde_betax::info::expect::type>, tag::betay, std::vector<kw::pde_betay::info::expect::type>, tag::betaz, std::vector<kw::pde_betaz::info::expect::type>, tag::r0, std::vector<kw::pde_r0::info::expect::type>, tag::ce, std::vector<kw::pde_ce::info::expect::type>, tag::kappa, std::vector<kw::pde_kappa::info::expect::type>, tag::p0, std::vector<kw::pde_p0::info::expect::type>, tag::material, std::vector<std::vector<material>>, tag::matidxmap, tk::TaggedTuple<brigand::list<tag::eosidx, std::vector<std::size_t>, tag::matidx, std::vector<std::size_t>>>, tag::npar, std::vector<kw::npar::info::expect::type>, tag::flux, std::vector<FluxType>, tag::lua, std::vector<std::string>>>
Compressible flow equation parameters storage.
using MultiMatPDEParameters = tk::TaggedTuple<brigand::list<tag::depvar, std::vector<char>, tag::mesh, mesh, tag::physics, std::vector<PhysicsType>, tag::problem, std::vector<ProblemType>, tag::bc, bc, tag::bctimedep, std::vector<std::vector<time_dependent_bc>>, tag::ic, ic, tag::farfield_pressure, std::vector<kw::pressure::info::expect::type>, tag::sponge, SpongeParameters, tag::alpha, std::vector<kw::pde_alpha::info::expect::type>, tag::beta, std::vector<kw::pde_beta::info::expect::type>, tag::betax, std::vector<kw::pde_betax::info::expect::type>, tag::betay, std::vector<kw::pde_betay::info::expect::type>, tag::betaz, std::vector<kw::pde_betaz::info::expect::type>, tag::r0, std::vector<kw::pde_r0::info::expect::type>, tag::ce, std::vector<kw::pde_ce::info::expect::type>, tag::kappa, std::vector<kw::pde_kappa::info::expect::type>, tag::p0, std::vector<kw::pde_p0::info::expect::type>, tag::material, std::vector<std::vector<material>>, tag::matidxmap, tk::TaggedTuple<brigand::list<tag::eosidx, std::vector<std::size_t>, tag::matidx, std::vector<std::size_t>>>, tag::nmat, std::vector<kw::nmat::info::expect::type>, tag::prelax, std::vector<kw::prelax::info::expect::type>, tag::prelax_timescale, std::vector<kw::prelax_timescale::info::expect::type>, tag::intsharp, std::vector<kw::intsharp::info::expect::type>, tag::intsharp_param, std::vector<kw::intsharp_param::info::expect::type>, tag::flux, std::vector<FluxType>>>
Compressible flow equation parameters storage.
using parameters = tk::TaggedTuple<brigand::list<tag::transport, TransportPDEParameters, tag::compflow, CompFlowPDEParameters, tag::multimat, MultiMatPDEParameters>>
Parameters storage.
using Location = pegtl::position
PEGTL location/position type to use throughout all of Inciter's parsers.

Functions

void operator|(PUP::er& p, AMRErrorType& e)
Pack/Unpack AMRErrorType: forward overload to generic enum class packer.
void operator|(PUP::er& p, AMRInitialType& e)
Pack/Unpack AMRInitialType: forward overload to generic enum class packer.
void operator|(PUP::er& p, BCType& e)
Pack/Unpack: forward overload to generic enum class packer.
void operator|(PUP::er& p, FluxType& e)
Pack/Unpack FluxType: forward overload to generic enum class packer.
void operator|(PUP::er& p, InitiateType& e)
Pack/Unpack InitiateType: forward overload to generic enum class packer.
void operator|(PUP::er& p, LimiterType& e)
Pack/Unpack LimiterType: forward overload to generic enum class packer.
void operator|(PUP::er& p, MaterialType& e)
Pack/Unpack MaterialType: forward overload to generic enum class packer.
void operator|(PUP::er& p, MeshVelocityType& e)
Pack/Unpack MeshVelocityType: forward overload to generic enum class packer.
void operator|(PUP::er& p, MeshVelocitySmootherType& e)
Pack/Unpack MeshVelocitySmootherType: forward overload to generic enum class packer.
void operator|(PUP::er& p, PDEType& e)
Pack/Unpack: forward overload to generic enum class packer.
void operator|(PUP::er& p, PhysicsType& e)
Pack/Unpack PhysicsType: forward overload to generic enum class packer.
void operator|(PUP::er& p, PrefIndicatorType& e)
void operator|(PUP::er& p, ProblemType& e)
Pack/Unpack ProblemType: forward overload to generic enum class packer.
void operator|(PUP::er& p, SchemeType& e)
Pack/Unpack SchemeType: forward overload to generic enum class packer.
void pup(PUP::er& p, OutVar& v)
Pack/Unpack: Namespace-scope serialize OutVar object for Charm++.
static auto operator<<(std::ostream& os, const OutVar& outvar) -> std::ostream&

Function documentation

void inciter::ctr::operator|(PUP::er& p, PrefIndicatorType& e)

Pack/Unpack PrefIndicatorType: forward overload to generic enum class packer

void inciter::ctr::pup(PUP::er& p, OutVar& v)

Pack/Unpack: Namespace-scope serialize OutVar object for Charm++.

Parameters
in/out Charm++'s PUP::er serializer object reference
in/out OutVar object reference

static std::ostream& inciter::ctr::operator<<(std::ostream& os, const OutVar& outvar)

Parameters
os in/out Output stream to write to
outvar in OutVar to write
Returns Updated output stream

Operator << for writing OutVar to output streams