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/GrMhd/GhValenciaDivClean/System.hpp" 17 : #include "NumericalAlgorithms/LinearOperators/PartialDerivatives.hpp" 18 : #include "Utilities/Gsl.hpp" 19 : #include "Utilities/TMPL.hpp" 20 : 21 : /// \cond 22 : class DataVector; 23 : template <size_t Dim> 24 : class Mesh; 25 : template <typename TagsList> 26 : class Variables; 27 : namespace evolution::dg::subcell { 28 : class GhostData; 29 : } // namespace evolution::dg::subcell 30 : /// \endcond 31 : 32 : namespace grmhd::GhValenciaDivClean::fd { 33 : /*! 34 : * \brief Apply a Kreiss-Oliger filter to \f$g_{ab}\f$, \f$\Phi_{iab}\f$, and 35 : * \f$\Pi_{ab}\f$. 36 : */ 37 1 : void spacetime_kreiss_oliger_filter( 38 : gsl::not_null<Variables< 39 : typename grmhd::GhValenciaDivClean::System::variables_tag::tags_list>*> 40 : result, 41 : const Variables< 42 : typename grmhd::GhValenciaDivClean::System::variables_tag::tags_list>& 43 : volume_evolved_variables, 44 : const DirectionalIdMap<3, evolution::dg::subcell::GhostData>& 45 : all_ghost_data, 46 : const Mesh<3>& volume_mesh, size_t order, double epsilon); 47 : } // namespace grmhd::GhValenciaDivClean::fd