SpECTRE  v2026.04.01
Loading...
Searching...
No Matches
VariableFixing::FixToAtmosphere< Dim > Class Template Reference

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
using return_tags
using argument_tags

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
FixToAtmosphereoperator= (const FixToAtmosphere &)=default
 FixToAtmosphere (FixToAtmosphere &&)=default
FixToAtmosphereoperator= (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)

Detailed Description

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

Fix the primitive variables to an atmosphere in low density regions.

If the rest mass density is below \(\rho_{\textrm{cutoff}}\) (DensityCutoff), it is set to \(\rho_{\textrm{atm}}\) (DensityOfAtmosphere), and the pressure, and specific internal energy (for one-dimensional equations of state) are adjusted to satisfy the equation of state. For a two-dimensional equation of state, the specific internal energy is set to zero.

Member Typedef Documentation

◆ argument_tags

template<size_t Dim>
using VariableFixing::FixToAtmosphere< Dim >::argument_tags
Initial value:
tmpl::list<hydro::Tags::ElectronFraction<DataVector>,
Definition Tags.hpp:25
The equation of state retrieved from the analytic solution / data in the input file.
Definition Tags.hpp:343

◆ options

template<size_t Dim>
using VariableFixing::FixToAtmosphere< Dim >::options
Initial value:
Rest mass density of the atmosphere.
Definition FixToAtmosphere.hpp:83
If set then we apply a limiting precodure on the temperature near the atmosphere based on essentially...
Definition FixToAtmosphere.hpp:295
Definition FixToAtmosphere.hpp:175

◆ return_tags

template<size_t Dim>
using VariableFixing::FixToAtmosphere< Dim >::return_tags
Initial value:
tmpl::list<hydro::Tags::RestMassDensity<DataVector>,
The Lorentz factor , where is the spatial velocity of the fluid.
Definition Tags.hpp:181
The fluid pressure .
Definition Tags.hpp:234
The spatial velocity of the fluid, where . Here is the spatial part of the 4-velocity of the fluid,...
Definition Tags.hpp:257
The specific internal energy .
Definition Tags.hpp:286
The temperature of the fluid.
Definition Tags.hpp:292

Member Data Documentation

◆ help

template<size_t Dim>
Options::String VariableFixing::FixToAtmosphere< Dim >::help
staticconstexpr
Initial value:
= {
"If the rest mass density is below DensityCutoff, it is set\n"
"to DensityOfAtmosphere, and the pressure, and specific internal energy\n"
"(for one-dimensional equations of state) are\n"
"adjusted to satisfy the equation of state. For a two-dimensional\n"
"equation of state, the specific internal energy is set to zero.\n"
"In addition, the spatial velocity is set to zero, and the Lorentz\n"
"factor is set to one.\n"}

The documentation for this class was generated from the following file:
  • src/Evolution/VariableFixing/FixToAtmosphere.hpp