12 #include "Evolution/Systems/GeneralizedHarmonic/TagsDeclarations.hpp" 14 #include "PointwiseFunctions/GeneralRelativity/TagsDeclarations.hpp" 43 using argument_tags = tmpl::list<
45 ::Tags::deriv<gr::Tags::SpacetimeMetric<Dim>, tmpl::size_t<Dim>,
47 ::Tags::deriv<Tags::Pi<Dim>, tmpl::size_t<Dim>, Frame::Inertial>,
48 ::Tags::deriv<Tags::Phi<Dim>, tmpl::size_t<Dim>, Frame::Inertial>,
60 gsl::not_null<tnsr::aa<DataVector, Dim>*> dt_spacetime_metric,
64 const tnsr::aa<DataVector, Dim>&
pi,
65 const tnsr::iaa<DataVector, Dim>&
phi,
66 const tnsr::iaa<DataVector, Dim>& d_spacetime_metric,
67 const tnsr::iaa<DataVector, Dim>& d_pi,
68 const tnsr::ijaa<DataVector, Dim>& d_phi,
71 const tnsr::a<DataVector, Dim>& gauge_function,
72 const tnsr::ab<DataVector, Dim>& spacetime_deriv_gauge_function,
74 const tnsr::II<DataVector, Dim>& inverse_spatial_metric,
76 const tnsr::a<DataVector, Dim>& trace_christoffel,
78 const tnsr::Abb<DataVector, Dim>& christoffel_second_kind,
79 const tnsr::A<DataVector, Dim>& normal_spacetime_vector,
80 const tnsr::a<DataVector, Dim>& normal_spacetime_one_form);
108 template <
size_t Dim>
111 using argument_tags =
119 spacetime_metric_normal_dot_flux,
120 gsl::not_null<tnsr::aa<DataVector, Dim>*> pi_normal_dot_flux,
121 gsl::not_null<tnsr::iaa<DataVector, Dim>*> phi_normal_dot_flux,
123 const tnsr::aa<DataVector, Dim>&
pi,
126 const tnsr::I<DataVector, Dim>&
shift,
127 const tnsr::II<DataVector, Dim>& inverse_spatial_metric,
128 const tnsr::i<DataVector, Dim>& unit_normal) noexcept;
Implementations from the Guideline Support Library.
Definition: ConservativeFromPrimitive.hpp:10
tnsr::abb< DataType, SpatialDim, Frame, Index > christoffel_first_kind(const tnsr::abb< DataType, SpatialDim, Frame, Index > &d_metric) noexcept
Computes Christoffel symbol of the first kind from derivative of metric.
Definition: Christoffel.cpp:31
Compute the RHS of the Generalized Harmonic formulation of Einstein's equations.
Definition: Equations.hpp:41
constexpr auto apply(F &&f, const DataBox< BoxTags > &box, Args &&... args)
Apply the function f with argument Tags TagsList from DataBox box
Definition: DataBox.hpp:1595
tnsr::AA< DataType, SpatialDim, Frame > inverse_spacetime_metric(const Scalar< DataType > &lapse, const tnsr::I< DataType, SpatialDim, Frame > &shift, const tnsr::II< DataType, SpatialDim, Frame > &inverse_spatial_metric) noexcept
Compute inverse spacetime metric from inverse spatial metric, lapse and shift.
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 .
Definition: ComputeGhQuantities.cpp:58
tnsr::aa< DataType, SpatialDim, Frame > spacetime_metric(const Scalar< DataType > &lapse, const tnsr::I< DataType, SpatialDim, Frame > &shift, const tnsr::ii< DataType, SpatialDim, Frame > &spatial_metric) noexcept
Computes the spacetime metric from the spatial metric, lapse, and shift.
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...
Definition: ComputeGhQuantities.cpp:22
Items related to evolving the first-order generalized harmonic system.
Definition: Characteristics.cpp:25
Defines functions computing partial derivatives.
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.
Definition: ComputeSpacetimeQuantities.cpp:98
Defines a list of useful type aliases for tensors.
tnsr::I< DataType, SpatialDim, Frame > shift(const tnsr::aa< DataType, SpatialDim, Frame > &spacetime_metric, const tnsr::II< DataType, SpatialDim, Frame > &inverse_spatial_metric) noexcept
Compute shift from spacetime metric and inverse spatial metric.
Definition: ComputeSpacetimeQuantities.cpp:82
Stores a collection of function values.
Definition: DataVector.hpp:46
Wraps the template metaprogramming library used (brigand)
Compute the fluxes of the Generalized Harmonic formulation of Einstein's equations.
Definition: Equations.hpp:109
Definition: IndexType.hpp:44
Tensor< T, Symmetry<>, index_list<> > Scalar
Scalar type.
Definition: TypeAliases.hpp:21
Require a pointer to not be a nullptr
Definition: ConservativeFromPrimitive.hpp:12