SpECTRE  v2024.04.12
ForceFree::fd::AdaptiveOrder Class Reference

Adaptive order FD reconstruction. See fd::reconstruction::positivity_preserving_adaptive_order() for details. Note that in the ForceFree evolution system no variable needs to be kept positive. More...

#include <AdaptiveOrder.hpp>

Classes

struct  Alpha5
 
struct  Alpha7
 
struct  Alpha9
 
struct  LowOrderReconstructor
 

Public Types

using options = tmpl::list< Alpha5, Alpha7, Alpha9, LowOrderReconstructor >
 
using reconstruction_argument_tags = tmpl::list<::Tags::Variables< volume_vars_tags >, TildeJ, domain::Tags::Element< dim >, evolution::dg::subcell::Tags::GhostDataForReconstruction< dim >, evolution::dg::subcell::Tags::Mesh< dim > >
 
- Public Types inherited from ForceFree::fd::Reconstructor
using creatable_classes = tmpl::list< AdaptiveOrder, MonotonisedCentral, Wcns5z >
 

Public Member Functions

 AdaptiveOrder (AdaptiveOrder &&)=default
 
AdaptiveOrderoperator= (AdaptiveOrder &&)=default
 
 AdaptiveOrder (const AdaptiveOrder &)=default
 
AdaptiveOrderoperator= (const AdaptiveOrder &)=default
 
 AdaptiveOrder (double alpha_5, std::optional< double > alpha_7, std::optional< double > alpha_9, FallbackReconstructorType low_order_reconstructor, const Options::Context &context={})
 
 AdaptiveOrder (CkMigrateMessage *msg)
 
 WRAPPED_PUPable_decl_base_template (Reconstructor, AdaptiveOrder)
 
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
 
void reconstruct (gsl::not_null< std::array< Variables< recons_tags >, dim > * > vars_on_lower_face, gsl::not_null< std::array< Variables< recons_tags >, dim > * > vars_on_upper_face, const Variables< volume_vars_tags > &volume_vars, const tnsr::I< DataVector, 3, Frame::Inertial > &tilde_j, const Element< dim > &element, const DirectionalIdMap< dim, evolution::dg::subcell::GhostData > &ghost_data, const Mesh< dim > &subcell_mesh) const
 
void reconstruct_fd_neighbor (gsl::not_null< Variables< recons_tags > * > vars_on_face, const Variables< volume_vars_tags > &volume_vars, const tnsr::I< DataVector, 3, Frame::Inertial > &tilde_j, const Element< dim > &element, const DirectionalIdMap< dim, evolution::dg::subcell::GhostData > &ghost_data, const Mesh< dim > &subcell_mesh, const Direction< dim > direction_to_reconstruct) const
 
- Public Member Functions inherited from ForceFree::fd::Reconstructor
 Reconstructor (const Reconstructor &)=default
 
Reconstructoroperator= (const Reconstructor &)=default
 
 Reconstructor (Reconstructor &&)=default
 
Reconstructoroperator= (Reconstructor &&)=default
 
void pup (PUP::er &p) override
 
virtual std::unique_ptr< Reconstructorget_clone () const =0
 
virtual size_t ghost_zone_size () const =0
 
virtual bool supports_adaptive_order () const
 

Static Public Attributes

static constexpr size_t dim = 3
 
static constexpr Options::String help {"Adaptive-order reconstruction."}
 
static constexpr bool use_adaptive_order = true
 

Friends

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

Detailed Description

Adaptive order FD reconstruction. See fd::reconstruction::positivity_preserving_adaptive_order() for details. Note that in the ForceFree evolution system no variable needs to be kept positive.

Member Function Documentation

◆ get_clone()

auto ForceFree::fd::AdaptiveOrder::get_clone ( ) const -> std::unique_ptr< Reconstructor >
overridevirtual

◆ ghost_zone_size()

size_t ForceFree::fd::AdaptiveOrder::ghost_zone_size ( ) const
inlineoverridevirtual

◆ supports_adaptive_order()

bool ForceFree::fd::AdaptiveOrder::supports_adaptive_order ( ) const
inlineoverridevirtual

Reimplemented from ForceFree::fd::Reconstructor.


The documentation for this class was generated from the following file: