9 #include "DataStructures/DataBox/Tag.hpp"
10 #include "DataStructures/DataVector.hpp"
23 template <
typename Tag>
56 const tnsr::i<DataVector, Dim, Frame::Inertial>&
62 const tnsr::i<DataVector, Dim, Frame::Inertial>&
72 tmpl::list<::Tags::Normalized<domain::Tags::UnnormalizedFaceNormal<Dim>>>;
75 const tnsr::i<DataVector, Dim, Frame::Inertial>&
130 template <
size_t Dim>
135 const tnsr::i<DataVector, Dim, Frame::Inertial>&
phi,
136 const tnsr::i<DataVector, Dim, Frame::Inertial>&
139 template <
size_t Dim>
146 const tnsr::i<DataVector, Dim, Frame::Inertial>&
phi,
147 const tnsr::i<DataVector, Dim, Frame::Inertial>&
151 template <
size_t Dim>
155 using return_type =
typename base::type;
156 using argument_tags =
157 tmpl::list<Tags::ConstraintGamma2, Psi, Pi, Phi<Dim>,
164 const tnsr::i<DataVector, Dim, Frame::Inertial>&
phi,
165 const tnsr::i<DataVector, Dim, Frame::Inertial>&
181 template <
size_t Dim>
182 Variables<tmpl::list<Psi, Pi, Phi<Dim>>>
185 const tnsr::i<DataVector, Dim, Frame::Inertial>& v_zero,
187 const tnsr::i<DataVector, Dim, Frame::Inertial>&
190 template <
size_t Dim>
194 const tnsr::i<DataVector, Dim, Frame::Inertial>& v_zero,
196 const tnsr::i<DataVector, Dim, Frame::Inertial>&
200 template <
size_t Dim>
205 using return_type =
typename base::type;
206 using argument_tags =
207 tmpl::list<Tags::ConstraintGamma2, Tags::VPsi, Tags::VZero<Dim>,
214 const tnsr::i<DataVector, Dim, Frame::Inertial>& v_zero,
217 const tnsr::i<DataVector, Dim, Frame::Inertial>&
220 v_zero, v_plus, v_minus,
232 using argument_tags = tmpl::list<>;
233 using return_type = double;
std::array< DataVector, 4 > characteristic_speeds(const tnsr::i< DataVector, Dim, Frame::Inertial > &unit_normal_one_form) noexcept
Compute the characteristic speeds for the scalar wave system.
Mark a struct as a compute tag by inheriting from this.
Definition: Tag.hpp:157
void pi(gsl::not_null< tnsr::aa< DataType, SpatialDim, Frame > * > pi, const Scalar< DataType > &lapse, const Scalar< DataType > &dt_lapse, const tnsr::I< DataType, SpatialDim, Frame > &shift, const tnsr::I< DataType, SpatialDim, Frame > &dt_shift, const tnsr::ii< DataType, SpatialDim, Frame > &spatial_metric, const tnsr::ii< DataType, SpatialDim, Frame > &dt_spatial_metric, const tnsr::iaa< DataType, SpatialDim, Frame > &phi) noexcept
Computes the conjugate momentum of the spacetime metric .
Mark a struct as a simple tag by inheriting from this.
Definition: Tag.hpp:36
#define SPECTRE_ALWAYS_INLINE
Definition: ForceInline.hpp:16
Variables< tmpl::list< Psi, Pi, Phi< Dim > > > evolved_fields_from_characteristic_fields(const Scalar< DataVector > &gamma_2, const Scalar< DataVector > &v_psi, const tnsr::i< DataVector, Dim, Frame::Inertial > &v_zero, const Scalar< DataVector > &v_plus, const Scalar< DataVector > &v_minus, const tnsr::i< DataVector, Dim, Frame::Inertial > &unit_normal_one_form) noexcept
Compute evolved fields from characteristic fields.
void phi(gsl::not_null< tnsr::iaa< DataType, SpatialDim, Frame > * > phi, const Scalar< DataType > &lapse, const tnsr::i< DataType, SpatialDim, Frame > &deriv_lapse, const tnsr::I< DataType, SpatialDim, Frame > &shift, const tnsr::iJ< DataType, SpatialDim, Frame > &deriv_shift, const tnsr::ii< DataType, SpatialDim, Frame > &spatial_metric, const tnsr::ijj< DataType, SpatialDim, Frame > &deriv_spatial_metric) noexcept
Computes the auxiliary variable used by the generalized harmonic formulation of Einstein's equations...
Tensor< T, Symmetry<>, index_list<> > Scalar
Definition: TypeAliases.hpp:21
Items related to evolving the scalar wave equation.
Definition: BoundaryCondition.hpp:24
void unit_normal_one_form(gsl::not_null< tnsr::i< DataVector, 3, Frame > * > result, const tnsr::i< DataVector, 3, Frame > &normal_one_form, const DataVector &one_over_one_form_magnitude) noexcept
Computes normalized unit normal one-form to a Strahlkorper.
Variables< tmpl::list< Tags::VPsi, Tags::VZero< Dim >, Tags::VPlus, Tags::VMinus > > characteristic_fields(const Scalar< DataVector > &gamma_2, const Scalar< DataVector > &psi, const Scalar< DataVector > &pi, const tnsr::i< DataVector, Dim, Frame::Inertial > &phi, const tnsr::i< DataVector, Dim, Frame::Inertial > &unit_normal_one_form) noexcept
Computes characteristic fields from evolved fields.
Require a pointer to not be a nullptr
Definition: ReadSpecThirdOrderPiecewisePolynomial.hpp:13