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 : #include <utility>
8 :
9 : #include "DataStructures/DataBox/PrefixHelpers.hpp"
10 : #include "DataStructures/Tensor/IndexType.hpp"
11 : #include "DataStructures/Tensor/TypeAliases.hpp"
12 : #include "Domain/Structure/Direction.hpp"
13 : #include "Domain/Structure/DirectionalId.hpp"
14 : #include "Domain/Structure/DirectionalIdMap.hpp"
15 : #include "Domain/Structure/ElementId.hpp"
16 : #include "Evolution/Systems/Ccz4/FiniteDifference/System.hpp"
17 : #include "Utilities/Gsl.hpp"
18 : #include "Utilities/TMPL.hpp"
19 :
20 : /// \cond
21 : class DataVector;
22 : template <size_t Dim>
23 : class Mesh;
24 : template <typename TagsList>
25 : class Variables;
26 : namespace evolution::dg::subcell {
27 : class GhostData;
28 : } // namespace evolution::dg::subcell
29 : /// \endcond
30 :
31 : namespace Ccz4::fd {
32 : /*!
33 : * \brief Apply a Kreiss-Oliger filter to System::variables_tag_list
34 : */
35 1 : void ccz4_kreiss_oliger_filter(
36 : gsl::not_null<Variables<System::variables_tag_list>*> result,
37 : const Variables<System::variables_tag_list>& volume_evolved_variables,
38 : const DirectionalIdMap<3, evolution::dg::subcell::GhostData>&
39 : all_ghost_data,
40 : bool evolve_lapse_and_shift, const Mesh<3>& volume_mesh, size_t order,
41 : double epsilon);
42 : } // namespace Ccz4::fd
|