Line data Source code
1 0 : // Distributed under the MIT License. 2 : // See LICENSE.txt for details. 3 : 4 : #pragma once 5 : 6 : #include "PointwiseFunctions/AnalyticSolutions/WaveEquation/PlaneWave.hpp" 7 : #include "PointwiseFunctions/AnalyticSolutions/WaveEquation/RegularSphericalWave.hpp" 8 : #include "PointwiseFunctions/AnalyticSolutions/WaveEquation/SecondOrderWrapper.hpp" 9 : #include "PointwiseFunctions/AnalyticSolutions/WaveEquation/SemidiscretizedDg.hpp" 10 : #include "PointwiseFunctions/AnalyticSolutions/WaveEquation/StandingWave.hpp" 11 : #include "Utilities/TMPL.hpp" 12 : 13 1 : namespace ScalarWave::Solutions { 14 : /// \brief List of all analytic solutions 15 : template <size_t Dim> 16 1 : using all_solutions = tmpl::append< 17 : tmpl::list<PlaneWave<Dim>, StandingWave<Dim>>, 18 : tmpl::conditional_t<Dim == 1, tmpl::list<SemidiscretizedDg>, tmpl::list<>>, 19 : tmpl::conditional_t<Dim == 3, tmpl::list<RegularSphericalWave>, 20 : tmpl::list<>>>; 21 : } // namespace ScalarWave::Solutions 22 : 23 1 : namespace SecondOrderScalarWave::Solutions { 24 : /// \brief List of all analytic solutions for the second-order in space scalar 25 : /// wave system 26 : template <size_t Dim> 27 1 : using all_solutions = 28 : tmpl::list<SecondOrderWrapper<ScalarWave::Solutions::PlaneWave<Dim>>, 29 : SecondOrderWrapper<ScalarWave::Solutions::StandingWave<Dim>>>; 30 : } // namespace SecondOrderScalarWave::Solutions