SpECTRE  v2026.06.30
Loading...
Searching...
No Matches
grmhd::GhValenciaDivClean::BoundaryConditions::CartoonGhost< System > Class Template Referencefinal

Apply parity-respecting FD ghost values for internal boundaries in a Cartoon evolution. More...

#include <CartoonGhost.hpp>

Public Types

using dg_interior_evolved_variables_tags = tmpl::list<>
using dg_interior_primitive_variables_tags = tmpl::list<>
using dg_interior_temporary_tags = tmpl::list<>
using dg_gridless_tags = tmpl::list<>
using fd_interior_evolved_variables_tags
using fd_interior_temporary_tags
using fd_interior_primitive_variables_tags
using fd_gridless_tags = tmpl::list<fd::Tags::Reconstructor<System>>

Public Member Functions

 CartoonGhost (CartoonGhost &&)=default
CartoonGhostoperator= (CartoonGhost &&)=default
 CartoonGhost (const CartoonGhost &)=default
CartoonGhostoperator= (const CartoonGhost &)=default
 CartoonGhost (CkMigrateMessage *msg)
 WRAPPED_PUPable_decl_base_template (domain::BoundaryConditions::BoundaryCondition, CartoonGhost)
auto get_clone () const -> std::unique_ptr< domain::BoundaryConditions::BoundaryCondition > override
void pup (PUP::er &p) override
Public Member Functions inherited from grmhd::GhValenciaDivClean::BoundaryConditions::BoundaryCondition
 BoundaryCondition (BoundaryCondition &&)=default
BoundaryConditionoperator= (BoundaryCondition &&)=default
 BoundaryCondition (const BoundaryCondition &)=default
BoundaryConditionoperator= (const BoundaryCondition &)=default
 BoundaryCondition (CkMigrateMessage *msg)
void pup (PUP::er &p) override
Public Member Functions inherited from domain::BoundaryConditions::BoundaryCondition
 BoundaryCondition (BoundaryCondition &&)=default
BoundaryConditionoperator= (BoundaryCondition &&)=default
 BoundaryCondition (const BoundaryCondition &)=default
BoundaryConditionoperator= (const BoundaryCondition &)=default
 BoundaryCondition (CkMigrateMessage *const msg)
 WRAPPED_PUPable_abstract (BoundaryCondition)
Public Member Functions inherited from domain::BoundaryConditions::MarkAsCartoon
 MarkAsCartoon (MarkAsCartoon &&)=default
MarkAsCartoonoperator= (MarkAsCartoon &&)=default
 MarkAsCartoon (const MarkAsCartoon &)=default
MarkAsCartoonoperator= (const MarkAsCartoon &)=default

Static Public Member Functions

static std::optional< std::stringdg_ghost (gsl::not_null< tnsr::aa< DataVector, 3, Frame::Inertial > * >, gsl::not_null< tnsr::aa< DataVector, 3, Frame::Inertial > * >, gsl::not_null< tnsr::iaa< DataVector, 3, Frame::Inertial > * >, gsl::not_null< Scalar< DataVector > * >, gsl::not_null< Scalar< DataVector > * >, gsl::not_null< Scalar< DataVector > * >, gsl::not_null< tnsr::i< DataVector, 3, Frame::Inertial > * >, gsl::not_null< tnsr::I< DataVector, 3, Frame::Inertial > * >, gsl::not_null< Scalar< DataVector > * >, gsl::not_null< tnsr::I< DataVector, 3, Frame::Inertial > * >, gsl::not_null< tnsr::I< DataVector, 3, Frame::Inertial > * >, gsl::not_null< tnsr::I< DataVector, 3, Frame::Inertial > * >, gsl::not_null< tnsr::Ij< DataVector, 3, Frame::Inertial > * >, gsl::not_null< tnsr::IJ< DataVector, 3, Frame::Inertial > * >, gsl::not_null< tnsr::I< DataVector, 3, Frame::Inertial > * >, gsl::not_null< Scalar< DataVector > * >, gsl::not_null< Scalar< DataVector > * >, gsl::not_null< Scalar< DataVector > * >, gsl::not_null< tnsr::I< DataVector, 3, Frame::Inertial > * >, gsl::not_null< tnsr::i< DataVector, 3, Frame::Inertial > * >, gsl::not_null< Scalar< DataVector > * >, gsl::not_null< Scalar< DataVector > * >, gsl::not_null< Scalar< DataVector > * >, gsl::not_null< tnsr::I< DataVector, 3, Frame::Inertial > * >, gsl::not_null< tnsr::II< DataVector, 3, Frame::Inertial > * >, const std::optional< tnsr::I< DataVector, 3, Frame::Inertial > > &, const tnsr::i< DataVector, 3, Frame::Inertial > &, const tnsr::I< DataVector, 3, Frame::Inertial > &)
static void fd_ghost (gsl::not_null< tnsr::aa< DataVector, 3, Frame::Inertial > * > spacetime_metric, gsl::not_null< tnsr::aa< DataVector, 3, Frame::Inertial > * > pi, gsl::not_null< tnsr::iaa< DataVector, 3, Frame::Inertial > * > phi, gsl::not_null< Scalar< DataVector > * > rest_mass_density, gsl::not_null< Scalar< DataVector > * > electron_fraction, gsl::not_null< Scalar< DataVector > * > temperature, gsl::not_null< tnsr::I< DataVector, 3, Frame::Inertial > * > lorentz_factor_times_spatial_velocity, gsl::not_null< tnsr::I< DataVector, 3, Frame::Inertial > * > magnetic_field, gsl::not_null< Scalar< DataVector > * > divergence_cleaning_field, const Direction< 3 > &direction, const tnsr::aa< DataVector, 3, Frame::Inertial > &interior_spacetime_metric, const tnsr::aa< DataVector, 3, Frame::Inertial > &interior_pi, const tnsr::iaa< DataVector, 3, Frame::Inertial > &interior_phi, const Mesh< 3 > &subcell_mesh, const Scalar< DataVector > &interior_rest_mass_density, const Scalar< DataVector > &interior_electron_fraction, const Scalar< DataVector > &interior_temperature, const Scalar< DataVector > &interior_pressure, const Scalar< DataVector > &interior_specific_internal_energy, const Scalar< DataVector > &interior_lorentz_factor, const Scalar< DataVector > &interior_divergence_cleaning_field, const tnsr::I< DataVector, 3, Frame::Inertial > &interior_spatial_velocity, const tnsr::I< DataVector, 3, Frame::Inertial > &interior_magnetic_field, const fd::Reconstructor< System > &reconstructor)

Static Public Attributes

static constexpr bool factory_creatable = false
static constexpr evolution::BoundaryConditions::Type bc_type

Detailed Description

template<typename System>
class grmhd::GhValenciaDivClean::BoundaryConditions::CartoonGhost< System >

Apply parity-respecting FD ghost values for internal boundaries in a Cartoon evolution.

Domains using the cartoon method have boundaries at \(x = 0\), which require ghost data for FD evolution. We fill this FD ghost data by reflecting the data appropriately: due to the symmetry of cartoon simulations, we can determine the parity of each component of an arbitrary tensor, allowing us to either reflect the data or reflect and negate the data.

This only has fd_ghost() implemented because this boundary uses ZernikeB1 bases in DG elements which do not require a boundary condition.

Sets GH variables based on their parity, and calls the ValenciaDivClean::BoundaryConditions::CartoonGhost implementation to set the hydro variables.

Member Typedef Documentation

◆ fd_interior_evolved_variables_tags

template<typename System>
using grmhd::GhValenciaDivClean::BoundaryConditions::CartoonGhost< System >::fd_interior_evolved_variables_tags
Initial value:
tmpl::list<gr::Tags::SpacetimeMetric<DataVector, 3>,
Auxiliary variable which is analytically the spatial derivative of the spacetime metric.
Definition Tags.hpp:38
Conjugate momentum to the spacetime metric.
Definition Tags.hpp:27

◆ fd_interior_primitive_variables_tags

template<typename System>
using grmhd::GhValenciaDivClean::BoundaryConditions::CartoonGhost< System >::fd_interior_primitive_variables_tags
Initial value:
tmpl::list<hydro::Tags::RestMassDensity<DataVector>,
The divergence-cleaning field .
Definition Tags.hpp:99
The electron fraction .
Definition Tags.hpp:105
The Lorentz factor , where is the spatial velocity of the fluid.
Definition Tags.hpp:181
The magnetic field measured by an Eulerian observer, where is the normal to the spatial hypersurfac...
Definition Tags.hpp:197
The fluid pressure .
Definition Tags.hpp:234
The spatial velocity of the fluid, where . Here is the spatial part of the 4-velocity of the fluid,...
Definition Tags.hpp:257
The specific internal energy .
Definition Tags.hpp:292
The temperature of the fluid.
Definition Tags.hpp:298

◆ fd_interior_temporary_tags

template<typename System>
using grmhd::GhValenciaDivClean::BoundaryConditions::CartoonGhost< System >::fd_interior_temporary_tags
Initial value:
tmpl::list<evolution::dg::subcell::Tags::Mesh<3>>

Member Function Documentation

◆ get_clone()

Member Data Documentation

◆ bc_type

template<typename System>
evolution::BoundaryConditions::Type grmhd::GhValenciaDivClean::BoundaryConditions::CartoonGhost< System >::bc_type
staticconstexpr
Initial value:
=
evolution::BoundaryConditions::Type::Ghost

The documentation for this class was generated from the following file:
  • src/Evolution/Systems/GrMhd/GhValenciaDivClean/BoundaryConditions/CartoonGhost.hpp