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