9 #include "Teuchos_UnitTestHarness.hpp" 10 #include "Teuchos_XMLParameterListHelpers.hpp" 11 #include "Teuchos_TimeMonitor.hpp" 12 #include "Teuchos_DefaultComm.hpp" 14 #include "Thyra_VectorStdOps.hpp" 18 #include "../TestModels/SinCosModel.hpp" 19 #include "../TestModels/VanDerPolModel.hpp" 20 #include "../TestUtils/Tempus_ConvergenceTestUtils.hpp" 29 using Teuchos::rcp_const_cast;
30 using Teuchos::rcp_dynamic_cast;
31 using Teuchos::ParameterList;
32 using Teuchos::sublist;
33 using Teuchos::getParametersFromXmlFile;
44 stepper->setModel(model);
45 stepper->initialize();
46 TEUCHOS_TEST_FOR_EXCEPT(!stepper->isInitialized());
56 bool useFSAL = stepper->getUseFSAL();
57 std::string ICConsistency = stepper->getICConsistency();
58 bool ICConsistencyCheck = stepper->getICConsistencyCheck();
59 bool useEmbedded = stepper->getUseEmbedded();
60 bool zeroInitialGuess = stepper->getZeroInitialGuess();
64 Teuchos::SerialDenseMatrix<int,double> A(NumStages,NumStages);
65 Teuchos::SerialDenseVector<int,double> b(NumStages);
66 Teuchos::SerialDenseVector<int,double> c(NumStages);
67 Teuchos::SerialDenseVector<int,double> bstar(0);
70 A(0,0) = 0.2928932188134524; A(0,1) = 0.0;
71 A(1,0) = 0.7071067811865476; A(1,1) = 0.2928932188134524;
74 b(0) = 0.7071067811865476;
75 b(1) = 0.2928932188134524;
78 c(0) = 0.2928932188134524;
84 stepper->setAppAction(modifier); stepper->initialize(); TEUCHOS_TEST_FOR_EXCEPT(!stepper->isInitialized());
85 stepper->setAppAction(modifierX); stepper->initialize(); TEUCHOS_TEST_FOR_EXCEPT(!stepper->isInitialized());
86 stepper->setAppAction(observer); stepper->initialize(); TEUCHOS_TEST_FOR_EXCEPT(!stepper->isInitialized());
87 stepper->setSolver(solver); stepper->initialize(); TEUCHOS_TEST_FOR_EXCEPT(!stepper->isInitialized());
88 stepper->setUseFSAL(useFSAL); stepper->initialize(); TEUCHOS_TEST_FOR_EXCEPT(!stepper->isInitialized());
89 stepper->setICConsistency(ICConsistency); stepper->initialize(); TEUCHOS_TEST_FOR_EXCEPT(!stepper->isInitialized());
90 stepper->setICConsistencyCheck(ICConsistencyCheck); stepper->initialize(); TEUCHOS_TEST_FOR_EXCEPT(!stepper->isInitialized());
91 stepper->setUseEmbedded(useEmbedded); stepper->initialize(); TEUCHOS_TEST_FOR_EXCEPT(!stepper->isInitialized());
92 stepper->setZeroInitialGuess(zeroInitialGuess); stepper->initialize(); TEUCHOS_TEST_FOR_EXCEPT(!stepper->isInitialized());
94 stepper->setTableau(A, b, c, order, order, order); stepper->initialize(); TEUCHOS_TEST_FOR_EXCEPT(!stepper->isInitialized());
99 model, solver, useFSAL, ICConsistency, ICConsistencyCheck,
100 useEmbedded, zeroInitialGuess, modifier,
101 A, b, c, order, order, order,bstar));
102 TEUCHOS_TEST_FOR_EXCEPT(!stepper->isInitialized());
105 TEUCHOS_ASSERT(stepper->getOrder() == 2);
General Implicit Runge-Kutta Butcher Tableau.
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.
void testFactoryConstruction(std::string stepperType, const Teuchos::RCP< const Thyra::ModelEvaluator< double > > &model)
Unit test utility for Stepper construction through StepperFactory.
Sine-Cosine model problem from Rythmos. This is a canonical Sine-Cosine differential equation with a...
Teuchos::RCP< Teuchos::ParameterList > defaultSolverParameters()
Returns the default solver ParameterList for implicit Steppers.
TEUCHOS_UNIT_TEST(BackwardEuler, Default_Construction)
Default ModifierX for StepperRK.
Default modifier for StepperRK.