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 : namespace ScalarWave { 23 : /*! 24 : * \brief A relic of an old incorrect way of handling boundaries for 25 : * non-conservative systems. 26 : */ 27 : template <size_t Dim> 28 1 : struct ComputeNormalDotFluxes { 29 0 : using argument_tags = tmpl::list<Tags::Pi>; 30 0 : static void apply(gsl::not_null<Scalar<DataVector>*> psi_normal_dot_flux, 31 : gsl::not_null<Scalar<DataVector>*> pi_normal_dot_flux, 32 : gsl::not_null<tnsr::i<DataVector, Dim, Frame::Inertial>*> 33 : phi_normal_dot_flux, 34 : const Scalar<DataVector>& pi); 35 : }; 36 : } // namespace ScalarWave