Line data Source code
1 0 : // Distributed under the MIT License. 2 : // See LICENSE.txt for details. 3 : 4 : #pragma once 5 : 6 : #include "Time/TimeSteppers/AdamsBashforth.hpp" 7 : #include "Time/TimeSteppers/AdamsMoultonPc.hpp" 8 : #include "Time/TimeSteppers/ClassicalRungeKutta4.hpp" 9 : #include "Time/TimeSteppers/DormandPrince5.hpp" 10 : #include "Time/TimeSteppers/Heun2.hpp" 11 : #include "Time/TimeSteppers/Rk3HesthavenSsp.hpp" 12 : #include "Time/TimeSteppers/Rk3Kennedy.hpp" 13 : #include "Time/TimeSteppers/Rk3Owren.hpp" 14 : #include "Time/TimeSteppers/Rk3Pareschi.hpp" 15 : #include "Time/TimeSteppers/Rk4Kennedy.hpp" 16 : #include "Time/TimeSteppers/Rk4Owren.hpp" 17 : #include "Time/TimeSteppers/Rk5Owren.hpp" 18 : #include "Time/TimeSteppers/Rk5Tsitouras.hpp" 19 : #include "Utilities/TMPL.hpp" 20 : 21 : namespace TimeSteppers { 22 : /// Typelist of available TimeSteppers 23 1 : using time_steppers = 24 : tmpl::list<AdamsBashforth, AdamsMoultonPc<false>, AdamsMoultonPc<true>, 25 : ClassicalRungeKutta4, DormandPrince5, Heun2, Rk3HesthavenSsp, 26 : Rk3Kennedy, Rk3Owren, Rk3Pareschi, Rk4Kennedy, Rk4Owren, 27 : Rk5Owren, Rk5Tsitouras>; 28 : 29 : /// Typelist of available LtsTimeSteppers 30 1 : using lts_time_steppers = 31 : tmpl::list<AdamsBashforth, AdamsMoultonPc<false>, AdamsMoultonPc<true>>; 32 : 33 : /// Typelist of available ImexTimeSteppers 34 1 : using imex_time_steppers = 35 : tmpl::list<Heun2, Rk3Kennedy, Rk3Pareschi, Rk4Kennedy>; 36 : 37 : /// Typelist of TimeSteppers whose substep times are strictly increasing 38 1 : using increasing_substep_time_steppers = 39 : tmpl::list<AdamsBashforth, Rk3Owren, Rk4Owren>; 40 : 41 : /// Typelist of LtsTimeSteppers with monotonic() true, i.e., those 42 : /// that work with control systems. 43 1 : using monotonic_lts_time_steppers = 44 : tmpl::list<AdamsBashforth, AdamsMoultonPc<true>>; 45 : } // namespace TimeSteppers