tk::MultiSpeciesViscousTermsDGP1 class

Viscous terms for multispecies PDEs using high-order DG using the DDG approach.

Constructors, destructors, conversion operators

MultiSpeciesViscousTermsDGP1(std::size_t nspec, std::size_t rdof)
Constructor.

Public functions

auto localDof(std::size_t) const -> std::size_t
Return local polynomial order.
auto stateAt(const std::vector<inciter::EOS>& mat_blk, const Fields& U, const Fields& P, std::size_t e, std::size_t ndof, const std::vector<tk::real>& B) const -> std::vector<tk::real>
DDG Functions will go here.
void gradientIntElem(const Fields& U, const Fields& P, std::size_t elem, const std::array<std::vector<tk::real>, 3>& dBdx, std::array<std::array<tk::real, 3>, 4>& grad) const
Compute gradients of quantities for an interior element.
void interiorFlux(const std::vector<inciter::EOS>& mat_blk, std::size_t ncomp, const std::array<std::vector<tk::real>, 2>& state, const std::array<tk::real, 3>& fn, const std::array<std::array<std::array<tk::real, 3>, 4>, 2>& grad, std::vector<tk::real>& fl) const
Compute the multispecies viscous flux at an interior face.
void volumeFlux(const std::vector<inciter::EOS>& mat_blk, std::size_t ncomp, const std::vector<tk::real>& state, std::vector<std::array<tk::real, 3>>& visc_fl) const
Compute the viscous volume flux on a tet element.

Charm++ pack/unpack serializer member functions

void pup(PUP::er& p)
Pack/Unpack serialize member function.
void operator|(PUP::er& p, MultiSpeciesViscousTermsDGP1& v)
Pack/Unpack serialize operator|.

Function documentation

tk::MultiSpeciesViscousTermsDGP1::MultiSpeciesViscousTermsDGP1(std::size_t nspec, std::size_t rdof)

Constructor.

Parameters
nspec in Number of species in this PDE system
rdof in Maximum number of reconstructed degrees of freedom

Constructor

std::vector<tk::real> tk::MultiSpeciesViscousTermsDGP1::stateAt(const std::vector<inciter::EOS>& mat_blk, const Fields& U, const Fields& P, std::size_t e, std::size_t ndof, const std::vector<tk::real>& B) const

DDG Functions will go here.

Parameters
mat_blk in Material EOS block
U in Solution vector at recent time step
P in Vector of primitives at recent time step
e in Element id
ndof in Number of local degrees of freedom
B in Basis functions evaluated at the face point
Returns State vector containing conserved variables followed by multispecies primitives

Reconstruct conserved variables and primitives at a face point.

Reconstruct conserved variables and primitives at a face point

void tk::MultiSpeciesViscousTermsDGP1::gradientIntElem(const Fields& U, const Fields& P, std::size_t elem, const std::array<std::vector<tk::real>, 3>& dBdx, std::array<std::array<tk::real, 3>, 4>& grad) const

Compute gradients of quantities for an interior element.

Parameters
U in Solution vector at recent time step
P in Vector of primitives at recent time step
elem in element id
dBdx in Basis gradients in element
grad in/out Velocity and temperature gradients in element

Compute gradients of quantities for an interior element

void tk::MultiSpeciesViscousTermsDGP1::interiorFlux(const std::vector<inciter::EOS>& mat_blk, std::size_t ncomp, const std::array<std::vector<tk::real>, 2>& state, const std::array<tk::real, 3>& fn, const std::array<std::array<std::array<tk::real, 3>, 4>, 2>& grad, std::vector<tk::real>& fl) const

Compute the multispecies viscous flux at an interior face.

Parameters
mat_blk in Material EOS block
ncomp in Number of components in this system
state in Left and right high-order face states
fn in Face normal
grad in Velocity and temperature gradients in left and right elements
fl in/out Numerical viscous flux

Will be implemented using DDG

void tk::MultiSpeciesViscousTermsDGP1::volumeFlux(const std::vector<inciter::EOS>& mat_blk, std::size_t ncomp, const std::vector<tk::real>& state, std::vector<std::array<tk::real, 3>>& visc_fl) const

Compute the viscous volume flux on a tet element.

Parameters
mat_blk in Material EOS block
ncomp in Number of components in this system
state in vector of conserved quantities
visc_fl in/out viscous volume flux

Compute the multispecies viscous flux on a tet volume.

void tk::MultiSpeciesViscousTermsDGP1::pup(PUP::er& p)

Pack/Unpack serialize member function.

Parameters
p in/out Charm++'s PUP::er serializer object reference

void tk::MultiSpeciesViscousTermsDGP1::operator|(PUP::er& p, MultiSpeciesViscousTermsDGP1& v)

Pack/Unpack serialize operator|.

Parameters
p in/out Charm++'s PUP::er serializer object reference
v in/out Viscous terms object reference