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