Tempus Version of the Day
Time Integration
Loading...
Searching...
No Matches
Tempus_StepperFactory_impl.hpp
Go to the documentation of this file.
1//@HEADER
2// *****************************************************************************
3// Tempus: Time Integration and Sensitivity Analysis Package
4//
5// Copyright 2017 NTESS and the Tempus contributors.
6// SPDX-License-Identifier: BSD-3-Clause
7// *****************************************************************************
8//@HEADER
9
10#ifndef Tempus_StepperFactory_impl_hpp
11#define Tempus_StepperFactory_impl_hpp
12
13#include "Tempus_StepperForwardEuler.hpp"
14#include "Tempus_StepperBackwardEuler.hpp"
15#include "Tempus_StepperTrapezoidal.hpp"
16#include "Tempus_StepperBDF2.hpp"
17#include "Tempus_StepperNewmarkImplicitAForm.hpp"
18#include "Tempus_StepperNewmarkImplicitDForm.hpp"
19#include "Tempus_StepperNewmarkExplicitAForm.hpp"
20#include "Tempus_StepperHHTAlpha.hpp"
22#include "Tempus_StepperIMEX_RK.hpp"
23#include "Tempus_StepperIMEX_RK_Partition.hpp"
24#include "Tempus_StepperOperatorSplit.hpp"
25#include "Tempus_StepperSubcycling.hpp"
26#include "Tempus_StepperLeapfrog.hpp"
27
28namespace Tempus {
29
30template <class Scalar>
31Teuchos::RCP<Stepper<Scalar> > StepperFactory<Scalar>::createStepper(
32 std::string stepperType,
33 const Teuchos::RCP<const Thyra::ModelEvaluator<Scalar> >& model)
34{
35 if (stepperType == "") stepperType = "Forward Euler";
36 return this->createStepper(stepperType, Teuchos::null, model);
37}
38
39template <class Scalar>
40Teuchos::RCP<Stepper<Scalar> > StepperFactory<Scalar>::createStepper(
41 Teuchos::RCP<Teuchos::ParameterList> stepperPL,
42 const Teuchos::RCP<const Thyra::ModelEvaluator<Scalar> >& model)
43{
44 std::string stepperType = "Forward Euler";
45 if (stepperPL != Teuchos::null)
46 stepperType = stepperPL->get<std::string>("Stepper Type", "Forward Euler");
47 return this->createStepper(stepperType, stepperPL, model);
48}
49
50template <class Scalar>
51Teuchos::RCP<Stepper<Scalar> > StepperFactory<Scalar>::createStepper(
52 Teuchos::RCP<Teuchos::ParameterList> stepperPL,
53 std::vector<Teuchos::RCP<const Thyra::ModelEvaluator<Scalar> > > models)
54{
55 std::string stepperType = "Operator Split";
56 if (stepperPL != Teuchos::null)
57 stepperType = stepperPL->get<std::string>("Stepper Type");
58
59 if (stepperType == "Operator Split")
60 return createStepperOperatorSplit(models, stepperPL);
61 else {
62 TEUCHOS_TEST_FOR_EXCEPTION(true, std::logic_error,
63 "Unknown 'Stepper Type' = " << stepperType);
64 }
65}
66
67template <class Scalar>
68Teuchos::RCP<Stepper<Scalar> > StepperFactory<Scalar>::createStepper(
69 std::string stepperType, Teuchos::RCP<Teuchos::ParameterList> stepperPL,
70 const Teuchos::RCP<const Thyra::ModelEvaluator<Scalar> >& model)
71{
72 using Teuchos::rcp;
73 if (stepperType == "Forward Euler")
74 return createStepperForwardEuler(model, stepperPL);
75 else if (stepperType == "Backward Euler")
76 return createStepperBackwardEuler(model, stepperPL);
77 else if (stepperType == "Trapezoidal Method")
78 return createStepperTrapezoidal(model, stepperPL);
79 else if (stepperType == "BDF2")
80 return createStepperBDF2(model, stepperPL);
81 else if (stepperType == "Newmark Implicit a-Form")
82 return createStepperNewmarkImplicitAForm(model, stepperPL);
83 else if (stepperType == "Newmark Implicit d-Form")
84 return createStepperNewmarkImplicitDForm(model, stepperPL);
85 else if (stepperType == "Newmark Explicit a-Form")
86 return createStepperNewmarkExplicitAForm(model, stepperPL);
87 else if (stepperType == "HHT-Alpha")
88 return createStepperHHTAlpha(model, stepperPL);
89 else if (stepperType == "General ERK")
90 return createStepperERK_General(model, stepperPL);
91 else if (stepperType == "RK Forward Euler" || stepperType == "RK1")
92 return createStepperERK_ForwardEuler(model, stepperPL);
93 else if (stepperType == "RK Explicit 4 Stage")
94 return createStepperERK_4Stage4thOrder(model, stepperPL);
95 else if (stepperType == "RK Explicit 3/8 Rule")
96 return createStepperERK_3_8Rule(model, stepperPL);
97 else if (stepperType == "RK Explicit 4 Stage 3rd order by Runge")
98 return createStepperERK_4Stage3rdOrderRunge(model, stepperPL);
99 else if (stepperType == "RK Explicit 5 Stage 3rd order by Kinnmark and Gray")
100 return createStepperERK_5Stage3rdOrderKandG(model, stepperPL);
101 else if (stepperType == "RK Explicit 3 Stage 3rd order")
102 return createStepperERK_3Stage3rdOrder(model, stepperPL);
103 else if (stepperType == "RK Explicit 3 Stage 3rd order TVD" ||
104 stepperType == "SSPERK33" || stepperType == "SSPRK3")
105 return createStepperERK_3Stage3rdOrderTVD(model, stepperPL);
106 else if (stepperType == "RK Explicit 3 Stage 3rd order by Heun")
107 return createStepperERK_3Stage3rdOrderHeun(model, stepperPL);
108 else if (stepperType == "RK Explicit Midpoint")
109 return createStepperERK_Midpoint(model, stepperPL);
110 else if (stepperType == "RK Explicit Trapezoidal" ||
111 stepperType == "Heuns Method" || stepperType == "SSPERK22" ||
112 stepperType == "SSPRK2")
113 return createStepperERK_Trapezoidal(model, stepperPL);
114 else if (stepperType == "RK Explicit Ralston" || stepperType == "RK2")
115 return createStepperERK_Ralston(model, stepperPL);
116 else if (stepperType == "SSPERK54")
117 return createStepperERK_SSPERK54(model, stepperPL);
118 else if (stepperType == "Bogacki-Shampine 3(2) Pair")
119 return createStepperERK_BogackiShampine32(model, stepperPL);
120 else if (stepperType == "Merson 4(5) Pair")
121 return createStepperERK_Merson45(model, stepperPL);
122 else if (stepperType == "General DIRK")
123 return createStepperDIRK_General(model, stepperPL);
124 else if (stepperType == "RK Backward Euler")
125 return createStepperDIRK_BackwardEuler(model, stepperPL);
126 else if (stepperType == "SDIRK 2 Stage 2nd order")
127 return createStepperSDIRK_2Stage2ndOrder(model, stepperPL);
128 else if (stepperType == "SSPDIRK22")
129 return createStepperSDIRK_SSPDIRK22(model, stepperPL);
130 else if (stepperType == "SDIRK 3 Stage 2nd order")
131 return createStepperSDIRK_3Stage2ndOrder(model, stepperPL);
132 else if (stepperType == "SSPDIRK32")
133 return createStepperSDIRK_SSPDIRK32(model, stepperPL);
134 else if (stepperType == "SSPDIRK23")
135 return createStepperSDIRK_SSPDIRK23(model, stepperPL);
136 else if (stepperType == "SSPDIRK33")
137 return createStepperSDIRK_SSPDIRK33(model, stepperPL);
138 else if (stepperType == "SDIRK 2 Stage 3rd order")
139 return createStepperSDIRK_2Stage3rdOrder(model, stepperPL);
140 else if (stepperType == "EDIRK 2 Stage 3rd order")
141 return createStepperEDIRK_2Stage3rdOrder(model, stepperPL);
142 else if (stepperType == "DIRK 1 Stage Theta Method")
143 return createStepperDIRK_1StageTheta(model, stepperPL);
144 else if (stepperType == "EDIRK 2 Stage Theta Method")
145 return createStepperEDIRK_2StageTheta(model, stepperPL);
146 else if (stepperType == "RK Trapezoidal Rule" ||
147 stepperType == "RK Crank-Nicolson")
148 return createStepperEDIRK_TrapezoidalRule(model, stepperPL);
149 else if (stepperType == "RK Implicit Midpoint")
150 return createStepperSDIRK_ImplicitMidpoint(model, stepperPL);
151 else if (stepperType == "RK Implicit 1 Stage 1st order Radau IA")
152 return createStepperDIRK_1Stage1stOrderRadauIA(model, stepperPL);
153 else if (stepperType == "RK Implicit 2 Stage 2nd order Lobatto IIIB")
154 return createStepperDIRK_2Stage2ndOrderLobattoIIIB(model, stepperPL);
155 else if (stepperType == "SDIRK 5 Stage 4th order")
156 return createStepperSDIRK_5Stage4thOrder(model, stepperPL);
157 else if (stepperType == "SDIRK 3 Stage 4th order")
158 return createStepperSDIRK_3Stage4thOrder(model, stepperPL);
159 else if (stepperType == "SDIRK 5 Stage 5th order")
160 return createStepperSDIRK_5Stage5thOrder(model, stepperPL);
161 else if (stepperType == "SDIRK 2(1) Pair")
162 return createStepperSDIRK_21Pair(model, stepperPL);
163 else if (stepperType == "IMEX RK 1st order" || stepperType == "SSP1_111" ||
164 stepperType == "IMEX RK SSP2" || stepperType == "IMEX RK SSP3" ||
165 stepperType == "SSP3_332" || stepperType == "SSP2_222" ||
166 stepperType == "SSP2_222_L" || stepperType == "SSP2_222_A" ||
167 stepperType == "IMEX RK ARS 233" || stepperType == "ARS 233" ||
168 stepperType == "General IMEX RK")
169 return createStepperIMEX_RK(model, stepperType, stepperPL);
170 else if (stepperType == "Partitioned IMEX RK 1st order" ||
171 stepperType == "Partitioned IMEX RK SSP2" ||
172 stepperType == "Partitioned IMEX RK ARS 233" ||
173 stepperType == "General Partitioned IMEX RK")
174 return createStepperIMEX_RK_Partition(model, stepperType, stepperPL);
175 else if (stepperType == "Leapfrog")
176 return createStepperLeapfrog(model, stepperPL);
177 else if (stepperType == "Subcycling")
178 return createStepperSubcycling(model, stepperPL);
179 else {
180 Teuchos::RCP<Teuchos::FancyOStream> out =
181 Teuchos::VerboseObjectBase::getDefaultOStream();
182 out->setOutputToRootOnly(0);
183 Teuchos::OSTab ostab(out, 1, "StepperFactory::createStepper");
184 *out << "Unknown Stepper Type! ('" + stepperType + "').\n"
185 << "Here is a list of available Steppers.\n"
186 << " One-Step Methods:\n"
187 << " 'Forward Euler'\n"
188 << " 'Backward Euler'\n"
189 << " 'Trapezoidal Method'\n"
190 << " Multi-Step Methods:\n"
191 << " 'BDF2'\n"
192 << " Second-order PDE Methods:\n"
193 << " 'Leapfrog'\n"
194 << " 'Newmark Implicit a-Form'\n"
195 << " 'Newmark Implicit d-Form'\n"
196 << " 'Newmark Explicit a-Form'\n"
197 << " 'HHT-Alpha'\n"
198 << " Explicit Runge-Kutta Methods:\n"
199 << " 'RK Forward Euler (RK1)'\n"
200 << " 'RK Explicit 4 Stage'\n"
201 << " 'RK Explicit 3/8 Rule'\n"
202 << " 'RK Explicit 4 Stage 3rd order by Runge'\n"
203 << " 'RK Explicit 5 Stage 3rd order by Kinnmark and Gray'\n"
204 << " 'RK Explicit 3 Stage 3rd order'\n"
205 << " 'RK Explicit 3 Stage 3rd order TVD'\n"
206 << " 'RK Explicit 3 Stage 3rd order by Heun'\n"
207 << " 'RK Explicit Midpoint'\n"
208 << " 'RK Explicit Trapezoidal' or 'Heuns Method'\n"
209 << " 'Bogacki-Shampine 3(2) Pair'\n"
210 << " 'SSPERK22 (SSPRK2)'\n"
211 << " 'SSPERK33 (SSPRK3)'\n"
212 << " 'SSPERK54'\n"
213 << " 'General ERK'\n"
214 << " Implicit Runge-Kutta Methods:\n"
215 << " 'RK Backward Euler'\n"
216 << " 'DIRK 1 Stage Theta Method'\n"
217 << " 'RK Implicit Midpoint'\n"
218 << " 'SDIRK 1 Stage 1st order'\n"
219 << " 'SDIRK 2 Stage 2nd order'\n"
220 << " 'SDIRK 2 Stage 3rd order'\n"
221 << " 'EDIRK 2 Stage 3rd order'\n"
222 << " 'EDIRK 2 Stage Theta Method'\n"
223 << " 'SDIRK 3 Stage 4th order'\n"
224 << " 'SDIRK 5 Stage 4th order'\n"
225 << " 'SDIRK 5 Stage 5th order'\n"
226 << " 'SSPDIRK22'\n"
227 << " 'SSPDIRK32'\n"
228 << " 'SSPDIRK23'\n"
229 << " 'SSPDIRK33'\n"
230 << " 'SDIRK 2(1) Pair'\n"
231 << " 'SDIRK 3 Stage 2nd order'\n"
232 << " 'RK Trapezoidal Rule' or 'RK Crank-Nicolson'\n"
233 << " 'General DIRK'\n"
234 << " Implicit-Explicit (IMEX) Methods:\n"
235 << " 'IMEX RK 1st order'\n"
236 << " 'SSP1_111'\n"
237 << " 'IMEX RK SSP2 (SSP2_222)'\n"
238 << " 'IMEX RK SSP3 (SSP3_332)'\n"
239 << " 'IMEX RK ARS 233'\n"
240 << " 'General IMEX RK'\n"
241 << " 'Partitioned IMEX RK 1st order'\n"
242 << " 'Partitioned IMEX RK SSP2'\n"
243 << " 'Partitioned IMEX RK ARS 233'\n"
244 << " 'General Partitioned IMEX RK'\n"
245 << " Steppers with subSteppers:\n"
246 << " 'Operator Split'\n"
247 << std::endl;
248 TEUCHOS_TEST_FOR_EXCEPTION(true, std::logic_error,
249 "Unknown 'Stepper Type' = " << stepperType);
250 }
251}
252
253} // namespace Tempus
254#endif // Tempus_StepperFactory_impl_hpp
Teuchos::RCP< Stepper< Scalar > > createStepper(std::string stepperType="Forward Euler", const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &model=Teuchos::null)
Create stepper from stepper type.
Teuchos::RCP< StepperBackwardEuler< Scalar > > createStepperBackwardEuler(const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &model, Teuchos::RCP< Teuchos::ParameterList > pl)
Nonmember constructor - ModelEvaluator and ParameterList.
Teuchos::RCP< StepperLeapfrog< Scalar > > createStepperLeapfrog(const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &model, Teuchos::RCP< Teuchos::ParameterList > pl)
Nonmember constructor - ModelEvaluator and ParameterList.
Teuchos::RCP< StepperSDIRK_2Stage2ndOrder< Scalar > > createStepperSDIRK_2Stage2ndOrder(const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &model, Teuchos::RCP< Teuchos::ParameterList > pl)
Nonmember constructor - ModelEvaluator and ParameterList.
Teuchos::RCP< StepperIMEX_RK_Partition< Scalar > > createStepperIMEX_RK_Partition(const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &model, std::string stepperType, Teuchos::RCP< Teuchos::ParameterList > pl)
Nonmember constructor - ModelEvaluator and ParameterList.
Teuchos::RCP< StepperERK_General< Scalar > > createStepperERK_General(const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &model, Teuchos::RCP< Teuchos::ParameterList > pl)
Nonmember constructor - ModelEvaluator and ParameterList.
Teuchos::RCP< StepperSDIRK_SSPDIRK23< Scalar > > createStepperSDIRK_SSPDIRK23(const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &model, Teuchos::RCP< Teuchos::ParameterList > pl)
Nonmember constructor - ModelEvaluator and ParameterList.
Teuchos::RCP< StepperSDIRK_SSPDIRK32< Scalar > > createStepperSDIRK_SSPDIRK32(const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &model, Teuchos::RCP< Teuchos::ParameterList > pl)
Nonmember constructor - ModelEvaluator and ParameterList.
Teuchos::RCP< StepperDIRK_2Stage2ndOrderLobattoIIIB< Scalar > > createStepperDIRK_2Stage2ndOrderLobattoIIIB(const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &model, Teuchos::RCP< Teuchos::ParameterList > pl)
Nonmember constructor - ModelEvaluator and ParameterList.
Teuchos::RCP< StepperERK_Midpoint< Scalar > > createStepperERK_Midpoint(const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &model, Teuchos::RCP< Teuchos::ParameterList > pl)
Nonmember constructor - ModelEvaluator and ParameterList.
Teuchos::RCP< StepperSDIRK_SSPDIRK22< Scalar > > createStepperSDIRK_SSPDIRK22(const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &model, Teuchos::RCP< Teuchos::ParameterList > pl)
Nonmember constructor - ModelEvaluator and ParameterList.
Teuchos::RCP< StepperSubcycling< Scalar > > createStepperSubcycling(const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &model, Teuchos::RCP< Teuchos::ParameterList > pl)
Nonmember constructor - ModelEvaluator and ParameterList.
Teuchos::RCP< StepperERK_4Stage4thOrder< Scalar > > createStepperERK_4Stage4thOrder(const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &model, Teuchos::RCP< Teuchos::ParameterList > pl)
Nonmember constructor - ModelEvaluator and ParameterList.
Teuchos::RCP< StepperERK_4Stage3rdOrderRunge< Scalar > > createStepperERK_4Stage3rdOrderRunge(const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &model, Teuchos::RCP< Teuchos::ParameterList > pl)
Nonmember constructor - ModelEvaluator and ParameterList.
Teuchos::RCP< StepperERK_Trapezoidal< Scalar > > createStepperERK_Trapezoidal(const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &model, Teuchos::RCP< Teuchos::ParameterList > pl)
Nonmember constructor - ModelEvaluator and ParameterList.
Teuchos::RCP< StepperDIRK_BackwardEuler< Scalar > > createStepperDIRK_BackwardEuler(const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &model, Teuchos::RCP< Teuchos::ParameterList > pl)
Nonmember constructor - ModelEvaluator and ParameterList.
Teuchos::RCP< StepperSDIRK_SSPDIRK33< Scalar > > createStepperSDIRK_SSPDIRK33(const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &model, Teuchos::RCP< Teuchos::ParameterList > pl)
Nonmember constructor - ModelEvaluator and ParameterList.
Teuchos::RCP< StepperBDF2< Scalar > > createStepperBDF2(const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &model, Teuchos::RCP< Teuchos::ParameterList > pl)
Nonmember constructor - ModelEvaluator and ParameterList.
Teuchos::RCP< StepperERK_BogackiShampine32< Scalar > > createStepperERK_BogackiShampine32(const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &model, Teuchos::RCP< Teuchos::ParameterList > pl)
Nonmember constructor - ModelEvaluator and ParameterList.
Teuchos::RCP< StepperERK_Ralston< Scalar > > createStepperERK_Ralston(const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &model, Teuchos::RCP< Teuchos::ParameterList > pl)
Nonmember constructor - ModelEvaluator and ParameterList.
Teuchos::RCP< StepperNewmarkImplicitDForm< Scalar > > createStepperNewmarkImplicitDForm(const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &model, Teuchos::RCP< Teuchos::ParameterList > pl)
Nonmember constructor - ModelEvaluator and ParameterList.
Teuchos::RCP< StepperERK_3Stage3rdOrderHeun< Scalar > > createStepperERK_3Stage3rdOrderHeun(const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &model, Teuchos::RCP< Teuchos::ParameterList > pl)
Nonmember constructor - ModelEvaluator and ParameterList.
Teuchos::RCP< StepperSDIRK_3Stage2ndOrder< Scalar > > createStepperSDIRK_3Stage2ndOrder(const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &model, Teuchos::RCP< Teuchos::ParameterList > pl)
Nonmember constructor - ModelEvaluator and ParameterList.
Teuchos::RCP< StepperTrapezoidal< Scalar > > createStepperTrapezoidal(const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &model, Teuchos::RCP< Teuchos::ParameterList > pl)
Nonmember constructor - ModelEvaluator and ParameterList.
Teuchos::RCP< StepperDIRK_1StageTheta< Scalar > > createStepperDIRK_1StageTheta(const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &model, Teuchos::RCP< Teuchos::ParameterList > pl)
Nonmember constructor - ModelEvaluator and ParameterList.
Teuchos::RCP< StepperERK_3Stage3rdOrderTVD< Scalar > > createStepperERK_3Stage3rdOrderTVD(const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &model, Teuchos::RCP< Teuchos::ParameterList > pl)
Nonmember constructor - ModelEvaluator and ParameterList.
Teuchos::RCP< StepperSDIRK_2Stage3rdOrder< Scalar > > createStepperSDIRK_2Stage3rdOrder(const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &model, Teuchos::RCP< Teuchos::ParameterList > pl)
Nonmember constructor - ModelEvaluator and ParameterList.
Teuchos::RCP< StepperEDIRK_TrapezoidalRule< Scalar > > createStepperEDIRK_TrapezoidalRule(const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &model, Teuchos::RCP< Teuchos::ParameterList > pl)
Nonmember constructor - ModelEvaluator and ParameterList.
Teuchos::RCP< StepperDIRK_1Stage1stOrderRadauIA< Scalar > > createStepperDIRK_1Stage1stOrderRadauIA(const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &model, Teuchos::RCP< Teuchos::ParameterList > pl)
Nonmember constructor - ModelEvaluator and ParameterList.
Teuchos::RCP< StepperERK_5Stage3rdOrderKandG< Scalar > > createStepperERK_5Stage3rdOrderKandG(const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &model, Teuchos::RCP< Teuchos::ParameterList > pl)
Nonmember constructor - ModelEvaluator and ParameterList.
Teuchos::RCP< StepperERK_Merson45< Scalar > > createStepperERK_Merson45(const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &model, Teuchos::RCP< Teuchos::ParameterList > pl)
Nonmember constructor - ModelEvaluator and ParameterList.
Teuchos::RCP< StepperSDIRK_ImplicitMidpoint< Scalar > > createStepperSDIRK_ImplicitMidpoint(const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &model, Teuchos::RCP< Teuchos::ParameterList > pl)
Nonmember constructor - ModelEvaluator and ParameterList.
Teuchos::RCP< StepperForwardEuler< Scalar > > createStepperForwardEuler(const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &model, Teuchos::RCP< Teuchos::ParameterList > pl)
Nonmember constructor - ModelEvaluator and ParameterList.
Teuchos::RCP< StepperSDIRK_5Stage4thOrder< Scalar > > createStepperSDIRK_5Stage4thOrder(const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &model, Teuchos::RCP< Teuchos::ParameterList > pl)
Nonmember constructor - ModelEvaluator and ParameterList.
Teuchos::RCP< StepperEDIRK_2StageTheta< Scalar > > createStepperEDIRK_2StageTheta(const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &model, Teuchos::RCP< Teuchos::ParameterList > pl)
Nonmember constructor - ModelEvaluator and ParameterList.
Teuchos::RCP< StepperIMEX_RK< Scalar > > createStepperIMEX_RK(const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &model, std::string stepperType, Teuchos::RCP< Teuchos::ParameterList > pl)
Nonmember constructor - ModelEvaluator and ParameterList.
Teuchos::RCP< StepperSDIRK_21Pair< Scalar > > createStepperSDIRK_21Pair(const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &model, Teuchos::RCP< Teuchos::ParameterList > pl)
Nonmember constructor - ModelEvaluator and ParameterList.
Teuchos::RCP< StepperERK_SSPERK54< Scalar > > createStepperERK_SSPERK54(const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &model, Teuchos::RCP< Teuchos::ParameterList > pl)
Nonmember constructor - ModelEvaluator and ParameterList.
Teuchos::RCP< StepperNewmarkImplicitAForm< Scalar > > createStepperNewmarkImplicitAForm(const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &model, Teuchos::RCP< Teuchos::ParameterList > pl)
Nonmember constructor - ModelEvaluator and ParameterList.
Teuchos::RCP< StepperNewmarkExplicitAForm< Scalar > > createStepperNewmarkExplicitAForm(const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &model, Teuchos::RCP< Teuchos::ParameterList > pl)
Nonmember constructor - ModelEvaluator and ParameterList.
Teuchos::RCP< StepperHHTAlpha< Scalar > > createStepperHHTAlpha(const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &model, Teuchos::RCP< Teuchos::ParameterList > pl)
Nonmember constructor - ModelEvaluator and ParameterList.
Teuchos::RCP< StepperSDIRK_5Stage5thOrder< Scalar > > createStepperSDIRK_5Stage5thOrder(const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &model, Teuchos::RCP< Teuchos::ParameterList > pl)
Nonmember constructor - ModelEvaluator and ParameterList.
Teuchos::RCP< StepperOperatorSplit< Scalar > > createStepperOperatorSplit(std::vector< Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > > appModels, Teuchos::RCP< Teuchos::ParameterList > pl)
Nonmember constructor - ModelEvaluator and ParameterList.
Teuchos::RCP< StepperERK_3_8Rule< Scalar > > createStepperERK_3_8Rule(const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &model, Teuchos::RCP< Teuchos::ParameterList > pl)
Nonmember constructor - ModelEvaluator and ParameterList.
Teuchos::RCP< StepperERK_3Stage3rdOrder< Scalar > > createStepperERK_3Stage3rdOrder(const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &model, Teuchos::RCP< Teuchos::ParameterList > pl)
Nonmember constructor - ModelEvaluator and ParameterList.
Teuchos::RCP< StepperSDIRK_3Stage4thOrder< Scalar > > createStepperSDIRK_3Stage4thOrder(const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &model, Teuchos::RCP< Teuchos::ParameterList > pl)
Nonmember constructor - ModelEvaluator and ParameterList.
Teuchos::RCP< StepperERK_ForwardEuler< Scalar > > createStepperERK_ForwardEuler(const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &model, Teuchos::RCP< Teuchos::ParameterList > pl)
Nonmember constructor - ModelEvaluator and ParameterList.
Teuchos::RCP< StepperDIRK_General< Scalar > > createStepperDIRK_General(const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &model, Teuchos::RCP< Teuchos::ParameterList > pl)
Nonmember constructor - ModelEvaluator and ParameterList.
Teuchos::RCP< StepperEDIRK_2Stage3rdOrder< Scalar > > createStepperEDIRK_2Stage3rdOrder(const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &model, Teuchos::RCP< Teuchos::ParameterList > pl)
Nonmember constructor - ModelEvaluator and ParameterList.