SpECTRE  v2024.04.12
grmhd::GhValenciaDivClean::BoundaryCorrections::ProductOfCorrections< DerivedGhCorrection, DerivedValenciaCorrection > Class Template Referencefinal

Apply a boundary condition to the combined Generalized Harmonic (GH) and Valencia GRMHD system using boundary corrections defined separately for the GH and Valencia systems. More...

#include <ProductOfCorrections.hpp>

Classes

struct  GhCorrection
 
struct  ValenciaCorrection
 

Public Types

using dg_package_field_tags = tmpl::append< typename DerivedGhCorrection::dg_package_field_tags, typename DerivedValenciaCorrection::dg_package_field_tags >
 
using dg_package_data_temporary_tags = tmpl::remove_duplicates< tmpl::append< typename DerivedGhCorrection::dg_package_data_temporary_tags, typename DerivedValenciaCorrection::dg_package_data_temporary_tags > >
 
using dg_package_data_primitive_tags = typename DerivedValenciaCorrection::dg_package_data_primitive_tags
 
using dg_package_data_volume_tags = tmpl::append< typename DerivedGhCorrection::dg_package_data_volume_tags, typename DerivedValenciaCorrection::dg_package_data_volume_tags >
 
using dg_boundary_terms_volume_tags = tmpl::append< typename DerivedGhCorrection::dg_boundary_terms_volume_tags, typename DerivedValenciaCorrection::dg_boundary_terms_volume_tags >
 
using derived_product_correction_impl = detail::ProductOfCorrectionsImpl< DerivedGhCorrection, DerivedValenciaCorrection, typename DerivedGhCorrection::dg_package_field_tags, typename DerivedValenciaCorrection::dg_package_field_tags, typename gh::System< 3_st >::variables_tag::tags_list, typename grmhd::ValenciaDivClean::System::variables_tag::tags_list, db::wrap_tags_in<::Tags::Flux, typename gh::System< 3_st >::flux_variables, tmpl::size_t< 3_st >, Frame::Inertial >, db::wrap_tags_in<::Tags::Flux, typename grmhd::ValenciaDivClean::System::flux_variables, tmpl::size_t< 3_st >, Frame::Inertial >, typename DerivedGhCorrection::dg_package_data_temporary_tags, typename DerivedValenciaCorrection::dg_package_data_temporary_tags, dg_package_data_temporary_tags, tmpl::list<>, typename DerivedValenciaCorrection::dg_package_data_primitive_tags, typename DerivedGhCorrection::dg_package_data_volume_tags, typename DerivedValenciaCorrection::dg_package_data_volume_tags >
 
using options = tmpl::list< GhCorrection, ValenciaCorrection >
 
- Public Types inherited from grmhd::GhValenciaDivClean::BoundaryCorrections::BoundaryCorrection
using creatable_classes = typename detail::AllProductCorrections< typename gh::BoundaryCorrections::BoundaryCorrection< 3_st >::creatable_classes, typename grmhd::ValenciaDivClean::BoundaryCorrections::BoundaryCorrection::creatable_classes >::type
 

Public Member Functions

 ProductOfCorrections (DerivedGhCorrection gh_correction, DerivedValenciaCorrection valencia_correction)
 
 ProductOfCorrections (const ProductOfCorrections &)=default
 
ProductOfCorrectionsoperator= (const ProductOfCorrections &)=default
 
 ProductOfCorrections (ProductOfCorrections &&)=default
 
ProductOfCorrectionsoperator= (ProductOfCorrections &&)=default
 
void pup (PUP::er &p) override
 
std::unique_ptr< BoundaryCorrectionget_clone () const override
 
template<typename... Args>
double dg_package_data (Args &&... args) const
 
template<typename... Args>
void dg_boundary_terms (Args &&... args) const
 
const DerivedGhCorrection & gh_correction () const
 
const DerivedValenciaCorrection & valencia_correction () const
 
- Public Member Functions inherited from grmhd::GhValenciaDivClean::BoundaryCorrections::BoundaryCorrection
 BoundaryCorrection (const BoundaryCorrection &)=default
 
BoundaryCorrectionoperator= (const BoundaryCorrection &)=default
 
 BoundaryCorrection (BoundaryCorrection &&)=default
 
BoundaryCorrectionoperator= (BoundaryCorrection &&)=default
 
virtual std::unique_ptr< BoundaryCorrectionget_clone () const =0
 

Static Public Member Functions

static std::string name ()
 

Static Public Attributes

static constexpr Options::String help
 

Detailed Description

template<typename DerivedGhCorrection, typename DerivedValenciaCorrection>
class grmhd::GhValenciaDivClean::BoundaryCorrections::ProductOfCorrections< DerivedGhCorrection, DerivedValenciaCorrection >

Apply a boundary condition to the combined Generalized Harmonic (GH) and Valencia GRMHD system using boundary corrections defined separately for the GH and Valencia systems.

Details

The implementation of this boundary correction applies the DerivedGhCorrection followed by the DerivedValenciaCorrection. It is anticipated that the systems are sufficiently independent that the order of application is inconsequential.

Member Function Documentation

◆ get_clone()

template<typename DerivedGhCorrection , typename DerivedValenciaCorrection >
std::unique_ptr< BoundaryCorrection > grmhd::GhValenciaDivClean::BoundaryCorrections::ProductOfCorrections< DerivedGhCorrection, DerivedValenciaCorrection >::get_clone ( ) const
inlineoverridevirtual

Member Data Documentation

◆ help

template<typename DerivedGhCorrection , typename DerivedValenciaCorrection >
constexpr Options::String grmhd::GhValenciaDivClean::BoundaryCorrections::ProductOfCorrections< DerivedGhCorrection, DerivedValenciaCorrection >::help
staticconstexpr
Initial value:
= {
"Direct product of a GH and ValenciaDivClean GRMHD boundary correction. "
"See the documentation for the two individual boundary corrections for "
"further details."}

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