inciter::EOS class

Base class for generic forwarding interface to eos types.

Public types

struct CauchyStress
Entry method tags for specific EOS classes to use with computeTensor()
struct density
Entry method tags for specific EOS classes to use with compute()
struct setRho0
Entry method tags for specific EOS classes to use with set()

Constructors, destructors, conversion operators

EOS() explicit
Empty constructor for Charm++.
EOS(ctr::MaterialType mattype, EqType eq, std::size_t k) explicit
Constructor.

Public functions

template<typename Fn, typename... Args>
auto compute(Args&&... args) const -> tk::real
template<typename Fn, typename... Args>
auto computeTensor(Args&&... args) const -> std::array<std::array<tk::real, 3>, 3>
template<typename Fn, typename... Args>
void set(Args&&... args)

Charm++ pack/unpack serializer member functions

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

Function documentation

inciter::EOS::EOS(ctr::MaterialType mattype, EqType eq, std::size_t k) explicit

Constructor.

Parameters
mattype in Material type
eq in Type of PDE being solved
in Material index

Constructor Based on the input enum we assign the correct material eos

template<typename Fn, typename... Args>
tk::real inciter::EOS::compute(Args&&... args) const

Template parameters
Fn Function tag identifying the function to call
Args Types of arguments to pass to function
Parameters
args in Arguments to member function to be called

Call EOS function This function issues a call to a member function of the EOS vector and is thus equivalent to mat_blk[imat].Fn(...).

template<typename Fn, typename... Args>
std::array<std::array<tk::real, 3>, 3> inciter::EOS::computeTensor(Args&&... args) const

Template parameters
Fn Function tag identifying the function to call
Args Types of arguments to pass to function
Parameters
args in Arguments to member function to be called

Call EOS function returning a tensor This function issues a call to a member function of the EOS vector and is thus equivalent to mat_blk[imat].Fn(...).

template<typename Fn, typename... Args>
void inciter::EOS::set(Args&&... args)

Template parameters
Fn Function tag identifying the function to call
Args Types of arguments to pass to function
Parameters
args in Arguments to member function to be called

Call EOS function This function issues a call to a member function of the EOS vector and is thus equivalent to mat_blk[imat].Fn(...).

void inciter::EOS::pup(PUP::er& p)

Pack/Unpack serialize member function.

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

void inciter::EOS::operator|(PUP::er& p, EOS& s)

Pack/Unpack serialize operator|.

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