Line data Source code
1 1 : // Distributed under the MIT License.
2 : // See LICENSE.txt for details.
3 :
4 : /// \file
5 : /// Defines class template GeneralizedHarmonicEquations.
6 :
7 : #pragma once
8 :
9 : #include <cstddef>
10 :
11 : #include "DataStructures/Tensor/TypeAliases.hpp"
12 : #include "PointwiseFunctions/GeneralRelativity/Tags.hpp"
13 : #include "Utilities/TMPL.hpp"
14 :
15 : /// \cond
16 : class DataVector;
17 :
18 : namespace gsl {
19 : template <class T>
20 : class not_null;
21 : } // namespace gsl
22 : /// \endcond
23 :
24 : namespace gh {
25 : /*!
26 : * \brief Set the normal dot the flux to zero since the generalized harmonic
27 : * system has no fluxes and they're currently still needed for the evolution
28 : * scheme.
29 : */
30 : template <size_t Dim>
31 1 : struct ComputeNormalDotFluxes {
32 : public:
33 0 : using argument_tags = tmpl::list<gr::Tags::SpacetimeMetric<DataVector, Dim>>;
34 :
35 0 : static void apply(
36 : gsl::not_null<tnsr::aa<DataVector, Dim>*>
37 : spacetime_metric_normal_dot_flux,
38 : gsl::not_null<tnsr::aa<DataVector, Dim>*> pi_normal_dot_flux,
39 : gsl::not_null<tnsr::iaa<DataVector, Dim>*> phi_normal_dot_flux,
40 : const tnsr::aa<DataVector, Dim>& spacetime_metric);
41 : };
42 : } // namespace gh
|