9 #include "DataStructures/DataBox/Tag.hpp"
10 #include "DataStructures/DataVector.hpp"
12 #include "Evolution/Systems/GeneralizedHarmonic/Tags.hpp"
14 #include "PointwiseFunctions/GeneralRelativity/Tags.hpp"
15 #include "Utilities/ContainerHelpers.hpp"
24 template <
size_t Dim,
typename Frame>
29 template <
typename X,
typename Symm,
typename IndexList>
59 template <
size_t SpatialDim,
typename Frame,
typename DataType>
61 gsl::not_null<tnsr::i<DataType, SpatialDim, Frame>*> deriv_lapse,
63 const tnsr::A<DataType, SpatialDim, Frame>& spacetime_unit_normal,
64 const tnsr::iaa<DataType, SpatialDim, Frame>&
phi) noexcept;
66 template <
size_t SpatialDim,
typename Frame,
typename DataType>
69 const tnsr::A<DataType, SpatialDim, Frame>& spacetime_unit_normal,
70 const tnsr::iaa<DataType, SpatialDim, Frame>&
phi) noexcept;
81 template <
size_t SpatialDim,
typename Frame>
83 tmpl::size_t<SpatialDim>, Frame>,
86 tmpl::list<gr::Tags::Lapse<DataVector>,
90 using return_type = tnsr::i<DataVector, SpatialDim, Frame>;
92 static constexpr
auto function =
static_cast<void (*)(
95 const tnsr::iaa<DataVector, SpatialDim, Frame>&) noexcept>(
96 &spatial_deriv_of_lapse<SpatialDim, Frame>);
99 tmpl::size_t<SpatialDim>,
Frame>;
Mark a struct as a compute tag by inheriting from this.
Definition: Tag.hpp:157
Items related to evolving the first-order generalized harmonic system.
Definition: BoundaryCondition.hpp:20
void spatial_deriv_of_lapse(gsl::not_null< tnsr::i< DataType, SpatialDim, Frame > * > deriv_lapse, const Scalar< DataType > &lapse, const tnsr::A< DataType, SpatialDim, Frame > &spacetime_unit_normal, const tnsr::iaa< DataType, SpatialDim, Frame > &phi) noexcept
Computes spatial derivatives of lapse (N) from the generalized harmonic variables and spacetime unit ...
Scalar< DataType > lapse(const tnsr::I< DataType, SpatialDim, Frame > &shift, const tnsr::aa< DataType, SpatialDim, Frame > &spacetime_metric) noexcept
Compute lapse from shift and spacetime metric.
Stores a collection of function values.
Definition: DataVector.hpp:46
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
Definition: IndexType.hpp:36
Require a pointer to not be a nullptr
Definition: ReadSpecThirdOrderPiecewisePolynomial.hpp:13