SpECTRE
v2025.03.17
|
Fix conservative variables using method developed by Foucart. More...
#include <FixConservatives.hpp>
Classes | |
struct | CutoffD |
Cutoff below which | |
struct | CutoffYe |
Cutoff below which | |
struct | Enable |
Whether or not the limiting is enabled. More... | |
struct | MagneticField |
How to treat the magnetic field. More... | |
struct | MinimumValueOfD |
Minimum value of rest-mass density times lorentz factor. More... | |
struct | MinimumValueOfYe |
Minimum value of electron fraction | |
struct | SafetyFactorForB |
Safety factor | |
struct | SafetyFactorForS |
Safety factor | |
struct | SafetyFactorForSCutoffD |
Cutoff in | |
struct | SafetyFactorForSSlope |
Below SafetyFactorForSCutoffD, reduce | |
Public Types | |
using | options = implementation defined |
using | return_tags = implementation defined |
using | argument_tags = implementation defined |
Public Member Functions | |
FixConservatives (double minimum_rest_mass_density_times_lorentz_factor, double rest_mass_density_times_lorentz_factor_cutoff, double minimum_electron_fraction, double electron_fraction_cutoff, double safety_factor_for_magnetic_field, double safety_factor_for_momentum_density, double safety_factor_for_momentum_density_cutoff_d, double safety_factor_for_momentum_density_slope, bool enable, hydro::MagneticFieldTreatment magnetic_field_treatment, const Options::Context &context={}) | |
FixConservatives (const FixConservatives &)=default | |
FixConservatives & | operator= (const FixConservatives &)=default |
FixConservatives (FixConservatives &&)=default | |
FixConservatives & | operator= (FixConservatives &&)=default |
void | pup (PUP::er &p) |
bool | operator() (gsl::not_null< Scalar< DataVector > * > tilde_d, gsl::not_null< Scalar< DataVector > * > tilde_ye, gsl::not_null< Scalar< DataVector > * > tilde_tau, gsl::not_null< tnsr::i< DataVector, 3, Frame::Inertial > * > tilde_s, const tnsr::I< DataVector, 3, Frame::Inertial > &tilde_b, const tnsr::ii< DataVector, 3, Frame::Inertial > &spatial_metric, const tnsr::II< DataVector, 3, Frame::Inertial > &inv_spatial_metric, const Scalar< DataVector > &sqrt_det_spatial_metric) const |
Returns true if any variables were fixed. | |
Static Public Attributes | |
static constexpr Options::String | help |
Friends | |
bool | operator== (const FixConservatives &lhs, const FixConservatives &rhs) |
Fix conservative variables using method developed by Foucart.
Adjusts the conservative variables as follows:
CutoffYe
, change MinimumValueOfYe
.MinimumValueOfD
, whenever CutoffD
.SafetyFactorForB
.SafetyFactorForS
, and For more details see Appendix B from the thesis of Francois Foucart
You can plot the function whose root we are finding using:
|
staticconstexpr |