SpECTRE
v2025.03.17
|
Constraint-preserving spherical radiation boundary condition that seeks to avoid ingoing constraint violations and radiation. More...
#include <ConstraintPreservingSphericalRadiation.hpp>
Classes | |
struct | TypeOptionTag |
Public Member Functions | |
ConstraintPreservingSphericalRadiation (detail::ConstraintPreservingSphericalRadiationType type) | |
ConstraintPreservingSphericalRadiation (CkMigrateMessage *msg) | |
WRAPPED_PUPable_decl_base_template (domain::BoundaryConditions::BoundaryCondition, ConstraintPreservingSphericalRadiation) | |
auto | get_clone () const -> std::unique_ptr< domain::BoundaryConditions::BoundaryCondition > override |
void | pup (PUP::er &p) override |
std::optional< std::string > | dg_time_derivative (gsl::not_null< Scalar< DataVector > * > dt_psi_correction, gsl::not_null< Scalar< DataVector > * > dt_pi_correction, gsl::not_null< tnsr::i< DataVector, Dim, Frame::Inertial > * > dt_phi_correction, const std::optional< tnsr::I< DataVector, Dim, Frame::Inertial > > &face_mesh_velocity, const tnsr::i< DataVector, Dim, Frame::Inertial > &normal_covector, const Scalar< DataVector > &psi, const Scalar< DataVector > &pi, const tnsr::i< DataVector, Dim, Frame::Inertial > &phi, const tnsr::I< DataVector, Dim, Frame::Inertial > &coords, const Scalar< DataVector > &gamma2, const tnsr::i< DataVector, Dim, Frame::Inertial > &d_psi, const tnsr::i< DataVector, Dim, Frame::Inertial > &d_pi, const tnsr::ij< DataVector, Dim, Frame::Inertial > &d_phi) const |
![]() | |
BoundaryCondition (BoundaryCondition &&)=default | |
BoundaryCondition & | operator= (BoundaryCondition &&)=default |
BoundaryCondition (const BoundaryCondition &)=default | |
BoundaryCondition & | operator= (const BoundaryCondition &)=default |
BoundaryCondition (CkMigrateMessage *msg) | |
void | pup (PUP::er &p) override |
![]() | |
BoundaryCondition (BoundaryCondition &&)=default | |
BoundaryCondition & | operator= (BoundaryCondition &&)=default |
BoundaryCondition (const BoundaryCondition &)=default | |
BoundaryCondition & | operator= (const BoundaryCondition &)=default |
BoundaryCondition (CkMigrateMessage *const msg) | |
WRAPPED_PUPable_abstract (BoundaryCondition) | |
virtual auto | get_clone () const -> std::unique_ptr< BoundaryCondition >=0 |
Static Public Attributes | |
static constexpr Options::String | help |
static constexpr evolution::BoundaryConditions::Type | bc_type |
Constraint-preserving spherical radiation boundary condition that seeks to avoid ingoing constraint violations and radiation.
The constraint-preserving part of the boundary condition imposes the following condition on the time derivatives of the characteristic fields:
where
projects a tensor onto the spatial surface to which
The constraints are defined as:
Radiation boundary conditions impose a condition on
Below we assume the normal vector
Or, assuming that
The Bayliss-Turkel [17] boundary conditions are given by:
The first-order form is
assuming
The second-order boundary condition is given by,
where
The moving mesh can be accounted for by using
|
overridevirtual |
Implements domain::BoundaryConditions::BoundaryCondition.
|
staticconstexpr |
|
staticconstexpr |