SpECTRE
v2024.12.16
|
Items related to evolving a scalar wave on a curved background. More...
Namespaces | |
namespace | Actions |
Actions for the curved scalar wave system. | |
namespace | AnalyticData |
Holds classes implementing analytic data for the CurvedScalarWave system. | |
namespace | BoundaryConditions |
Boundary conditions for the curved scalar wave system. | |
namespace | BoundaryCorrections |
Boundary corrections/numerical fluxes. | |
namespace | Initialization |
Utilities for initializing the curved scalar wave system. | |
namespace | OptionTags |
Option tags for the curved scalar wave system. | |
namespace | Tags |
Tags for the curved scalar wave system. | |
namespace | Worldtube |
The set of utilities for performing CurvedScalarWave evolution with a worldtube excision scheme. | |
Classes | |
struct | CharacteristicFieldsCompute |
struct | CharacteristicSpeedsCompute |
struct | EvolvedFieldsFromCharacteristicFieldsCompute |
struct | System |
struct | TimeDerivative |
Compute the time derivative of the evolved variables of the first-order scalar wave system on a curved background. More... | |
Functions | |
template<size_t SpatialDim> | |
std::array< DataVector, 4 > | characteristic_speeds (const Scalar< DataVector > &gamma_1, const Scalar< DataVector > &lapse, const tnsr::I< DataVector, SpatialDim, Frame::Inertial > &shift, const tnsr::i< DataVector, SpatialDim, Frame::Inertial > &unit_normal_one_form) |
Compute the characteristic speeds for the scalar wave system in curved spacetime. More... | |
template<size_t SpatialDim> | |
void | characteristic_speeds (gsl::not_null< std::array< DataVector, 4 > * > char_speeds, const Scalar< DataVector > &gamma_1, const Scalar< DataVector > &lapse, const tnsr::I< DataVector, SpatialDim, Frame::Inertial > &shift, const tnsr::i< DataVector, SpatialDim, Frame::Inertial > &unit_normal_one_form) |
Compute the characteristic speeds for the scalar wave system in curved spacetime. More... | |
template<size_t SpatialDim> | |
void | characteristic_speeds (gsl::not_null< tnsr::a< DataVector, 3, Frame::Inertial > * > char_speeds, const Scalar< DataVector > &gamma_1, const Scalar< DataVector > &lapse, const tnsr::I< DataVector, SpatialDim, Frame::Inertial > &shift, const tnsr::i< DataVector, SpatialDim, Frame::Inertial > &unit_normal_one_form) |
Compute the characteristic speeds for the scalar wave system in curved spacetime. More... | |
template<size_t SpatialDim> | |
Variables< tmpl::list< Tags::VPsi, Tags::VZero< SpatialDim >, Tags::VPlus, Tags::VMinus > > | characteristic_fields (const Scalar< DataVector > &gamma_2, const Scalar< DataVector > &psi, const Scalar< DataVector > &pi, const tnsr::i< DataVector, SpatialDim, Frame::Inertial > &phi, const tnsr::i< DataVector, SpatialDim, Frame::Inertial > &unit_normal_one_form, const tnsr::I< DataVector, SpatialDim, Frame::Inertial > &unit_normal_vector) |
Computes characteristic fields from evolved fields. More... | |
template<size_t SpatialDim> | |
void | characteristic_fields (gsl::not_null< Variables< tmpl::list< Tags::VPsi, Tags::VZero< SpatialDim >, Tags::VPlus, Tags::VMinus > > * > char_fields, const Scalar< DataVector > &gamma_2, const Scalar< DataVector > &psi, const Scalar< DataVector > &pi, const tnsr::i< DataVector, SpatialDim, Frame::Inertial > &phi, const tnsr::i< DataVector, SpatialDim, Frame::Inertial > &unit_normal_one_form, const tnsr::I< DataVector, SpatialDim, Frame::Inertial > &unit_normal_vector) |
Computes characteristic fields from evolved fields. More... | |
template<size_t SpatialDim> | |
void | characteristic_fields (const gsl::not_null< Scalar< DataVector > * > &v_psi, const gsl::not_null< tnsr::i< DataVector, SpatialDim, Frame::Inertial > * > &v_zero, const gsl::not_null< Scalar< DataVector > * > &v_plus, const gsl::not_null< Scalar< DataVector > * > &v_minus, const Scalar< DataVector > &gamma_2, const Scalar< DataVector > &psi, const Scalar< DataVector > &pi, const tnsr::i< DataVector, SpatialDim, Frame::Inertial > &phi, const tnsr::i< DataVector, SpatialDim, Frame::Inertial > &unit_normal_one_form, const tnsr::I< DataVector, SpatialDim, Frame::Inertial > &unit_normal_vector) |
Computes characteristic fields from evolved fields. More... | |
template<size_t SpatialDim> | |
Variables< tmpl::list< Tags::Psi, Tags::Pi, Tags::Phi< SpatialDim > > > | evolved_fields_from_characteristic_fields (const Scalar< DataVector > &gamma_2, const Scalar< DataVector > &v_psi, const tnsr::i< DataVector, SpatialDim, Frame::Inertial > &v_zero, const Scalar< DataVector > &v_plus, const Scalar< DataVector > &v_minus, const tnsr::i< DataVector, SpatialDim, Frame::Inertial > &unit_normal_one_form) |
For expressions used here to compute evolved fields from characteristic ones, see CharacteristicFieldsCompute. | |
template<size_t SpatialDim> | |
void | evolved_fields_from_characteristic_fields (gsl::not_null< Variables< tmpl::list< Tags::Psi, Tags::Pi, Tags::Phi< SpatialDim > > > * > evolved_fields, const Scalar< DataVector > &gamma_2, const Scalar< DataVector > &v_psi, const tnsr::i< DataVector, SpatialDim, Frame::Inertial > &v_zero, const Scalar< DataVector > &v_plus, const Scalar< DataVector > &v_minus, const tnsr::i< DataVector, SpatialDim, Frame::Inertial > &unit_normal_one_form) |
For expressions used here to compute evolved fields from characteristic ones, see CharacteristicFieldsCompute. | |
template<size_t SpatialDim> | |
void | evolved_fields_from_characteristic_fields (gsl::not_null< Scalar< DataVector > * > psi, gsl::not_null< Scalar< DataVector > * > pi, gsl::not_null< tnsr::i< DataVector, SpatialDim, Frame::Inertial > * > phi, const Scalar< DataVector > &gamma_2, const Scalar< DataVector > &v_psi, const tnsr::i< DataVector, SpatialDim, Frame::Inertial > &v_zero, const Scalar< DataVector > &v_plus, const Scalar< DataVector > &v_minus, const tnsr::i< DataVector, SpatialDim, Frame::Inertial > &unit_normal_one_form) |
For expressions used here to compute evolved fields from characteristic ones, see CharacteristicFieldsCompute. | |
template<size_t SpatialDim> | |
tnsr::i< DataVector, SpatialDim, Frame::Inertial > | one_index_constraint (const tnsr::i< DataVector, SpatialDim, Frame::Inertial > &d_psi, const tnsr::i< DataVector, SpatialDim, Frame::Inertial > &phi) |
Computes the scalar-wave one-index constraint. More... | |
template<size_t SpatialDim> | |
void | one_index_constraint (gsl::not_null< tnsr::i< DataVector, SpatialDim, Frame::Inertial > * > constraint, const tnsr::i< DataVector, SpatialDim, Frame::Inertial > &d_psi, const tnsr::i< DataVector, SpatialDim, Frame::Inertial > &phi) |
Computes the scalar-wave one-index constraint. More... | |
template<size_t SpatialDim> | |
tnsr::ij< DataVector, SpatialDim, Frame::Inertial > | two_index_constraint (const tnsr::ij< DataVector, SpatialDim, Frame::Inertial > &d_phi) |
Computes the scalar-wave 2-index constraint. More... | |
template<size_t SpatialDim> | |
void | two_index_constraint (gsl::not_null< tnsr::ij< DataVector, SpatialDim, Frame::Inertial > * > constraint, const tnsr::ij< DataVector, SpatialDim, Frame::Inertial > &d_phi) |
Computes the scalar-wave 2-index constraint. More... | |
Items related to evolving a scalar wave on a curved background.
void CurvedScalarWave::characteristic_fields | ( | const gsl::not_null< Scalar< DataVector > * > & | v_psi, |
const gsl::not_null< tnsr::i< DataVector, SpatialDim, Frame::Inertial > * > & | v_zero, | ||
const gsl::not_null< Scalar< DataVector > * > & | v_plus, | ||
const gsl::not_null< Scalar< DataVector > * > & | v_minus, | ||
const Scalar< DataVector > & | gamma_2, | ||
const Scalar< DataVector > & | psi, | ||
const Scalar< DataVector > & | pi, | ||
const tnsr::i< DataVector, SpatialDim, Frame::Inertial > & | phi, | ||
const tnsr::i< DataVector, SpatialDim, Frame::Inertial > & | unit_normal_one_form, | ||
const tnsr::I< DataVector, SpatialDim, Frame::Inertial > & | unit_normal_vector | ||
) |
Computes characteristic fields from evolved fields.
CharacteristicFieldsCompute and EvolvedFieldsFromCharacteristicFieldsCompute convert between characteristic and evolved fields for the scalar-wave system in curved spacetime.
CharacteristicFieldsCompute computes characteristic fields as described in "Optimal constraint projection for hyperbolic evolution systems" by Holst et. al [93] . Their names used here differ from this paper:
The characteristic fields
where
EvolvedFieldsFromCharacteristicFieldsCompute computes evolved fields
The corresponding characteristic speeds
Variables< tmpl::list< Tags::VPsi, Tags::VZero< SpatialDim >, Tags::VPlus, Tags::VMinus > > CurvedScalarWave::characteristic_fields | ( | const Scalar< DataVector > & | gamma_2, |
const Scalar< DataVector > & | psi, | ||
const Scalar< DataVector > & | pi, | ||
const tnsr::i< DataVector, SpatialDim, Frame::Inertial > & | phi, | ||
const tnsr::i< DataVector, SpatialDim, Frame::Inertial > & | unit_normal_one_form, | ||
const tnsr::I< DataVector, SpatialDim, Frame::Inertial > & | unit_normal_vector | ||
) |
Computes characteristic fields from evolved fields.
CharacteristicFieldsCompute and EvolvedFieldsFromCharacteristicFieldsCompute convert between characteristic and evolved fields for the scalar-wave system in curved spacetime.
CharacteristicFieldsCompute computes characteristic fields as described in "Optimal constraint projection for hyperbolic evolution systems" by Holst et. al [93] . Their names used here differ from this paper:
The characteristic fields
where
EvolvedFieldsFromCharacteristicFieldsCompute computes evolved fields
The corresponding characteristic speeds
void CurvedScalarWave::characteristic_fields | ( | gsl::not_null< Variables< tmpl::list< Tags::VPsi, Tags::VZero< SpatialDim >, Tags::VPlus, Tags::VMinus > > * > | char_fields, |
const Scalar< DataVector > & | gamma_2, | ||
const Scalar< DataVector > & | psi, | ||
const Scalar< DataVector > & | pi, | ||
const tnsr::i< DataVector, SpatialDim, Frame::Inertial > & | phi, | ||
const tnsr::i< DataVector, SpatialDim, Frame::Inertial > & | unit_normal_one_form, | ||
const tnsr::I< DataVector, SpatialDim, Frame::Inertial > & | unit_normal_vector | ||
) |
Computes characteristic fields from evolved fields.
CharacteristicFieldsCompute and EvolvedFieldsFromCharacteristicFieldsCompute convert between characteristic and evolved fields for the scalar-wave system in curved spacetime.
CharacteristicFieldsCompute computes characteristic fields as described in "Optimal constraint projection for hyperbolic evolution systems" by Holst et. al [93] . Their names used here differ from this paper:
The characteristic fields
where
EvolvedFieldsFromCharacteristicFieldsCompute computes evolved fields
The corresponding characteristic speeds
std::array< DataVector, 4 > CurvedScalarWave::characteristic_speeds | ( | const Scalar< DataVector > & | gamma_1, |
const Scalar< DataVector > & | lapse, | ||
const tnsr::I< DataVector, SpatialDim, Frame::Inertial > & | shift, | ||
const tnsr::i< DataVector, SpatialDim, Frame::Inertial > & | unit_normal_one_form | ||
) |
Compute the characteristic speeds for the scalar wave system in curved spacetime.
Computes the speeds as described in "Optimal constraint projection for hyperbolic evolution systems" by Holst et. al [93] [see text following Eq. (32)]. The characteristic fields' names used here are similar to the paper:
The corresponding characteristic speeds
where
void CurvedScalarWave::characteristic_speeds | ( | gsl::not_null< std::array< DataVector, 4 > * > | char_speeds, |
const Scalar< DataVector > & | gamma_1, | ||
const Scalar< DataVector > & | lapse, | ||
const tnsr::I< DataVector, SpatialDim, Frame::Inertial > & | shift, | ||
const tnsr::i< DataVector, SpatialDim, Frame::Inertial > & | unit_normal_one_form | ||
) |
Compute the characteristic speeds for the scalar wave system in curved spacetime.
Computes the speeds as described in "Optimal constraint projection for hyperbolic evolution systems" by Holst et. al [93] [see text following Eq. (32)]. The characteristic fields' names used here are similar to the paper:
The corresponding characteristic speeds
where
void CurvedScalarWave::characteristic_speeds | ( | gsl::not_null< tnsr::a< DataVector, 3, Frame::Inertial > * > | char_speeds, |
const Scalar< DataVector > & | gamma_1, | ||
const Scalar< DataVector > & | lapse, | ||
const tnsr::I< DataVector, SpatialDim, Frame::Inertial > & | shift, | ||
const tnsr::i< DataVector, SpatialDim, Frame::Inertial > & | unit_normal_one_form | ||
) |
Compute the characteristic speeds for the scalar wave system in curved spacetime.
Computes the speeds as described in "Optimal constraint projection for hyperbolic evolution systems" by Holst et. al [93] [see text following Eq. (32)]. The characteristic fields' names used here are similar to the paper:
The corresponding characteristic speeds
where
tnsr::i< DataVector, SpatialDim, Frame::Inertial > CurvedScalarWave::one_index_constraint | ( | const tnsr::i< DataVector, SpatialDim, Frame::Inertial > & | d_psi, |
const tnsr::i< DataVector, SpatialDim, Frame::Inertial > & | phi | ||
) |
Computes the scalar-wave one-index constraint.
Computes the scalar-wave one-index constraint,
void CurvedScalarWave::one_index_constraint | ( | gsl::not_null< tnsr::i< DataVector, SpatialDim, Frame::Inertial > * > | constraint, |
const tnsr::i< DataVector, SpatialDim, Frame::Inertial > & | d_psi, | ||
const tnsr::i< DataVector, SpatialDim, Frame::Inertial > & | phi | ||
) |
Computes the scalar-wave one-index constraint.
Computes the scalar-wave one-index constraint,
tnsr::ij< DataVector, SpatialDim, Frame::Inertial > CurvedScalarWave::two_index_constraint | ( | const tnsr::ij< DataVector, SpatialDim, Frame::Inertial > & | d_phi | ) |
Computes the scalar-wave 2-index constraint.
Computes the scalar-wave 2-index FOSH constraint [Eq. (20) of [93]],
where
void CurvedScalarWave::two_index_constraint | ( | gsl::not_null< tnsr::ij< DataVector, SpatialDim, Frame::Inertial > * > | constraint, |
const tnsr::ij< DataVector, SpatialDim, Frame::Inertial > & | d_phi | ||
) |
Computes the scalar-wave 2-index constraint.
Computes the scalar-wave 2-index FOSH constraint [Eq. (20) of [93]],
where