SpECTRE  2021.08.02
VariableFixing::RadiallyFallingFloor< Dim > Class Template Reference

Applies a pressure and density floor dependent on the distance to the origin. More...

#include <RadiallyFallingFloor.hpp>

Classes

struct  MinimumRadius
 The minimum radius at which to begin applying the floors on the density and pressure. More...
 
struct  PowerDensityFloor
 The power of the radius of the floor of the rest mass density. More...
 
struct  PowerPressureFloor
 The power of the radius of the floor of the pressure. More...
 
struct  ScaleDensityFloor
 The scale of the floor of the rest mass density. More...
 
struct  ScalePressureFloor
 The scale of the floor of the pressure. More...
 

Public Types

using options = tmpl::list< MinimumRadius, ScaleDensityFloor, PowerDensityFloor, ScalePressureFloor, PowerPressureFloor >
 
using return_tags = tmpl::list< hydro::Tags::RestMassDensity< DataVector >, hydro::Tags::Pressure< DataVector > >
 
using argument_tags = tmpl::list< domain::Tags::Coordinates< Dim, Frame::Inertial > >
 

Public Member Functions

 RadiallyFallingFloor (double minimum_radius_at_which_to_apply_floor, double rest_mass_density_scale, double rest_mass_density_power, double pressure_scale, double pressure_power) noexcept
 
 RadiallyFallingFloor (const RadiallyFallingFloor &)=default
 
RadiallyFallingFlooroperator= (const RadiallyFallingFloor &)=default
 
 RadiallyFallingFloor (RadiallyFallingFloor &&) noexcept=default
 
RadiallyFallingFlooroperator= (RadiallyFallingFloor &&) noexcept=default
 
void pup (PUP::er &p) noexcept
 
void operator() (gsl::not_null< Scalar< DataVector > * > density, gsl::not_null< Scalar< DataVector > * > pressure, const tnsr::I< DataVector, Dim, Frame::Inertial > &coords) const noexcept
 

Static Public Attributes

static constexpr Options::String help
 

Friends

template<size_t LocalDim>
bool operator== (const RadiallyFallingFloor< LocalDim > &lhs, const RadiallyFallingFloor< LocalDim > &rhs) noexcept
 

Detailed Description

template<size_t Dim>
class VariableFixing::RadiallyFallingFloor< Dim >

Applies a pressure and density floor dependent on the distance to the origin.

Applies the floors: \(\rho(r) \geq \rho_{\mathrm{fl}}(r) = C_\rho r^{k_\rho}\) and \(P(r) \geq P_{\mathrm{fl}}(r) = C_p r^{k_p}\) when \( r > r_{min}\), where \(C_\rho\) is given by the option ScaleDensityFloor, \(k_\rho\) is given by the option PowerDensityFloor, \(C_p\) is given by the option ScalePressureFloor, \(k_p\) is given by the option PowerPressureFloor, and \(r_{min}\) is given by the option MinimumRadius.

Note
In [89], the following floors are applied: \(\rho(r) \geq \rho_{\mathrm{fl}}(r) = 10^{-5}r^{-3/2}\) and \(P(r) \geq P_{\mathrm{fl}}(r) = \frac{1}{3} \times 10^{-7}r^{-5/2}\)

Member Data Documentation

◆ help

template<size_t Dim>
constexpr Options::String VariableFixing::RadiallyFallingFloor< Dim >::help
staticconstexpr
Initial value:
= {
"Applies a pressure and density floor dependent on the distance to the "
"origin."}