SpECTRE
v2025.03.17
|
Reduces oscillations inside an element in an attempt to guarantee a physical solution of the conserved variables for which the primitive variables can be recovered. More...
#include <Flattener.hpp>
Classes | |
struct | RecoverPrimitives |
If true, then the primitive variables are updated at the end of the function. More... | |
struct | RequirePhysicalMeanTildeTau |
Require that the mean of TildeTau is physical, otherwise terminate the simulation. More... | |
struct | RequirePositiveMeanTildeD |
Require that the mean of TildeD is positive, otherwise terminate the simulation. More... | |
struct | RequirePositiveMeanTildeYe |
Require that the mean of TildeYe is positive, otherwise terminate the simulation. More... | |
Public Types | |
using | options = implementation defined |
using | return_tags = implementation defined |
using | argument_tags = implementation defined |
Public Member Functions | |
Flattener (bool require_positive_mean_tilde_d, bool require_positive_mean_tilde_ye, bool require_physical_mean_tilde_tau, bool recover_primitives) | |
Flattener (const Flattener &)=default | |
Flattener & | operator= (const Flattener &)=default |
Flattener (Flattener &&)=default | |
Flattener & | operator= (Flattener &&)=default |
void | pup (PUP::er &p) |
void | 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 > * > tilde_s, gsl::not_null< Variables< hydro::grmhd_tags< DataVector > > * > primitives, const tnsr::I< DataVector, 3, Frame::Inertial > &tilde_b, const Scalar< DataVector > &tilde_phi, const Scalar< DataVector > &sqrt_det_spatial_metric, const tnsr::ii< DataVector, 3, Frame::Inertial > &spatial_metric, const tnsr::II< DataVector, 3, Frame::Inertial > &inv_spatial_metric, const Mesh< 3 > &mesh, const Scalar< DataVector > &det_logical_to_inertial_inv_jacobian, const EquationsOfState::EquationOfState< true, 3 > &eos, const grmhd::ValenciaDivClean::PrimitiveFromConservativeOptions &primitive_from_conservative_options) const |
Static Public Attributes | |
static constexpr Options::String | help |
Friends | |
template<typename LocalRecoverySchemesList > | |
bool | operator== (const Flattener< LocalRecoverySchemesList > &lhs, const Flattener< LocalRecoverySchemesList > &rhs) |
Reduces oscillations inside an element in an attempt to guarantee a physical solution of the conserved variables for which the primitive variables can be recovered.
The algorithm uses the conditions of FixConservatives on
This currently doesn't use the check on
|
staticconstexpr |