Tempus
Version of the Day
Time Integration
Loading...
Searching...
No Matches
src
Tempus_StepperRKModifierXDefault.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_StepperRKModifierX_hpp
10
#define Tempus_StepperRKModifierX_hpp
11
12
#include "Tempus_config.hpp"
13
#include "
Tempus_StepperRKModifierXBase.hpp
"
14
15
16
namespace
Tempus
{
17
26
template
<
class
Scalar>
27
class
StepperRKModifierXDefault
28
:
virtual
public
Tempus::StepperRKModifierXBase
<Scalar>
29
{
30
public
:
31
33
StepperRKModifierXDefault
(){}
34
36
virtual
~StepperRKModifierXDefault
(){}
37
39
virtual
void
modify
(
40
Teuchos::RCP<
Thyra::VectorBase<Scalar>
>
/* x */
,
41
const
Scalar
/* time */
,
const
Scalar
/* dt */
,
42
const
int
/* stageNumber */
,
43
const
typename
StepperRKModifierXBase<Scalar>::MODIFIER_TYPE
modType)
44
{
45
switch
(modType) {
46
case
StepperRKModifierXBase<Scalar>::X_BEGIN_STEP
:
47
case
StepperRKModifierXBase<Scalar>::X_BEGIN_STAGE
:
48
case
StepperRKModifierXBase<Scalar>::X_BEFORE_SOLVE
:
49
case
StepperRKModifierXBase<Scalar>::X_AFTER_SOLVE
:
50
case
StepperRKModifierXBase<Scalar>::X_BEFORE_EXPLICIT_EVAL
:
51
case
StepperRKModifierXBase<Scalar>::X_END_STAGE
:
52
case
StepperRKModifierXBase<Scalar>::X_END_STEP
:
53
{
54
// No-op.
55
break
;
56
}
57
default
:
58
TEUCHOS_TEST_FOR_EXCEPTION(
true
, std::logic_error,
59
"Error - unknown modifier type.\n"
);
60
}
61
}
62
63
};
64
65
}
// namespace Tempus
66
67
#endif
// Tempus_StepperRKModifierX_hpp
Tempus_StepperRKModifierXBase.hpp
Tempus::StepperRKModifierXBase
Base ModifierX for StepperRK.
Definition:
Tempus_StepperRKModifierXBase.hpp:41
Tempus::StepperRKModifierXBase::MODIFIER_TYPE
MODIFIER_TYPE
Indicates the location of application action (see algorithm).
Definition:
Tempus_StepperRKModifierXBase.hpp:121
Tempus::StepperRKModifierXDefault
Default ModifierX for StepperRK.
Definition:
Tempus_StepperRKModifierXDefault.hpp:29
Tempus::StepperRKModifierXDefault::~StepperRKModifierXDefault
virtual ~StepperRKModifierXDefault()
Destructor.
Definition:
Tempus_StepperRKModifierXDefault.hpp:36
Tempus::StepperRKModifierXDefault::modify
virtual void modify(Teuchos::RCP< Thyra::VectorBase< Scalar > >, const Scalar, const Scalar, const int, const typename StepperRKModifierXBase< Scalar >::MODIFIER_TYPE modType)
Modify solution based on the MODIFIER_TYPE.
Definition:
Tempus_StepperRKModifierXDefault.hpp:39
Tempus::StepperRKModifierXDefault::StepperRKModifierXDefault
StepperRKModifierXDefault()
Constructor.
Definition:
Tempus_StepperRKModifierXDefault.hpp:33
Thyra::VectorBase
Tempus
Definition:
Tempus_AdjointAuxSensitivityModelEvaluator_decl.hpp:21
Generated by
1.9.6