SpECTRE
v2025.03.17
|
Fix the primitive variables to an atmosphere in low density regions. More...
#include <FixToAtmosphere.hpp>
Classes | |
struct | DensityCutoff |
Rest mass density at which to impose the atmosphere. Should be greater than or equal to the density of the atmosphere. More... | |
struct | DensityOfAtmosphere |
Rest mass density of the atmosphere. More... | |
struct | KappaLimiting |
If set then we apply a limiting precodure on the temperature near the atmosphere based on essentially limiting the polytropic constant in a Gamma-law equation of state. More... | |
struct | KappaLimitingOptions |
Options for limiting the temperature in the atmosphere by effectively limiting the polytropic constant, with a generalization for finite temperature equations of state. More... | |
struct | VelocityLimiting |
struct | VelocityLimitingOptions |
Limit the velocity in and near the atmosphere. More... | |
Public Types | |
using | options = implementation defined |
using | return_tags = implementation defined |
using | argument_tags = implementation defined |
Public Member Functions | |
FixToAtmosphere (double density_of_atmosphere, double density_cutoff, std::optional< VelocityLimitingOptions > velocity_limiting, std::optional< KappaLimitingOptions > kappa_limiting, const Options::Context &context={}) | |
FixToAtmosphere (const FixToAtmosphere &)=default | |
FixToAtmosphere & | operator= (const FixToAtmosphere &)=default |
FixToAtmosphere (FixToAtmosphere &&)=default | |
FixToAtmosphere & | operator= (FixToAtmosphere &&)=default |
void | pup (PUP::er &p) |
template<size_t ThermodynamicDim> | |
void | operator() (gsl::not_null< Scalar< DataVector > * > rest_mass_density, gsl::not_null< Scalar< DataVector > * > specific_internal_energy, gsl::not_null< tnsr::I< DataVector, Dim, Frame::Inertial > * > spatial_velocity, gsl::not_null< Scalar< DataVector > * > lorentz_factor, gsl::not_null< Scalar< DataVector > * > pressure, gsl::not_null< Scalar< DataVector > * > temperature, const Scalar< DataVector > &electron_fraction, const tnsr::ii< DataVector, Dim, Frame::Inertial > &spatial_metric, const EquationsOfState::EquationOfState< true, ThermodynamicDim > &equation_of_state) const |
double | density_of_atmosphere () const |
Other algorithmic decisions may depend on the atmosphere treatment so provide access to the values. | |
double | density_cutoff () const |
Other algorithmic decisions may depend on the atmosphere treatment so provide access to the values. | |
const std::optional< VelocityLimitingOptions > & | velocity_limiting () const |
Other algorithmic decisions may depend on the atmosphere treatment so provide access to the values. | |
const std::optional< KappaLimitingOptions > & | kappa_limiting () const |
Other algorithmic decisions may depend on the atmosphere treatment so provide access to the values. | |
Static Public Attributes | |
static constexpr Options::String | help |
Friends | |
template<size_t SpatialDim> | |
bool | operator== (const FixToAtmosphere< SpatialDim > &lhs, const FixToAtmosphere< SpatialDim > &rhs) |
Fix the primitive variables to an atmosphere in low density regions.
If the rest mass density is below
|
staticconstexpr |