Line data Source code
1 0 : // Distributed under the MIT License. 2 : // See LICENSE.txt for details. 3 : 4 : #pragma once 5 : 6 : #include "Evolution/Systems/GeneralizedHarmonic/BoundaryCorrections/Factory.hpp" 7 : #include "Evolution/Systems/GrMhd/GhValenciaDivClean/BoundaryCorrections/ProductOfCorrections.hpp" 8 : #include "Evolution/Systems/GrMhd/ValenciaDivClean/BoundaryCorrections/Factory.hpp" 9 : #include "Utilities/Literals.hpp" 10 : #include "Utilities/TMPL.hpp" 11 : 12 1 : namespace grmhd::GhValenciaDivClean::BoundaryCorrections { 13 : namespace detail { 14 : template <typename GhList, typename ValenciaList> 15 : struct AllProductCorrections; 16 : 17 : template <typename GhList, typename... ValenciaCorrections> 18 : struct AllProductCorrections<GhList, tmpl::list<ValenciaCorrections...>> { 19 : using type = tmpl::flatten<tmpl::list< 20 : tmpl::transform<GhList, tmpl::bind<ProductOfCorrections, tmpl::_1, 21 : tmpl::pin<ValenciaCorrections>>>...>>; 22 : }; 23 : } // namespace detail 24 : 25 0 : using standard_boundary_corrections = typename detail::AllProductCorrections< 26 : typename gh::BoundaryCorrections::standard_boundary_corrections<3_st>, 27 : typename grmhd::ValenciaDivClean::BoundaryCorrections:: 28 : standard_boundary_corrections>::type; 29 : } // namespace grmhd::GhValenciaDivClean::BoundaryCorrections