SpECTRE  v2025.08.19
VariableFixing::FixToAtmosphere< Dim >::VelocityLimitingOptions Struct Reference

Limit the velocity in and near the atmosphere. More...

#include <FixToAtmosphere.hpp>

Classes

struct  AtmosphereDensityCutoff
 
struct  AtmosphereMaxVelocity
 
struct  NearAtmosphereMaxVelocity
 
struct  TransitionDensityBound
 

Public Types

using options = tmpl::list< AtmosphereMaxVelocity, NearAtmosphereMaxVelocity, AtmosphereDensityCutoff, TransitionDensityBound >
 

Public Member Functions

void pup (PUP::er &p)
 
bool operator== (const VelocityLimitingOptions &rhs) const
 
bool operator!= (const VelocityLimitingOptions &rhs) const
 

Public Attributes

double atmosphere_max_velocity
 
double near_atmosphere_max_velocity
 
double atmosphere_density_cutoff
 
double transition_density_bound
 

Static Public Attributes

static constexpr Options::String help
 

Detailed Description

template<size_t Dim>
struct VariableFixing::FixToAtmosphere< Dim >::VelocityLimitingOptions

Limit the velocity in and near the atmosphere.

Let \(v_{\max}\) be the maximum magnitude of the velocity near the atmosphere, which we typically set to \(10^{-4}\). We let \(v_{\mathrm{atm}}\) be the maximum magnitude of the velocity in the atmosphere, which we typically set to \(0\). We then define the maximum magnitude of the spatial velocity to be

\begin{align*} \tilde{v} &=\begin{cases} v_{\mathrm{atm}}, & \mathrm{if}\; \rho < \rho_{v_-} \ \ v_{\mathrm{atm}} + \left(v_{\max} - v_{\mathrm{atm}}\right) \frac{\rho - \rho_{v_-}}{\rho_{v_+} - \rho_{v_-}}, & \mathrm{if}\;\rho_{v_-} \le \rho < \rho_{v_+} \end{cases} \end{align*}

We then rescale the velocity by

\begin{align*} v^i\to v^i\frac{\tilde{v}}{\sqrt{v^i\gamma_{ij}v^j}}. \end{align*}

Member Data Documentation

◆ atmosphere_density_cutoff

template<size_t Dim>
double VariableFixing::FixToAtmosphere< Dim >::VelocityLimitingOptions::atmosphere_density_cutoff

◆ atmosphere_max_velocity

template<size_t Dim>
double VariableFixing::FixToAtmosphere< Dim >::VelocityLimitingOptions::atmosphere_max_velocity

◆ help

template<size_t Dim>
constexpr Options::String VariableFixing::FixToAtmosphere< Dim >::VelocityLimitingOptions::help
staticconstexpr
Initial value:
= {
"Limit the velocity in and near the atmosphere."}

◆ near_atmosphere_max_velocity

template<size_t Dim>
double VariableFixing::FixToAtmosphere< Dim >::VelocityLimitingOptions::near_atmosphere_max_velocity

◆ transition_density_bound

template<size_t Dim>
double VariableFixing::FixToAtmosphere< Dim >::VelocityLimitingOptions::transition_density_bound

The documentation for this struct was generated from the following file: