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 "Evolution/Systems/GeneralizedHarmonic/System.hpp"
9 : #include "NumericalAlgorithms/LinearOperators/Filters/Factory.hpp"
10 : #include "NumericalAlgorithms/LinearOperators/Filters/SphericalShell.hpp"
11 : #include "Utilities/TMPL.hpp"
12 :
13 : namespace gh {
14 : /*!
15 : * \ingroup DiscontinuousGalerkinGroup
16 : * \brief A `tmpl::list` of all concrete filter types for the generalized
17 : * harmonic system.
18 : *
19 : * Extends `Filters::all_filters` with `Filters::SphericalShell` for `Dim == 3`.
20 : */
21 : template <size_t Dim>
22 1 : using all_filters = tmpl::append<
23 : Filters::all_filters<Dim, typename System<Dim>::variables_tag::tags_list>,
24 : tmpl::conditional_t<Dim == 3,
25 : tmpl::list<Filters::SphericalShell<
26 : typename System<Dim>::variables_tag::tags_list>>,
27 : tmpl::list<>>>;
28 : } // namespace gh
|