inciter::fv::MultiMatPhysicsEnergyPill class

MultiMat system of PDEs problem: EnergyPill (velocity equilibrium)

This class implements additional physics needed on top of the basic MultiMat Euler equations governing multi-material compressible flow.

Public static functions

static auto type() -> ctr::PhysicsType noexcept

Public functions

auto dtRestriction(const tk::Fields& geoElem, std::size_t nelem, const std::vector<int>& engSrcAd) const -> tk::real
Compute the time step size restriction based on this physics.
void physSrc(std::size_t nmat, tk::real t, const tk::Fields& geoElem, const std::unordered_map<std::size_t, std::set<std::size_t>>& elemblkid, tk::Fields& R, std::vector<int>& engSrcAdded) const
Compute sources corresponding to this physics.

Function documentation

static ctr::PhysicsType inciter::fv::MultiMatPhysicsEnergyPill::type() noexcept

Returns Enum denoting physics policy.

Return enum denoting physics policy

tk::real inciter::fv::MultiMatPhysicsEnergyPill::dtRestriction(const tk::Fields& geoElem, std::size_t nelem, const std::vector<int>& engSrcAd) const

Compute the time step size restriction based on this physics.

Parameters
geoElem in Element geometry array
nelem in Number of elements
engSrcAd in Whether the energy source was added
Returns Maximum allowable time step based on front propagation speed

void inciter::fv::MultiMatPhysicsEnergyPill::physSrc(std::size_t nmat, tk::real t, const tk::Fields& geoElem, const std::unordered_map<std::size_t, std::set<std::size_t>>& elemblkid, tk::Fields& R, std::vector<int>& engSrcAdded) const

Compute sources corresponding to this physics.

Parameters
nmat in Number of materials
in Physical time
geoElem in Element geometry array
elemblkid in Element ids associated with mesh block ids where user ICs are set
in/out Right-hand side vector
engSrcAdded in/out Whether the energy source was added

Compute sources corresponding to a propagating front in user-defined box This function adds the energy source corresponding to a spherically growing wave-front propagating with a user-specified velocity, within a user-configured mesh block initial condition. Example (SI) units of the quantities involved:

  • internal energy content (energy per unit volume): J/m^3
  • specific energy (internal energy per unit mass): J/kg