13 #include "../TestModels/VanDerPol_IMEX_ExplicitModel.hpp"
14 #include "../TestModels/VanDerPol_IMEXPart_ImplicitModel.hpp"
17 namespace Tempus_Unit_Test {
21 using Teuchos::rcp_const_cast;
22 using Teuchos::rcp_dynamic_cast;
24 using Teuchos::sublist;
35 const bool useProductVector =
true;
40 const int numExplicitBlocks = 1;
41 const int parameterIndex = 4;
43 explicitModel, implicitModel,
44 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();
68 auto implicitTableau = stepperSDIRK->getTableau();
78 stepper->setICConsistency(ICConsistency); stepper->initialize();
TEUCHOS_TEST_FOR_EXCEPT(!stepper->isInitialized());
79 stepper->setICConsistencyCheck(ICConsistencyCheck); stepper->initialize();
TEUCHOS_TEST_FOR_EXCEPT(!stepper->isInitialized());
80 stepper->setZeroInitialGuess(zeroInitialGuess); stepper->initialize();
TEUCHOS_TEST_FOR_EXCEPT(!stepper->isInitialized());
82 stepper->setStepperName(stepperType); stepper->initialize();
TEUCHOS_TEST_FOR_EXCEPT(!stepper->isInitialized());
83 stepper->setExplicitTableau(explicitTableau); stepper->initialize();
TEUCHOS_TEST_FOR_EXCEPT(!stepper->isInitialized());
84 stepper->setImplicitTableau(implicitTableau); stepper->initialize();
TEUCHOS_TEST_FOR_EXCEPT(!stepper->isInitialized());
93 model, solver, useFSAL, ICConsistency, ICConsistencyCheck,
94 zeroInitialGuess, modifier, stepperType, explicitTableau,
95 implicitTableau, order));
109 const bool useProductVector =
true;
114 const int numExplicitBlocks = 1;
115 const int parameterIndex = 4;
117 explicitModel, implicitModel,
118 numExplicitBlocks, parameterIndex));
129 const bool useProductVector =
true;
134 const int numExplicitBlocks = 1;
135 const int parameterIndex = 4;
137 explicitModel, implicitModel,
138 numExplicitBlocks, parameterIndex));
142 auto stepper = sf->createStepper(
"General Partitioned IMEX RK", model);
149 TEUCHOS_UNIT_TEST(IMEX_RK_Partition, StepperFactory_Construction_General_wo_Parameterlist_Model)
152 const bool useProductVector =
true;
157 const int numExplicitBlocks = 1;
158 const int parameterIndex = 4;
160 explicitModel, implicitModel,
161 numExplicitBlocks, parameterIndex));
165 auto stepper = sf->createStepper(
"General Partitioned IMEX RK");
166 stepper->setModel(model);
167 stepper->initialize();
179 const bool useProductVector =
true;
184 const int numExplicitBlocks = 1;
185 const int parameterIndex = 4;
187 explicitModel, implicitModel,
188 numExplicitBlocks, parameterIndex));
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.
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.
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)