Tempus
Version of the Day
Time Integration
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"
13
#include "
Tempus_StepperOperatorSplitModifierXBase.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
20
namespace
Tempus
{
21
22
/** \brief Default ModifierX for StepperOperatorSplit.
23
*
24
* The default ModifierX provides no-op functionality for ModifierX.
25
* See StepperOperatorSplitModifierXBase for details on the algorithm.
26
*
27
* Applications can copy this implementation, rename, implement their
28
* action, and set on the stepper to get app-specific functionality.
29
*/
30
template
<
class
Scalar>
31
class
StepperOperatorSplitModifierXDefault
32
:
virtual
public
Tempus::StepperOperatorSplitModifierXBase
<Scalar>
33
{
34
public
:
35
36
/// Constructor
37
StepperOperatorSplitModifierXDefault
(){}
38
39
/// Destructor
40
virtual
~StepperOperatorSplitModifierXDefault
(){}
41
42
/// Modify OperatorSplit Stepper.
43
virtual
void
modify
(
44
Teuchos::RCP<Thyra::VectorBase<Scalar> >
/* x */
,
45
const
Scalar
/* time */
,
const
Scalar
/* dt */
,
46
const
typename
StepperOperatorSplitModifierXBase<Scalar>::MODIFIER_TYPE
modType)
47
{
48
switch
(modType) {
49
case
StepperOperatorSplitModifierXBase<Scalar>::X_BEGIN_STEP
:
50
case
StepperOperatorSplitModifierXBase<Scalar>::X_BEFORE_STEPPER
:
51
case
StepperOperatorSplitModifierXBase<Scalar>::X_AFTER_STEPPER
:
52
case
StepperOperatorSplitModifierXBase<Scalar>::XDOT_END_STEP
:
53
{
54
// No-op.
55
break
;
56
}
57
default
:
58
TEUCHOS_TEST_FOR_EXCEPTION(
true
, std::logic_error,
59
"Error - unknown action location.\n"
);
60
}
61
}
62
63
};
64
65
}
// namespace Tempus
66
67
#endif // Tempus_StepperOperatorSplitModifierXDefault_hpp
Tempus
Definition:
Tempus_AdjointAuxSensitivityModelEvaluator_decl.hpp:20
Tempus::StepperOperatorSplitModifierXBase::MODIFIER_TYPE
MODIFIER_TYPE
Indicates the location of application action (see algorithm).
Definition:
Tempus_StepperOperatorSplitModifierXBase.hpp:101
Tempus::StepperOperatorSplitModifierXDefault::StepperOperatorSplitModifierXDefault
StepperOperatorSplitModifierXDefault()
Constructor.
Definition:
Tempus_StepperOperatorSplitModifierXDefault.hpp:37
Tempus::StepperOperatorSplitModifierXBase
Base ModifierX for StepperOperatorSplit.
Definition:
Tempus_StepperOperatorSplitModifierXBase.hpp:34
Tempus_StepperOperatorSplitModifierXBase.hpp
Tempus::StepperOperatorSplitModifierXDefault::modify
virtual void modify(Teuchos::RCP< Thyra::VectorBase< Scalar > >, const Scalar, const Scalar, const typename StepperOperatorSplitModifierXBase< Scalar >::MODIFIER_TYPE modType)
Modify OperatorSplit Stepper.
Definition:
Tempus_StepperOperatorSplitModifierXDefault.hpp:43
Tempus::StepperOperatorSplitModifierXDefault::~StepperOperatorSplitModifierXDefault
virtual ~StepperOperatorSplitModifierXDefault()
Destructor.
Definition:
Tempus_StepperOperatorSplitModifierXDefault.hpp:40
Tempus::StepperOperatorSplitModifierXDefault
Default ModifierX for StepperOperatorSplit.
Definition:
Tempus_StepperOperatorSplitModifierXDefault.hpp:31
src
Tempus_StepperOperatorSplitModifierXDefault.hpp
Generated by
1.8.14