inciter::MultiMatProblemSodShocktube class

Contents

MultiMat system of PDEs problem: Sod shock-tube

Public static functions

static auto solution(ncomp_t system, ncomp_t ncomp, tk::real x, tk::real, tk::real, tk::real) -> tk::SolutionFn::result_type
Evaluate analytical solution at (x,y,0) for all components.
static auto solinc(ncomp_t system, ncomp_t ncomp, tk::real x, tk::real y, tk::real z, tk::real t, tk::real dt) -> std::vector<tk::real>
Evaluate the increment from t to t+dt of the analytical solution at (x,y,z) for all components.
static auto src(ncomp_t, ncomp_t ncomp, tk::real, tk::real, tk::real, tk::real) -> tk::SrcFn::result_type
Compute and return source term for this problem.
static void side(std::unordered_set<int>& conf)
Query all side set IDs the user has configured for all components in this PDE system.
static auto fieldNames(ncomp_t) -> std::vector<std::string>
Return field names to be output to file.
static auto fieldOutput(ncomp_t system, ncomp_t, ncomp_t offset, tk::real, tk::real, const std::vector<tk::real>&, const std::array<std::vector<tk::real>, 3>&, tk::Fields& U) -> std::vector<std::vector<tk::real>>
Return field output going to file.
static auto names(ncomp_t) -> std::vector<std::string>
Return names of integral variables to be output to diagnostics file.
static auto type() -> ctr::ProblemType noexcept
Return problem type.

Function documentation

static tk::SolutionFn::result_type inciter::MultiMatProblemSodShocktube::solution(ncomp_t system, ncomp_t ncomp, tk::real x, tk::real, tk::real, tk::real)

Evaluate analytical solution at (x,y,0) for all components.

Parameters
system in Equation system index, i.e., which compressible flow equation system we operate on among the systems of PDEs
ncomp in Number of scalar components in this PDE system
in X coordinate where to evaluate the solution
Returns Values of all components evaluated at (x)

Evaluate analytical solution at (x,y,z,t) for all components

This function only initializes the Sod shock tube problem, but does not actually give the analytical solution at time greater than 0. The analytical solution would require an exact Riemann solver, which has not been implemented yet.

static std::vector<tk::real> inciter::MultiMatProblemSodShocktube::solinc(ncomp_t system, ncomp_t ncomp, tk::real x, tk::real y, tk::real z, tk::real t, tk::real dt)

Evaluate the increment from t to t+dt of the analytical solution at (x,y,z) for all components.

Parameters
system in Equation system index, i.e., which compressible flow equation system we operate on among the systems of PDEs
ncomp in Number of scalar components in this PDE system
in X coordinate where to evaluate the solution
in Y coordinate where to evaluate the solution
in Z coordinate where to evaluate the solution
in Time where to evaluate the solution increment starting from
dt in Time increment at which evaluate the solution increment to
Returns Increment in values of all components evaluated at (x,y,z,t+dt)

static tk::SrcFn::result_type inciter::MultiMatProblemSodShocktube::src(ncomp_t, ncomp_t ncomp, tk::real, tk::real, tk::real, tk::real)

Compute and return source term for this problem.

Parameters
ncomp in Number of scalar components in this PDE system
Returns Array of reals containing the source for all components

static void inciter::MultiMatProblemSodShocktube::side(std::unordered_set<int>& conf)

Query all side set IDs the user has configured for all components in this PDE system.

Parameters
conf in/out Set of unique side set IDs to add to

static std::vector<std::string> inciter::MultiMatProblemSodShocktube::fieldNames(ncomp_t)

Return field names to be output to file.

Returns Vector of strings labelling fields output in file

static std::vector<std::vector<tk::real>> inciter::MultiMatProblemSodShocktube::fieldOutput(ncomp_t system, ncomp_t, ncomp_t offset, tk::real, tk::real, const std::vector<tk::real>&, const std::array<std::vector<tk::real>, 3>&, tk::Fields& U)

Return field output going to file.

Parameters
system in Equation system index, i.e., which compressible flow equation system we operate on among the systems of PDEs
offset in System offset specifying the position of the system of PDEs among other systems
in Solution vector at recent time step
Returns Vector of vectors to be output to file

static std::vector<std::string> inciter::MultiMatProblemSodShocktube::names(ncomp_t)

Return names of integral variables to be output to diagnostics file.

Returns Vector of strings labelling integral variables output