SpECTRE
v2025.03.17
|
Newtonian isentropic vortex in Cartesian coordinates. More...
#include <IsentropicVortex.hpp>
Classes | |
struct | AdiabaticIndex |
The adiabatic index of the fluid. More... | |
struct | Center |
The position of the center of the vortex at | |
struct | MeanVelocity |
The mean flow velocity. More... | |
struct | PerturbAmplitude |
The amplitude of the perturbation generating a source term. More... | |
struct | Strength |
The strength of the vortex. More... | |
Public Types | |
using | equation_of_state_type = EquationsOfState::PolytropicFluid< false > |
using | options = implementation defined |
Public Member Functions | |
IsentropicVortex (const IsentropicVortex &)=default | |
IsentropicVortex & | operator= (const IsentropicVortex &)=default |
IsentropicVortex (IsentropicVortex &&)=default | |
IsentropicVortex & | operator= (IsentropicVortex &&)=default |
auto | get_clone () const -> std::unique_ptr< evolution::initial_data::InitialData > override |
IsentropicVortex (double adiabatic_index, const std::array< double, Dim > ¢er, const std::array< double, Dim > &mean_velocity, double strength, double perturbation_amplitude=0.0) | |
template<typename DataType , typename... Tags> | |
tuples::TaggedTuple< Tags... > | variables (const tnsr::I< DataType, Dim, Frame::Inertial > &x, const double t, tmpl::list< Tags... >) const |
Retrieve a collection of hydrodynamic variables at position x and time t. | |
template<typename DataType > | |
DataType | perturbation_profile (const DataType &z) const |
Function of z coordinate to compute the perturbation generating a source term. Public so the corresponding source class can also use it. | |
template<typename DataType > | |
DataType | deriv_of_perturbation_profile (const DataType &z) const |
double | perturbation_amplitude () const |
const EquationsOfState::PolytropicFluid< false > & | equation_of_state () const |
void | pup (PUP::er &) override |
virtual auto | get_clone () const -> std::unique_ptr< InitialData >=0 |
Static Public Attributes | |
static constexpr Options::String | help |
Friends | |
template<size_t SpatialDim> | |
bool | operator== (const IsentropicVortex< SpatialDim > &lhs, const IsentropicVortex< SpatialDim > &rhs) |
Newtonian isentropic vortex in Cartesian coordinates.
The analytic solution to the 2-D Newtonian Euler system representing the slow advection of an incompressible, isentropic vortex [208]. The initial condition is the superposition of a mean uniform flow with a gaussian-profile vortex. When embedded in 3-D space, the isentropic vortex is still a solution to the corresponding 3-D system if the velocity along the third axis is a constant. In Cartesian coordinates
with
where
On the other hand, if the velocity along the
where
|
overridevirtual |
Implements evolution::initial_data::InitialData.
|
staticconstexpr |