SpECTRE
v2025.03.17
|
Smooth sinusoidal density wave. More...
#include <SmoothFlow.hpp>
Classes | |
struct | AdiabaticIndex |
The adiabatic index for the ideal fluid. More... | |
struct | MeanVelocity |
The mean flow velocity. More... | |
struct | PerturbationSize |
The perturbation amplitude of the rest mass density of the fluid. More... | |
struct | Pressure |
The constant pressure throughout the fluid. More... | |
struct | WaveVector |
The wave vector of the profile. More... | |
Public Member Functions | |
SmoothFlow (const SmoothFlow &)=default | |
SmoothFlow & | operator= (const SmoothFlow &)=default |
SmoothFlow (SmoothFlow &&)=default | |
SmoothFlow & | operator= (SmoothFlow &&)=default |
SmoothFlow (CkMigrateMessage *) | |
void | pup (PUP::er &) |
Protected Types | |
using | equation_of_state_type = EquationsOfState::IdealFluid< IsRelativistic > |
using | options = implementation defined |
Protected Member Functions | |
SmoothFlow (const std::array< double, Dim > &mean_velocity, const std::array< double, Dim > &wavevector, double pressure, double adiabatic_index, double perturbation_size) | |
const EquationsOfState::IdealFluid< IsRelativistic > & | equation_of_state () const |
template<typename DataType > | |
auto | variables (const tnsr::I< DataType, Dim > &x, double t, tmpl::list< hydro::Tags::RestMassDensity< DataType > >) const -> tuples::TaggedTuple< hydro::Tags::RestMassDensity< DataType > > |
Retrieve hydro variable at (x, t) | |
template<typename DataType > | |
auto | variables (const tnsr::I< DataType, Dim > &x, double t, tmpl::list< hydro::Tags::SpecificInternalEnergy< DataType > >) const -> tuples::TaggedTuple< hydro::Tags::SpecificInternalEnergy< DataType > > |
Retrieve hydro variable at (x, t) | |
template<typename DataType > | |
auto | variables (const tnsr::I< DataType, Dim > &x, double, tmpl::list< hydro::Tags::Pressure< DataType > >) const -> tuples::TaggedTuple< hydro::Tags::Pressure< DataType > > |
Retrieve hydro variable at (x, t) | |
template<typename DataType > | |
auto | variables (const tnsr::I< DataType, Dim > &x, double, tmpl::list< hydro::Tags::SpatialVelocity< DataType, Dim > >) const -> tuples::TaggedTuple< hydro::Tags::SpatialVelocity< DataType, Dim > > |
Retrieve hydro variable at (x, t) | |
template<typename DataType , bool LocalIsRelativistic = IsRelativistic, Requires< IsRelativistic and IsRelativistic==LocalIsRelativistic > = nullptr> | |
auto | variables (const tnsr::I< DataType, Dim > &x, double, tmpl::list< hydro::Tags::LorentzFactor< DataType > >) const -> tuples::TaggedTuple< hydro::Tags::LorentzFactor< DataType > > |
Retrieve hydro variable at (x, t) | |
template<typename DataType > | |
auto | variables (const tnsr::I< DataType, Dim > &x, double t, tmpl::list< hydro::Tags::SpecificEnthalpy< DataType > >) const -> tuples::TaggedTuple< hydro::Tags::SpecificEnthalpy< DataType > > |
Retrieve hydro variable at (x, t) | |
Friends | |
template<size_t LocalDim, bool LocalIsRelativistic> | |
bool | operator== (const SmoothFlow< LocalDim, LocalIsRelativistic > &lhs, const SmoothFlow< LocalDim, LocalIsRelativistic > &rhs) |
Smooth sinusoidal density wave.
This is the generic infrastructure for a smooth flow solution that can be used by the hydro systems to avoid code duplication. The solution has a constant pressure and uniform spatial velocity provided that the rest mass density satisfies the advection equation
and the specific internal energy is a function of the rest mass density only,
where we have assumed