SpECTRE  v2026.04.01
Loading...
Searching...
No Matches
grmhd::ValenciaDivClean::fd::PositivityPreservingAdaptiveOrderPrim Class Reference

Positivity-preserving adaptive order reconstruction. See fd::reconstruction::positivity_preserving_adaptive_order() for details. More...

#include <PositivityPreservingAdaptiveOrder.hpp>

Classes

struct  Alpha5
struct  Alpha7
struct  Alpha9
struct  LowOrderReconstructor
struct  ReconstructRhoTimesTemperature

Public Types

using options
using reconstruction_argument_tags
Public Types inherited from grmhd::ValenciaDivClean::fd::Reconstructor
using creatable_classes

Public Member Functions

 PositivityPreservingAdaptiveOrderPrim (PositivityPreservingAdaptiveOrderPrim &&)=default
PositivityPreservingAdaptiveOrderPrimoperator= (PositivityPreservingAdaptiveOrderPrim &&)=default
 PositivityPreservingAdaptiveOrderPrim (const PositivityPreservingAdaptiveOrderPrim &)=default
PositivityPreservingAdaptiveOrderPrimoperator= (const PositivityPreservingAdaptiveOrderPrim &)=default
 PositivityPreservingAdaptiveOrderPrim (double alpha_5, std::optional< double > alpha_7, std::optional< double > alpha_9, FallbackReconstructorType low_order_reconstructor, bool reconstruct_rho_times_temperature, const Options::Context &context={})
 PositivityPreservingAdaptiveOrderPrim (CkMigrateMessage *msg)
 WRAPPED_PUPable_decl_base_template (Reconstructor, PositivityPreservingAdaptiveOrderPrim)
auto get_clone () const -> std::unique_ptr< Reconstructor > override
bool supports_adaptive_order () const override
void pup (PUP::er &p) override
size_t ghost_zone_size () const override
template<size_t ThermodynamicDim>
void reconstruct (gsl::not_null< std::array< Variables< tags_list_for_reconstruct >, dim > * > vars_on_lower_face, gsl::not_null< std::array< Variables< tags_list_for_reconstruct >, dim > * > vars_on_upper_face, gsl::not_null< std::optional< std::array< gsl::span< std::uint8_t >, dim > > * > reconstruction_order, const Variables< hydro::grmhd_tags< DataVector > > &volume_prims, const EquationsOfState::EquationOfState< true, ThermodynamicDim > &eos, const Element< dim > &element, const DirectionalIdMap< dim, evolution::dg::subcell::GhostData > &ghost_data, const Mesh< dim > &subcell_mesh) const
template<size_t ThermodynamicDim>
void reconstruct_fd_neighbor (gsl::not_null< Variables< tags_list_for_reconstruct > * > vars_on_face, const Variables< hydro::grmhd_tags< DataVector > > &subcell_volume_prims, const EquationsOfState::EquationOfState< true, ThermodynamicDim > &eos, const Element< dim > &element, const DirectionalIdMap< dim, evolution::dg::subcell::GhostData > &ghost_data, const Mesh< dim > &subcell_mesh, Direction< dim > direction_to_reconstruct) const
bool reconstruct_rho_times_temperature () const override
Public Member Functions inherited from grmhd::ValenciaDivClean::fd::Reconstructor
 Reconstructor (const Reconstructor &)=default
Reconstructoroperator= (const Reconstructor &)=default
 Reconstructor (Reconstructor &&)=default
Reconstructoroperator= (Reconstructor &&)=default
void pup (PUP::er &p) override

Static Public Attributes

static constexpr size_t dim = 3
static constexpr Options::String help
static constexpr bool use_adaptive_order = true

Friends

bool operator== (const PositivityPreservingAdaptiveOrderPrim &lhs, const PositivityPreservingAdaptiveOrderPrim &rhs)
bool operator!= (const PositivityPreservingAdaptiveOrderPrim &lhs, const PositivityPreservingAdaptiveOrderPrim &rhs)

Detailed Description

Positivity-preserving adaptive order reconstruction. See fd::reconstruction::positivity_preserving_adaptive_order() for details.

The rest mass density, electron fraction, and the pressure are kept positive.

Member Typedef Documentation

◆ options

using grmhd::ValenciaDivClean::fd::PositivityPreservingAdaptiveOrderPrim::options

◆ reconstruction_argument_tags

using grmhd::ValenciaDivClean::fd::PositivityPreservingAdaptiveOrderPrim::reconstruction_argument_tags
Initial value:
tmpl::list<::Tags::Variables<hydro::grmhd_tags<DataVector>>,
The Element associated with the DataBox.
Definition Tags.hpp:52
The ghost data used for reconstructing the solution on the interfaces between elements.
Definition GhostDataForReconstruction.hpp:25
The mesh on the subcells.
Definition Mesh.hpp:22
The equation of state retrieved from the analytic solution / data in the input file.
Definition Tags.hpp:343

Member Function Documentation

◆ get_clone()

auto grmhd::ValenciaDivClean::fd::PositivityPreservingAdaptiveOrderPrim::get_clone ( ) const -> std::unique_ptr< Reconstructor >
overridevirtual

◆ ghost_zone_size()

size_t grmhd::ValenciaDivClean::fd::PositivityPreservingAdaptiveOrderPrim::ghost_zone_size ( ) const
inlineoverridevirtual

◆ reconstruct_rho_times_temperature()

bool grmhd::ValenciaDivClean::fd::PositivityPreservingAdaptiveOrderPrim::reconstruct_rho_times_temperature ( ) const
overridevirtual

◆ supports_adaptive_order()

bool grmhd::ValenciaDivClean::fd::PositivityPreservingAdaptiveOrderPrim::supports_adaptive_order ( ) const
inlineoverridevirtual

Member Data Documentation

◆ help

Options::String grmhd::ValenciaDivClean::fd::PositivityPreservingAdaptiveOrderPrim::help
staticconstexpr
Initial value:
{
"Positivity-preserving adaptive-order reconstruction."}

The documentation for this class was generated from the following file:
  • src/Evolution/Systems/GrMhd/ValenciaDivClean/FiniteDifference/PositivityPreservingAdaptiveOrder.hpp