|
SpECTRE
v2025.08.19
|
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 |
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*}
| double VariableFixing::FixToAtmosphere< Dim >::VelocityLimitingOptions::atmosphere_density_cutoff |
| double VariableFixing::FixToAtmosphere< Dim >::VelocityLimitingOptions::atmosphere_max_velocity |
|
staticconstexpr |
| double VariableFixing::FixToAtmosphere< Dim >::VelocityLimitingOptions::near_atmosphere_max_velocity |
| double VariableFixing::FixToAtmosphere< Dim >::VelocityLimitingOptions::transition_density_bound |