SpECTRE  v2026.04.01
Loading...
Searching...
No Matches
ScalarTensor::BoundaryConditions::ConstraintPreserving Class Referencefinal

Sets constraint-preserving boundary conditions on the variables of the ScalarTensor system. More...

#include <ConstraintPreserving.hpp>

Public Types

using options
using dg_interior_evolved_variables_tags
using dg_interior_temporary_tags
using dg_interior_primitive_variables_tags = tmpl::list<>
using dg_gridless_tags = tmpl::list<>
using dg_interior_dt_vars_tags
using dg_interior_deriv_vars_tags

Public Member Functions

 ConstraintPreserving (gh::BoundaryConditions::detail::ConstraintPreservingBjorhusType type, std::optional< std::unique_ptr<::MathFunction< 1, Frame::Inertial > > > incoming_wave_profile=std::nullopt)
 ConstraintPreserving (ConstraintPreserving &&)=default
ConstraintPreservingoperator= (ConstraintPreserving &&)=default
 ConstraintPreserving (const ConstraintPreserving &)=default
ConstraintPreservingoperator= (const ConstraintPreserving &)=default
 ConstraintPreserving (CkMigrateMessage *msg)
 WRAPPED_PUPable_decl_base_template (domain::BoundaryConditions::BoundaryCondition, ConstraintPreserving)
auto get_clone () const -> std::unique_ptr< domain::BoundaryConditions::BoundaryCondition > override
void pup (PUP::er &p) override
std::optional< std::stringdg_time_derivative (gsl::not_null< tnsr::aa< DataVector, 3, Frame::Inertial > * > dt_spacetime_metric_correction, gsl::not_null< tnsr::aa< DataVector, 3, Frame::Inertial > * > dt_pi_correction, gsl::not_null< tnsr::iaa< DataVector, 3, Frame::Inertial > * > dt_phi_correction, gsl::not_null< Scalar< DataVector > * > dt_psi_scalar_correction, gsl::not_null< Scalar< DataVector > * > dt_pi_scalar_correction, gsl::not_null< tnsr::i< DataVector, 3, Frame::Inertial > * > dt_phi_scalar_correction, const std::optional< tnsr::I< DataVector, 3, Frame::Inertial > > &face_mesh_velocity, const tnsr::i< DataVector, 3, Frame::Inertial > &normal_covector, const tnsr::I< DataVector, 3, Frame::Inertial > &normal_vector, const tnsr::aa< DataVector, 3, Frame::Inertial > &spacetime_metric, const tnsr::aa< DataVector, 3, Frame::Inertial > &pi, const tnsr::iaa< DataVector, 3, Frame::Inertial > &phi, const Scalar< DataVector > &psi_scalar, const Scalar< DataVector > &pi_scalar, const tnsr::i< DataVector, 3, Frame::Inertial > &phi_scalar, const tnsr::I< DataVector, 3, Frame::Inertial > &coords, const Scalar< DataVector > &gamma1, const Scalar< DataVector > &gamma2, const Scalar< DataVector > &lapse, const tnsr::I< DataVector, 3, Frame::Inertial > &shift, const tnsr::II< DataVector, 3 > &, const tnsr::AA< DataVector, 3, Frame::Inertial > &inverse_spacetime_metric, const tnsr::A< DataVector, 3, Frame::Inertial > &spacetime_unit_normal_vector, const tnsr::iaa< DataVector, 3, Frame::Inertial > &three_index_constraint, const tnsr::a< DataVector, 3, Frame::Inertial > &gauge_source, const tnsr::ab< DataVector, 3, Frame::Inertial > &spacetime_deriv_gauge_source, const Scalar< DataVector > &gamma1_scalar, const Scalar< DataVector > &gamma2_scalar, const tnsr::aa< DataVector, 3, Frame::Inertial > &logical_dt_spacetime_metric, const tnsr::aa< DataVector, 3, Frame::Inertial > &logical_dt_pi, const tnsr::iaa< DataVector, 3, Frame::Inertial > &logical_dt_phi, const Scalar< DataVector > &logical_dt_psi_scalar, const Scalar< DataVector > &logical_dt_pi_scalar, const tnsr::i< DataVector, 3 > &logical_dt_phi_scalar, const tnsr::iaa< DataVector, 3, Frame::Inertial > &d_spacetime_metric, const tnsr::iaa< DataVector, 3, Frame::Inertial > &d_pi, const tnsr::ijaa< DataVector, 3, Frame::Inertial > &d_phi, const tnsr::i< DataVector, 3, Frame::Inertial > &d_psi_scalar, const tnsr::i< DataVector, 3, Frame::Inertial > &d_pi_scalar, const tnsr::ij< DataVector, 3, Frame::Inertial > &d_phi_scalar) const
Public Member Functions inherited from ScalarTensor::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)

Static Public Member Functions

static std::optional< std::stringdg_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 > * > psi_scalar, gsl::not_null< Scalar< DataVector > * > pi_scalar, gsl::not_null< tnsr::i< DataVector, 3, Frame::Inertial > * > phi_scalar, gsl::not_null< Scalar< DataVector > * > gamma1, gsl::not_null< Scalar< DataVector > * > gamma2, gsl::not_null< Scalar< DataVector > * > lapse, gsl::not_null< tnsr::I< DataVector, 3, Frame::Inertial > * > shift, gsl::not_null< Scalar< DataVector > * > gamma1_scalar, gsl::not_null< Scalar< DataVector > * > gamma2_scalar, gsl::not_null< tnsr::II< DataVector, 3, Frame::Inertial > * > inv_spatial_metric, const std::optional< tnsr::I< DataVector, 3, Frame::Inertial > > &face_mesh_velocity, const tnsr::i< DataVector, 3, Frame::Inertial > &normal_covector, const tnsr::I< DataVector, 3, Frame::Inertial > &normal_vector, 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 Scalar< DataVector > &psi_scalar_interior, const Scalar< DataVector > &pi_scalar_interior, const tnsr::i< DataVector, 3 > &phi_scalar_interior, const tnsr::I< DataVector, 3, Frame::Inertial > &, const Scalar< DataVector > &interior_gamma1, const Scalar< DataVector > &interior_gamma2, const Scalar< DataVector > &interior_lapse, const tnsr::I< DataVector, 3 > &interior_shift, const tnsr::II< DataVector, 3 > &interior_inv_spatial_metric, const tnsr::AA< DataVector, 3, Frame::Inertial > &, const tnsr::A< DataVector, 3, Frame::Inertial > &, const tnsr::iaa< DataVector, 3, Frame::Inertial > &, const tnsr::a< DataVector, 3, Frame::Inertial > &, const tnsr::ab< DataVector, 3, Frame::Inertial > &, const Scalar< DataVector > &interior_gamma1_scalar, const Scalar< DataVector > &interior_gamma2_scalar, const tnsr::aa< DataVector, 3, Frame::Inertial > &, const tnsr::aa< DataVector, 3, Frame::Inertial > &, const tnsr::iaa< DataVector, 3, Frame::Inertial > &, const Scalar< DataVector > &, const Scalar< DataVector > &, const tnsr::i< DataVector, 3 > &, const tnsr::iaa< DataVector, 3, Frame::Inertial > &, const tnsr::iaa< DataVector, 3, Frame::Inertial > &, const tnsr::ijaa< DataVector, 3, Frame::Inertial > &, const tnsr::i< DataVector, 3, Frame::Inertial > &, const tnsr::i< DataVector, 3, Frame::Inertial > &, const tnsr::ij< DataVector, 3, Frame::Inertial > &)

Static Public Attributes

static constexpr Options::String help
static constexpr evolution::BoundaryConditions::Type bc_type

Detailed Description

Sets constraint-preserving boundary conditions on the variables of the ScalarTensor system.

Details

The constraint-preserving boundary conditions on the scalar variables are approximate as they assume a fixed spacetime geometry. Likewise, the constraint-preserving boundary conditions on the metric variables assume that there is no back-reaction of the scalar stress energy tensor on the metric.

Member Typedef Documentation

◆ dg_interior_deriv_vars_tags

using ScalarTensor::BoundaryConditions::ConstraintPreserving::dg_interior_deriv_vars_tags
Initial value:
tmpl::list<::Tags::deriv<gr::Tags::SpacetimeMetric<DataVector, 3>,
tmpl::size_t<3>, Frame::Inertial>,
Definition IndexType.hpp:46
Prefix indicating spatial derivatives.
Definition Prefixes.hpp:46

◆ dg_interior_dt_vars_tags

using ScalarTensor::BoundaryConditions::ConstraintPreserving::dg_interior_dt_vars_tags
Initial value:
tmpl::list<::Tags::dt<gr::Tags::SpacetimeMetric<DataVector, 3>>,
Prefix indicating a time derivative.
Definition Prefixes.hpp:28

◆ dg_interior_evolved_variables_tags

using ScalarTensor::BoundaryConditions::ConstraintPreserving::dg_interior_evolved_variables_tags
Initial value:
tmpl::list<gr::Tags::SpacetimeMetric<DataVector, 3>,
Auxiliary variable which is analytically the spatial derivative of the scalar field.
Definition Tags.hpp:60
The conjugate momentum of the scalar field.
Definition Tags.hpp:49
The scalar field.
Definition Tags.hpp:30
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

◆ dg_interior_temporary_tags

using ScalarTensor::BoundaryConditions::ConstraintPreserving::dg_interior_temporary_tags
Initial value:
tmpl::list<domain::Tags::Coordinates<3, Frame::Inertial>,
Constraint dammping parameter for the generalized harmonic system (cf. lindblom2005qh).
Definition ConstraintDampingTags.hpp:62
Constraint dammping parameter for the generalized harmonic system (cf. lindblom2005qh).
Definition ConstraintDampingTags.hpp:70
Gauge source function for the generalized harmonic system.
Definition Tags.hpp:51
Spacetime derivatives of the gauge source function for the generalized harmonic system.
Definition Tags.hpp:65
Tags corresponding to various constraints of the generalized harmonic system, and their diagnosticall...
Definition Tags.hpp:190
Definition Tags.hpp:20
Inverse of the spatial metric.
Definition Tags.hpp:32
Definition Tags.hpp:65
Definition Tags.hpp:61
Definition Tags.hpp:100

◆ options

using ScalarTensor::BoundaryConditions::ConstraintPreserving::options
Initial value:
tmpl::push_back<
typename gh::BoundaryConditions::ConstraintPreservingBjorhus<3>::options>

Member Function Documentation

◆ get_clone()

auto ScalarTensor::BoundaryConditions::ConstraintPreserving::get_clone ( ) const -> std::unique_ptr< domain::BoundaryConditions::BoundaryCondition >
overridevirtual

Member Data Documentation

◆ bc_type

evolution::BoundaryConditions::Type ScalarTensor::BoundaryConditions::ConstraintPreserving::bc_type
staticconstexpr
Initial value:
=
evolution::BoundaryConditions::Type::GhostAndTimeDerivative

◆ help

Options::String ScalarTensor::BoundaryConditions::ConstraintPreserving::help
staticconstexpr
Initial value:
{
"Constraint-preserving boundary conditions are applied for the "
"Generalized Harmonic variables and spherical radiation constraint-"
"preserving boundary conditions are applied for the scalar variables."}

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