9 #include "DataStructures/DataBox/Tag.hpp"
10 #include "DataStructures/DataVector.hpp"
13 #include "Domain/FunctionsOfTime/Tags.hpp"
14 #include "Evolution/Systems/GeneralizedHarmonic/ConstraintDamping/Tags.hpp"
15 #include "Evolution/Systems/GeneralizedHarmonic/Tags.hpp"
16 #include "PointwiseFunctions/GeneralRelativity/Tags.hpp"
17 #include "Time/Tags.hpp"
18 #include "Utilities/ContainerHelpers.hpp"
27 template <
size_t Dim,
typename Frame>
32 template <
typename X,
typename Symm,
typename IndexList>
36 namespace GeneralizedHarmonic::ConstraintDamping::Tags {
44 template <
size_t SpatialDim,
typename Frame>
47 tmpl::list<DampingFunctionGamma0<SpatialDim, Frame>,
52 static constexpr
void function(
54 const ::GeneralizedHarmonic::ConstraintDamping::DampingFunction<
55 SpatialDim,
Frame>& damping_function,
56 const tnsr::I<DataVector, SpatialDim, Frame>& coords,
const double time,
60 functions_of_time) noexcept {
61 damping_function(gamma, coords, time, functions_of_time);
74 template <
size_t SpatialDim,
typename Frame>
77 tmpl::list<DampingFunctionGamma1<SpatialDim, Frame>,
82 static constexpr
void function(
84 const ::GeneralizedHarmonic::ConstraintDamping::DampingFunction<
85 SpatialDim,
Frame>& damping_function,
86 const tnsr::I<DataVector, SpatialDim, Frame>& coords,
const double time,
90 functions_of_time) noexcept {
91 damping_function(gamma1, coords, time, functions_of_time);
104 template <
size_t SpatialDim,
typename Frame>
106 using argument_tags =
107 tmpl::list<DampingFunctionGamma2<SpatialDim, Frame>,
112 static constexpr
void function(
114 const ::GeneralizedHarmonic::ConstraintDamping::DampingFunction<
115 SpatialDim,
Frame>& damping_function,
116 const tnsr::I<DataVector, SpatialDim, Frame>& coords,
const double time,
120 functions_of_time) noexcept {
121 damping_function(gamma, coords, time, functions_of_time);