14 #include "../TestModels/VanDerPol_IMEX_ExplicitModel.hpp"
15 #include "../TestModels/VanDerPol_IMEXPart_ImplicitModel.hpp"
17 namespace Tempus_Unit_Test {
22 using Teuchos::rcp_const_cast;
23 using Teuchos::rcp_dynamic_cast;
24 using Teuchos::sublist;
34 const bool useProductVector =
true;
37 Teuchos::null, useProductVector));
42 const int numExplicitBlocks = 1;
43 const int parameterIndex = 4;
45 explicitModel, implicitModel, numExplicitBlocks, parameterIndex));
49 stepper->setModel(model);
50 stepper->initialize();
60 bool useFSAL = stepper->getUseFSAL();
61 std::string ICConsistency = stepper->getICConsistency();
62 bool ICConsistencyCheck = stepper->getICConsistencyCheck();
63 bool zeroInitialGuess = stepper->getZeroInitialGuess();
64 std::string stepperType =
"Partitioned IMEX RK SSP2";
66 auto explicitTableau = stepperERK->getTableau();
69 auto implicitTableau = stepperSDIRK->getTableau();
73 stepper->setAppAction(modifier);
74 stepper->initialize();
76 stepper->setAppAction(modifierX);
77 stepper->initialize();
79 stepper->setAppAction(observer);
80 stepper->initialize();
82 stepper->setSolver(solver);
83 stepper->initialize();
85 stepper->setUseFSAL(useFSAL);
86 stepper->initialize();
88 stepper->setICConsistency(ICConsistency);
89 stepper->initialize();
91 stepper->setICConsistencyCheck(ICConsistencyCheck);
92 stepper->initialize();
94 stepper->setZeroInitialGuess(zeroInitialGuess);
95 stepper->initialize();
98 stepper->setStepperName(stepperType);
99 stepper->initialize();
101 stepper->setExplicitTableau(explicitTableau);
102 stepper->initialize();
104 stepper->setImplicitTableau(implicitTableau);
105 stepper->initialize();
107 stepper->setOrder(order);
108 stepper->initialize();
117 model, solver, useFSAL, ICConsistency, ICConsistencyCheck,
118 zeroInitialGuess, modifier, stepperType, explicitTableau, implicitTableau,
132 const bool useProductVector =
true;
135 Teuchos::null, useProductVector));
140 const int numExplicitBlocks = 1;
141 const int parameterIndex = 4;
143 explicitModel, implicitModel, numExplicitBlocks, parameterIndex));
151 StepperFactory_Construction_General_wo_Parameterlist)
154 const bool useProductVector =
true;
157 Teuchos::null, useProductVector));
162 const int numExplicitBlocks = 1;
163 const int parameterIndex = 4;
165 explicitModel, implicitModel, numExplicitBlocks, parameterIndex));
169 auto stepper = sf->createStepper(
"General Partitioned IMEX RK", model);
176 StepperFactory_Construction_General_wo_Parameterlist_Model)
179 const bool useProductVector =
true;
182 Teuchos::null, useProductVector));
187 const int numExplicitBlocks = 1;
188 const int parameterIndex = 4;
190 explicitModel, implicitModel, numExplicitBlocks, parameterIndex));
194 auto stepper = sf->createStepper(
"General Partitioned IMEX RK");
195 stepper->setModel(model);
196 stepper->initialize();
207 const bool useProductVector =
true;
210 Teuchos::null, useProductVector));
215 const int numExplicitBlocks = 1;
216 const int parameterIndex = 4;
218 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)