inciter::MultiMatProblemSodShocktube class

Contents

MultiMat system of PDEs problem: Sod shock-tube

Public static functions

static auto initialize(ncomp_t system, ncomp_t ncomp, tk::real x, tk::real, tk::real, tk::real) -> tk::InitializeFn::result_type
Initialize numerical solution.
static auto analyticSolution(ncomp_t system, ncomp_t ncomp, tk::real x, tk::real y, tk::real z, tk::real t) -> std::vector<tk::real>
Evaluate analytical solution at (x,y,z,t) for all components.
static auto src(ncomp_t, ncomp_t ncomp, tk::real, tk::real, tk::real, tk::real) -> tk::MultiMatSrcFn::result_type
Compute and return source term for this problem.
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::InitializeFn::result_type inciter::MultiMatProblemSodShocktube::initialize(ncomp_t system, ncomp_t ncomp, tk::real x, tk::real, tk::real, tk::real)

Initialize numerical solution.

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<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