SpECTRE  v2026.04.01
Loading...
Searching...
No Matches
VariableFixing::LimitLorentzFactor Class Reference

Limit the maximum Lorentz factor to LorentzFactorCap in regions where the density is below MaxDensityCutoff. More...

#include <LimitLorentzFactor.hpp>

Classes

struct  Enable
 Whether or not the limiting is enabled. More...
struct  LorentzFactorCap
 Largest Lorentz factor allowed. If a larger one is found, normalize velocity to have the Lorentz factor be this value. More...
struct  MaxDensityCutoff
 Do not apply the Lorentz factor cap above this density. More...

Public Types

using options = tmpl::list<MaxDensityCutoff, LorentzFactorCap, Enable>
using return_tags
using argument_tags = tmpl::list<hydro::Tags::RestMassDensity<DataVector>>

Public Member Functions

 LimitLorentzFactor (double max_density_cutoff, double lorentz_factor_cap, bool enable)
 LimitLorentzFactor (const LimitLorentzFactor &)=default
LimitLorentzFactoroperator= (const LimitLorentzFactor &)=default
 LimitLorentzFactor (LimitLorentzFactor &&)=default
LimitLorentzFactoroperator= (LimitLorentzFactor &&)=default
void pup (PUP::er &p)
void operator() (gsl::not_null< Scalar< DataVector > * > lorentz_factor, gsl::not_null< tnsr::I< DataVector, 3, Frame::Inertial > * > spatial_velocity, const Scalar< DataVector > &rest_mass_density) const

Static Public Attributes

static constexpr Options::String help

Friends

bool operator== (const LimitLorentzFactor &lhs, const LimitLorentzFactor &rhs)

Detailed Description

Limit the maximum Lorentz factor to LorentzFactorCap in regions where the density is below MaxDensityCutoff.

The Lorentz factor is set to LorentzFactorCap and the spatial velocity is adjusted according to:

\begin{align} v^i_{(\textrm{new})} = \sqrt{\left(1 - \frac{1}{W_{(\textrm{new})}^2}\right) \left(1 - \frac{1}{W_{(\textrm{old})}^2}\right)^{-1}} v^i_{(\textrm{old})} \end{align}

Member Typedef Documentation

◆ return_tags

using VariableFixing::LimitLorentzFactor::return_tags
Initial value:
tmpl::list<hydro::Tags::LorentzFactor<DataVector>,
The spatial velocity of the fluid, where . Here is the spatial part of the 4-velocity of the fluid,...
Definition Tags.hpp:257

Member Data Documentation

◆ help

Options::String VariableFixing::LimitLorentzFactor::help
staticconstexpr
Initial value:
= {
"Limit the maximum Lorentz factor to LorentzFactorCap in regions where "
"the\n"
"density is below MaxDensityCutoff. The Lorentz factor is set to\n"
"LorentzFactorCap and the spatial velocity is adjusted accordingly."}

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