Classes | Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
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 derived_product_correction_impl = detail::ProductOfCorrectionsImpl< DerivedGhCorrection, DerivedValenciaCorrection, typename DerivedGhCorrection::dg_package_field_tags, typename DerivedValenciaCorrection::dg_package_field_tags, typename GeneralizedHarmonic::System< 3_st >::variables_tag::tags_list, typename grmhd::ValenciaDivClean::System::variables_tag::tags_list, db::wrap_tags_in< ::Tags::Flux, typename GeneralizedHarmonic::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 GeneralizedHarmonic::BoundaryCorrections::BoundaryCorrection< 3_st >::creatable_classes, typename grmhd::ValenciaDivClean::BoundaryCorrections::BoundaryCorrection::creatable_classes >::type
 

Public Member Functions

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

Static Public Member Functions

static std::string name () noexcept
 

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 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: