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