SpECTRE
v2025.03.17
|
Computes the scalar wave upwind multipenalty boundary correction. More...
#include <UpwindPenalty.hpp>
Public Types | |
using | options = implementation defined |
using | dg_package_field_tags = implementation defined |
using | dg_package_data_temporary_tags = implementation defined |
using | dg_package_data_volume_tags = implementation defined |
using | dg_boundary_terms_volume_tags = implementation defined |
![]() | |
using | creatable_classes = implementation defined |
Public Member Functions | |
UpwindPenalty (const UpwindPenalty &)=default | |
UpwindPenalty & | operator= (const UpwindPenalty &)=default |
UpwindPenalty (UpwindPenalty &&)=default | |
UpwindPenalty & | operator= (UpwindPenalty &&)=default |
void | pup (PUP::er &p) override |
std::unique_ptr< BoundaryCorrection< Dim > > | get_clone () const override |
double | dg_package_data (gsl::not_null< Scalar< DataVector > * > packaged_char_speed_v_psi, gsl::not_null< tnsr::i< DataVector, Dim, Frame::Inertial > * > packaged_char_speed_v_zero, gsl::not_null< Scalar< DataVector > * > packaged_char_speed_v_plus, gsl::not_null< Scalar< DataVector > * > packaged_char_speed_v_minus, gsl::not_null< tnsr::i< DataVector, Dim, Frame::Inertial > * > packaged_char_speed_n_times_v_plus, gsl::not_null< tnsr::i< DataVector, Dim, Frame::Inertial > * > packaged_char_speed_n_times_v_minus, gsl::not_null< Scalar< DataVector > * > packaged_char_speed_gamma2_v_psi, gsl::not_null< tnsr::i< DataVector, 3, Frame::Inertial > * > packaged_char_speeds, const Scalar< DataVector > &psi, const Scalar< DataVector > &pi, const tnsr::i< DataVector, Dim, Frame::Inertial > &phi, const Scalar< DataVector > &constraint_gamma2, const tnsr::i< DataVector, Dim, Frame::Inertial > &normal_covector, const std::optional< tnsr::I< DataVector, Dim, Frame::Inertial > > &, const std::optional< Scalar< DataVector > > &normal_dot_mesh_velocity) const |
void | dg_boundary_terms (gsl::not_null< Scalar< DataVector > * > psi_boundary_correction, gsl::not_null< Scalar< DataVector > * > pi_boundary_correction, gsl::not_null< tnsr::i< DataVector, Dim, Frame::Inertial > * > phi_boundary_correction, const Scalar< DataVector > &char_speed_v_psi_int, const tnsr::i< DataVector, Dim, Frame::Inertial > &char_speed_v_zero_int, const Scalar< DataVector > &char_speed_v_plus_int, const Scalar< DataVector > &char_speed_v_minus_int, const tnsr::i< DataVector, Dim, Frame::Inertial > &char_speed_normal_times_v_plus_int, const tnsr::i< DataVector, Dim, Frame::Inertial > &char_speed_normal_times_v_minus_int, const Scalar< DataVector > &char_speed_constraint_gamma2_v_psi_int, const tnsr::i< DataVector, 3, Frame::Inertial > &char_speeds_int, const Scalar< DataVector > &char_speed_v_psi_ext, const tnsr::i< DataVector, Dim, Frame::Inertial > &char_speed_v_zero_ext, const Scalar< DataVector > &char_speed_v_plus_ext, const Scalar< DataVector > &char_speed_v_minus_ext, const tnsr::i< DataVector, Dim, Frame::Inertial > &char_speed_minus_normal_times_v_plus_ext, const tnsr::i< DataVector, Dim, Frame::Inertial > &char_speed_minus_normal_times_v_minus_ext, const Scalar< DataVector > &char_speed_constraint_gamma2_v_psi_ext, const tnsr::i< DataVector, 3, Frame::Inertial > &char_speeds_ext, dg::Formulation) const |
![]() | |
BoundaryCorrection (const BoundaryCorrection &)=default | |
BoundaryCorrection & | operator= (const BoundaryCorrection &)=default |
BoundaryCorrection (BoundaryCorrection &&)=default | |
BoundaryCorrection & | operator= (BoundaryCorrection &&)=default |
virtual std::unique_ptr< BoundaryCorrection< Dim > > | get_clone () const =0 |
Static Public Attributes | |
static constexpr Options::String | help |
Computes the scalar wave upwind multipenalty boundary correction.
This implements the upwind multipenalty boundary correction term
We denote the evolved fields by
For the scalar wave system the correction is:
with characteristic fields
and characteristic speeds
where
In the implementation we store the speeds in a rank-3 tensor with the zeroth component being
Note that we have assumed
|
overridevirtual |
|
staticconstexpr |