inciter::ctr namespace

Inciter control facilitating user input to internal data transfer.

Contents

Classes

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 CmdLine
CmdLine : Control< specialized to Inciter >
class Flux
Flux options: outsource to base templated on enum type.
class Initiate
Initiation options: outsource to base templated on enum type.
class InputDeck
InputDeck : Control< specialized to Inciter >, see Types.h,.
class Limiter
Limiter options: outsource to base templated on enum type.
class MeshVelocity
Mesh velocity options: outsource to base templated on enum type.
struct OutVar
Output variable.
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.

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 }
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 MeshVelocityType: uint8_t { NONE, FLUID, HELMHOLTZ }
Mesh velocity 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, TRIPLE_POINT, GAS_IMPACT, GAS_IMPACT_4MAT, SHOCK_HEBUBBLE, UNDERWATER_EX }
Problem types.
enum class SchemeType: uint8_t { DiagCG, ALECG, DG, P0P1, DGP1, DGP2, PDG }
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::interval, intervals, 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 ale = tk::TaggedTuple<brigand::list<tag::ale, bool, tag::meshvelocity, MeshVelocityType>>
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 intervals = tk::TaggedTuple<brigand::list<tag::tty, kw::ttyi::info::expect::type, tag::field, kw::interval::info::expect::type, tag::history, kw::interval::info::expect::type, tag::diag, kw::interval::info::expect::type>>
Output intervals storage.
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, std::vector<InitiateType>, tag::point, std::vector<std::vector<kw::point::info::expect::type>>, tag::radius, std::vector<std::vector<kw::radius::info::expect::type>>, tag::velocity, std::vector<std::vector<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::mass, std::vector<std::vector<kw::mass::info::expect::type>>, tag::density, std::vector<std::vector<kw::density::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::energy_content, std::vector<std::vector<kw::energy_content::info::expect::type>>, tag::temperature, std::vector<std::vector<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::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, 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 condition configuration.
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 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::intsharp, std::vector<kw::intsharp::info::expect::type>, tag::intsharp_param, std::vector<kw::intsharp_param::info::expect::type>>>
Transport equation parameters storage.
using StagnationBCParameters = 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 boundary conditions parameters storage.
using SkipBCParameters = 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 boundary conditions parameters storage.
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::ic, ic, tag::bcstag, StagnationBCParameters, tag::bcskip, SkipBCParameters, 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::gamma, std::vector<std::vector<kw::mat_gamma::info::expect::type>>, tag::pstiff, std::vector<std::vector<kw::mat_pstiff::info::expect::type>>, tag::mu, std::vector<std::vector<kw::mat_mu::info::expect::type>>, tag::cv, std::vector<std::vector<kw::mat_cv::info::expect::type>>, tag::k, std::vector<std::vector<kw::mat_k::info::expect::type>>, tag::npar, std::vector<kw::npar::info::expect::type>, tag::flux, std::vector<FluxType>, tag::lua, 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::farfield_pressure, std::vector<kw::pressure::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::gamma, std::vector<std::vector<kw::mat_gamma::info::expect::type>>, tag::pstiff, std::vector<std::vector<kw::mat_pstiff::info::expect::type>>, tag::mu, std::vector<std::vector<kw::mat_mu::info::expect::type>>, tag::cv, std::vector<std::vector<kw::mat_cv::info::expect::type>>, tag::k, std::vector<std::vector<kw::mat_k::info::expect::type>>, 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, MeshVelocityType& e)
Pack/Unpack MeshVelocityType: 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