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
|