SpECTRE  v2026.06.09
Loading...
Searching...
No Matches
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
using dg_package_data_temporary_tags
using dg_package_data_primitive_tags
using dg_package_data_volume_tags
using dg_boundary_terms_volume_tags
using derived_product_correction_impl
using options = tmpl::list<GhCorrection, ValenciaCorrection>

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< BoundaryCorrection > get_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 evolution::BoundaryCorrection
 BoundaryCorrection (const BoundaryCorrection &)=default
BoundaryCorrectionoperator= (const BoundaryCorrection &)=default
 BoundaryCorrection (BoundaryCorrection &&)=default
BoundaryCorrectionoperator= (BoundaryCorrection &&)=default
 BoundaryCorrection (CkMigrateMessage *msg)

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 Typedef Documentation

◆ derived_product_correction_impl

template<typename DerivedGhCorrection, typename DerivedValenciaCorrection>
using grmhd::GhValenciaDivClean::BoundaryCorrections::ProductOfCorrections< DerivedGhCorrection, DerivedValenciaCorrection >::derived_product_correction_impl
Initial value:
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,
tmpl::size_t<3_st>, Frame::Inertial>,
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>
tmpl::transform< TagList, tmpl::bind< Wrapper, tmpl::_1, tmpl::pin< Args >... > > wrap_tags_in
Create a new tmpl::list of tags by wrapping each tag in TagList in Wrapper<_, Args....
Definition PrefixHelpers.hpp:29
Definition IndexType.hpp:46
Prefix indicating a flux.
Definition Prefixes.hpp:114

◆ dg_boundary_terms_volume_tags

template<typename DerivedGhCorrection, typename DerivedValenciaCorrection>
using grmhd::GhValenciaDivClean::BoundaryCorrections::ProductOfCorrections< DerivedGhCorrection, DerivedValenciaCorrection >::dg_boundary_terms_volume_tags
Initial value:
tmpl::append<
typename DerivedGhCorrection::dg_boundary_terms_volume_tags,
typename DerivedValenciaCorrection::dg_boundary_terms_volume_tags>

◆ dg_package_data_primitive_tags

template<typename DerivedGhCorrection, typename DerivedValenciaCorrection>
using grmhd::GhValenciaDivClean::BoundaryCorrections::ProductOfCorrections< DerivedGhCorrection, DerivedValenciaCorrection >::dg_package_data_primitive_tags
Initial value:
typename DerivedValenciaCorrection::dg_package_data_primitive_tags

◆ dg_package_data_temporary_tags

template<typename DerivedGhCorrection, typename DerivedValenciaCorrection>
using grmhd::GhValenciaDivClean::BoundaryCorrections::ProductOfCorrections< DerivedGhCorrection, DerivedValenciaCorrection >::dg_package_data_temporary_tags
Initial value:
tmpl::remove_duplicates<tmpl::append<
typename DerivedGhCorrection::dg_package_data_temporary_tags,
typename DerivedValenciaCorrection::dg_package_data_temporary_tags>>

◆ dg_package_data_volume_tags

template<typename DerivedGhCorrection, typename DerivedValenciaCorrection>
using grmhd::GhValenciaDivClean::BoundaryCorrections::ProductOfCorrections< DerivedGhCorrection, DerivedValenciaCorrection >::dg_package_data_volume_tags
Initial value:
tmpl::append<
typename DerivedGhCorrection::dg_package_data_volume_tags,
typename DerivedValenciaCorrection::dg_package_data_volume_tags>

◆ dg_package_field_tags

template<typename DerivedGhCorrection, typename DerivedValenciaCorrection>
using grmhd::GhValenciaDivClean::BoundaryCorrections::ProductOfCorrections< DerivedGhCorrection, DerivedValenciaCorrection >::dg_package_field_tags
Initial value:
tmpl::append<typename DerivedGhCorrection::dg_package_field_tags,
typename DerivedValenciaCorrection::dg_package_field_tags>

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>
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:
  • src/Evolution/Systems/GrMhd/GhValenciaDivClean/BoundaryCorrections/ProductOfCorrections.hpp