Tempus  Version of the Day
Time Integration
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Tempus_StepperOperatorSplitModifierXDefault.hpp
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 
9 #ifndef Tempus_StepperOperatorSplitModifierXDefault_hpp
10 #define Tempus_StepperOperatorSplitModifierXDefault_hpp
11 
12 #include "Tempus_config.hpp"
14 
15 // Applications can uncomment this include in their implementation,
16 // if they need access to the stepper methods.
17 //#include "Tempus_StepperOperatorSplit.hpp"
18 
19 namespace Tempus {
20 
29 template <class Scalar>
31  : virtual public Tempus::StepperOperatorSplitModifierXBase<Scalar> {
32  public:
35 
38 
40  virtual void modify(
41  Teuchos::RCP<Thyra::VectorBase<Scalar> > /* x */, const Scalar /* time */,
42  const Scalar /* dt */,
44  modType)
45  {
46  switch (modType) {
51  // No-op.
52  break;
53  }
54  default:
55  TEUCHOS_TEST_FOR_EXCEPTION(true, std::logic_error,
56  "Error - unknown action location.\n");
57  }
58  }
59 };
60 
61 } // namespace Tempus
62 
63 #endif // Tempus_StepperOperatorSplitModifierXDefault_hpp
MODIFIER_TYPE
Indicates the location of application action (see algorithm).
#define TEUCHOS_TEST_FOR_EXCEPTION(throw_exception_test, Exception, msg)
virtual void modify(Teuchos::RCP< Thyra::VectorBase< Scalar > >, const Scalar, const Scalar, const typename StepperOperatorSplitModifierXBase< Scalar >::MODIFIER_TYPE modType)
Modify OperatorSplit Stepper.