inciter::MultiMatProblemSodShocktube class

Contents

MultiMat system of PDEs problem: Sod shock-tube

Public static functions

static auto initialize(ncomp_t ncomp, const std::vector<EOS>& mat_blk, tk::real x, tk::real, tk::real, tk::real) -> tk::InitializeFn::result_type
Initialize numerical solution.
static auto analyticSolution(ncomp_t ncomp, const std::vector<EOS>& mat_blk, 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, const std::vector<EOS>&, tk::real, tk::real, tk::real, tk::real, std::vector<tk::real>& sv) -> tk::SrcFn::result_type
Compute and return source term for this problem.
static auto type() -> ctr::ProblemType noexcept
Return problem type.

Function documentation

static tk::InitializeFn::result_type inciter::MultiMatProblemSodShocktube::initialize(ncomp_t ncomp, const std::vector<EOS>& mat_blk, tk::real x, tk::real, tk::real, tk::real)

Initialize numerical solution.

Parameters
ncomp in Number of scalar components in this PDE system
mat_blk
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.