Tempus
Version of the Day
Time Integration
Main Page
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Pages
Tempus_StepperBackwardEulerModifierXDefault.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_StepperBackwardEulerModifierX_hpp
10
#define Tempus_StepperBackwardEulerModifierX_hpp
11
12
#include "Tempus_config.hpp"
13
#include "
Tempus_StepperBackwardEulerModifierXBase.hpp
"
14
15
16
namespace
Tempus {
17
18
/** \brief Default ModifierX for StepperBackwardEuler.
19
*
20
* The default provides no-op functionality for ModifierX.
21
* See StepperBackwardEulerModifierXBase for details on the algorithm.
22
*
23
* Applications can copy this implementation, rename, implement their
24
* action, and set on the stepper to get app-specific functionality.
25
*/
26
template
<
class
Scalar>
27
class
StepperBackwardEulerModifierXDefault
28
:
virtual
public
Tempus::StepperBackwardEulerModifierXBase
<Scalar>
29
{
30
public
:
31
32
/// Constructor
33
StepperBackwardEulerModifierXDefault
(){}
34
35
/// Destructor
36
virtual
~StepperBackwardEulerModifierXDefault
(){}
37
38
/// Modify solution based on the MODIFIER_TYPE.
39
virtual
void
modify
(
40
Teuchos::RCP<Thyra::VectorBase<Scalar> >
/* x */
,
41
const
Scalar
/* time */
,
const
Scalar
/* dt */
,
42
const
typename
StepperBackwardEulerModifierXBase<Scalar>::MODIFIER_TYPE
modType)
43
{
44
switch
(modType) {
45
case
StepperBackwardEulerModifierXBase<Scalar>::X_BEGIN_STEP
:
46
case
StepperBackwardEulerModifierXBase<Scalar>::X_BEFORE_SOLVE
:
47
case
StepperBackwardEulerModifierXBase<Scalar>::X_AFTER_SOLVE
:
48
case
StepperBackwardEulerModifierXBase<Scalar>::XDOT_END_STEP
:
49
{
50
// No-op.
51
break
;
52
}
53
default
:
54
TEUCHOS_TEST_FOR_EXCEPTION(
true
, std::logic_error,
55
"Error - unknown modifier type.\n"
);
56
}
57
}
58
59
};
60
61
}
// namespace Tempus
62
63
#endif // Tempus_StepperBackwardEulerModifierX_hpp
Tempus::StepperBackwardEulerModifierXBase::MODIFIER_TYPE
MODIFIER_TYPE
Indicates the location of application action (see algorithm).
Definition:
Tempus_StepperBackwardEulerModifierXBase.hpp:116
Tempus::StepperBackwardEulerModifierXDefault::StepperBackwardEulerModifierXDefault
StepperBackwardEulerModifierXDefault()
Constructor.
Definition:
Tempus_StepperBackwardEulerModifierXDefault.hpp:33
Tempus::StepperBackwardEulerModifierXDefault::~StepperBackwardEulerModifierXDefault
virtual ~StepperBackwardEulerModifierXDefault()
Destructor.
Definition:
Tempus_StepperBackwardEulerModifierXDefault.hpp:36
Tempus::StepperBackwardEulerModifierXBase
Base ModifierX for StepperBackwardEuler.
Definition:
Tempus_StepperBackwardEulerModifierXBase.hpp:49
Tempus_StepperBackwardEulerModifierXBase.hpp
Tempus::StepperBackwardEulerModifierXDefault
Default ModifierX for StepperBackwardEuler.
Definition:
Tempus_StepperBackwardEulerModifierXDefault.hpp:27
Tempus::StepperBackwardEulerModifierXDefault::modify
virtual void modify(Teuchos::RCP< Thyra::VectorBase< Scalar > >, const Scalar, const Scalar, const typename StepperBackwardEulerModifierXBase< Scalar >::MODIFIER_TYPE modType)
Modify solution based on the MODIFIER_TYPE.
Definition:
Tempus_StepperBackwardEulerModifierXDefault.hpp:39
src
Tempus_StepperBackwardEulerModifierXDefault.hpp
Generated on Tue Nov 12 2024 09:36:30 for Tempus by
1.8.5