13 #include "../TestModels/VanDerPol_IMEX_ExplicitModel.hpp"
14 #include "../TestModels/VanDerPol_IMEXPart_ImplicitModel.hpp"
16 namespace Tempus_Unit_Test {
21 using Teuchos::rcp_const_cast;
22 using Teuchos::rcp_dynamic_cast;
23 using Teuchos::sublist;
33 const bool useProductVector =
true;
36 Teuchos::null, useProductVector));
41 const int numExplicitBlocks = 1;
42 const int parameterIndex = 4;
44 explicitModel, implicitModel, numExplicitBlocks, parameterIndex));
48 stepper->setModel(model);
49 stepper->initialize();
59 bool useFSAL = stepper->getUseFSAL();
60 std::string ICConsistency = stepper->getICConsistency();
61 bool ICConsistencyCheck = stepper->getICConsistencyCheck();
62 bool zeroInitialGuess = stepper->getZeroInitialGuess();
63 std::string stepperType =
"Partitioned IMEX RK SSP2";
65 auto explicitTableau = stepperERK->getTableau();
68 auto implicitTableau = stepperSDIRK->getTableau();
72 stepper->setAppAction(modifier);
73 stepper->initialize();
75 stepper->setAppAction(modifierX);
76 stepper->initialize();
78 stepper->setAppAction(observer);
79 stepper->initialize();
81 stepper->setSolver(solver);
82 stepper->initialize();
84 stepper->setUseFSAL(useFSAL);
85 stepper->initialize();
87 stepper->setICConsistency(ICConsistency);
88 stepper->initialize();
90 stepper->setICConsistencyCheck(ICConsistencyCheck);
91 stepper->initialize();
93 stepper->setZeroInitialGuess(zeroInitialGuess);
94 stepper->initialize();
97 stepper->setStepperName(stepperType);
98 stepper->initialize();
100 stepper->setExplicitTableau(explicitTableau);
101 stepper->initialize();
103 stepper->setImplicitTableau(implicitTableau);
104 stepper->initialize();
106 stepper->setOrder(order);
107 stepper->initialize();
116 model, solver, useFSAL, ICConsistency, ICConsistencyCheck,
117 zeroInitialGuess, modifier, stepperType, explicitTableau, implicitTableau,
131 const bool useProductVector =
true;
134 Teuchos::null, useProductVector));
139 const int numExplicitBlocks = 1;
140 const int parameterIndex = 4;
142 explicitModel, implicitModel, numExplicitBlocks, parameterIndex));
150 StepperFactory_Construction_General_wo_Parameterlist)
153 const bool useProductVector =
true;
156 Teuchos::null, useProductVector));
161 const int numExplicitBlocks = 1;
162 const int parameterIndex = 4;
164 explicitModel, implicitModel, numExplicitBlocks, parameterIndex));
168 auto stepper = sf->createStepper(
"General Partitioned IMEX RK", model);
175 StepperFactory_Construction_General_wo_Parameterlist_Model)
178 const bool useProductVector =
true;
181 Teuchos::null, useProductVector));
186 const int numExplicitBlocks = 1;
187 const int parameterIndex = 4;
189 explicitModel, implicitModel, numExplicitBlocks, parameterIndex));
193 auto stepper = sf->createStepper(
"General Partitioned IMEX RK");
194 stepper->setModel(model);
195 stepper->initialize();
206 const bool useProductVector =
true;
209 Teuchos::null, useProductVector));
214 const int numExplicitBlocks = 1;
215 const int parameterIndex = 4;
217 explicitModel, implicitModel, numExplicitBlocks, parameterIndex));
Default observer for StepperRK.
Explicit Runge-Kutta time stepper.
void testFactoryConstruction(std::string stepperType, const Teuchos::RCP< const Thyra::ModelEvaluator< double > > &model)
Unit test utility for Stepper construction through StepperFactory.
van der Pol model formulated for the partitioned IMEX-RK.
Partitioned Implicit-Explicit Runge-Kutta (IMEX-RK) time stepper.
Teuchos::RCP< Teuchos::ParameterList > defaultSolverParameters()
Returns the default solver ParameterList for implicit Steppers.
void testRKAppAction(const Teuchos::RCP< Tempus::StepperRKBase< double >> &stepper, const Teuchos::RCP< const Thyra::ModelEvaluator< double >> &model, Teuchos::FancyOStream &out, bool &success)
Unit test utility for Stepper RK AppAction.
TEUCHOS_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)
ModelEvaluator pair for implicit and explicit (IMEX) evaulations.
TEUCHOS_UNIT_TEST(BackwardEuler, Default_Construction)
Default ModifierX for StepperRK.
Default modifier for StepperRK.
van der Pol model formulated for IMEX.
#define TEUCHOS_ASSERT(assertion_test)
#define TEUCHOS_TEST_FOR_EXCEPT(throw_exception_test)