Line data Source code
1 0 : // Distributed under the MIT License. 2 : // See LICENSE.txt for details. 3 : 4 : #pragma once 5 : 6 : #include <cstddef> 7 : 8 : #include "DataStructures/Tensor/TypeAliases.hpp" 9 : #include "Evolution/Systems/ScalarWave/Tags.hpp" 10 : #include "Utilities/ForceInline.hpp" 11 : #include "Utilities/TMPL.hpp" 12 : 13 : /// \cond 14 : class DataVector; 15 : 16 : namespace gsl { 17 : template <typename T> 18 : class not_null; 19 : } // namespace gsl 20 : /// \endcond 21 : 22 : // IWYU pragma: no_forward_declare Tensor 23 : 24 : namespace ScalarWave { 25 : /*! 26 : * \brief A relic of an old incorrect way of handling boundaries for 27 : * non-conservative systems. 28 : */ 29 : template <size_t Dim> 30 1 : struct ComputeNormalDotFluxes { 31 0 : using argument_tags = tmpl::list<Tags::Pi>; 32 0 : static void apply(gsl::not_null<Scalar<DataVector>*> psi_normal_dot_flux, 33 : gsl::not_null<Scalar<DataVector>*> pi_normal_dot_flux, 34 : gsl::not_null<tnsr::i<DataVector, Dim, Frame::Inertial>*> 35 : phi_normal_dot_flux, 36 : const Scalar<DataVector>& pi); 37 : }; 38 : } // namespace ScalarWave