Tempus  Version of the Day
Time Integration
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Tempus_UnitTest_EDIRK_2StageTheta.cpp
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 
10 
11 
12 namespace Tempus_Unit_Test {
13 
14 using Teuchos::RCP;
15 using Teuchos::rcp;
16 using Teuchos::rcp_const_cast;
17 using Teuchos::rcp_dynamic_cast;
19 using Teuchos::sublist;
20 
21 
22 // ************************************************************
23 // ************************************************************
24 TEUCHOS_UNIT_TEST(EDIRK_2StageTheta, Default_Construction)
25 {
26  auto stepper = rcp(new Tempus::StepperEDIRK_2StageTheta<double>());
28 
29  // Test stepper properties.
30  TEUCHOS_ASSERT(stepper->getOrder() == 2);
31  double theta = 0.5;
32  TEUCHOS_ASSERT(stepper->getTheta() == theta);
33  stepper->setTheta(theta); stepper->initialize(); TEUCHOS_TEST_FOR_EXCEPT(!stepper->isInitialized());
34 
35 }
36 
37 
38 // ************************************************************
39 // ************************************************************
40 TEUCHOS_UNIT_TEST(EDIRK_2StageTheta, StepperFactory_Construction)
41 {
42  auto model = rcp(new Tempus_Test::SinCosModel<double>());
43  testFactoryConstruction("EDIRK 2 Stage Theta Method", model);
44 }
45 
46 
47 // ************************************************************
48 // ************************************************************
49 TEUCHOS_UNIT_TEST(EDIRK_2StageTheta, AppAction)
50 {
51  auto stepper = rcp(new Tempus::StepperEDIRK_2StageTheta<double>());
52  auto model = rcp(new Tempus_Test::SinCosModel<double>());
53  testRKAppAction(stepper, model, out, success);
54 }
55 
56 
57 } // namespace Tempus_Unit_Test
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.
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_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)
TEUCHOS_UNIT_TEST(BackwardEuler, Default_Construction)
void testDIRKAccessorsFullConstruction(const RCP< Tempus::StepperDIRK< double > > &stepper)
Unit test utility for ExplicitRK Stepper construction and accessors.
#define TEUCHOS_ASSERT(assertion_test)
#define TEUCHOS_TEST_FOR_EXCEPT(throw_exception_test)