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 : // IWYU pragma: no_forward_declare Tags::deriv 25 : 26 : namespace gh { 27 : /*! 28 : * \brief Set the normal dot the flux to zero since the generalized harmonic 29 : * system has no fluxes and they're currently still needed for the evolution 30 : * scheme. 31 : */ 32 : template <size_t Dim> 33 1 : struct ComputeNormalDotFluxes { 34 : public: 35 0 : using argument_tags = tmpl::list<gr::Tags::SpacetimeMetric<DataVector, Dim>>; 36 : 37 0 : static void apply( 38 : gsl::not_null<tnsr::aa<DataVector, Dim>*> 39 : spacetime_metric_normal_dot_flux, 40 : gsl::not_null<tnsr::aa<DataVector, Dim>*> pi_normal_dot_flux, 41 : gsl::not_null<tnsr::iaa<DataVector, Dim>*> phi_normal_dot_flux, 42 : const tnsr::aa<DataVector, Dim>& spacetime_metric); 43 : }; 44 : } // namespace gh