Tempus
Version of the Day
Time Integration
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
src
Tempus_StepperRKModifierXDefault.hpp
Go to the documentation of this file.
1
//@HEADER
2
// *****************************************************************************
3
// Tempus: Time Integration and Sensitivity Analysis Package
4
//
5
// Copyright 2017 NTESS and the Tempus contributors.
6
// SPDX-License-Identifier: BSD-3-Clause
7
// *****************************************************************************
8
//@HEADER
9
10
#ifndef Tempus_StepperRKModifierX_hpp
11
#define Tempus_StepperRKModifierX_hpp
12
13
#include "Tempus_config.hpp"
14
#include "
Tempus_StepperRKModifierXBase.hpp
"
15
16
namespace
Tempus {
17
26
template
<
class
Scalar>
27
class
StepperRKModifierXDefault
28
:
virtual
public
Tempus::StepperRKModifierXBase
<Scalar> {
29
public
:
31
StepperRKModifierXDefault
() {}
32
34
virtual
~StepperRKModifierXDefault
() {}
35
37
virtual
void
modify
(
38
Teuchos::RCP
<
Thyra::VectorBase<Scalar>
>
/* x */
,
const
Scalar
/* time */
,
39
const
Scalar
/* dt */
,
const
int
/* stageNumber */
,
40
const
typename
StepperRKModifierXBase<Scalar>::MODIFIER_TYPE
modType)
41
{
42
switch
(modType) {
43
case
StepperRKModifierXBase<Scalar>::X_BEGIN_STEP
:
44
case
StepperRKModifierXBase<Scalar>::X_BEGIN_STAGE
:
45
case
StepperRKModifierXBase<Scalar>::X_BEFORE_SOLVE
:
46
case
StepperRKModifierXBase<Scalar>::X_AFTER_SOLVE
:
47
case
StepperRKModifierXBase<Scalar>::X_BEFORE_EXPLICIT_EVAL
:
48
case
StepperRKModifierXBase<Scalar>::X_END_STAGE
:
49
case
StepperRKModifierXBase<Scalar>::X_END_STEP
: {
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
}
// namespace Tempus
61
62
#endif // Tempus_StepperRKModifierX_hpp
Tempus_StepperRKModifierXBase.hpp
Tempus::StepperRKModifierXBase
Base ModifierX for StepperRK.
Definition:
Tempus_StepperRKModifierXBase.hpp:40
TEUCHOS_TEST_FOR_EXCEPTION
#define TEUCHOS_TEST_FOR_EXCEPTION(throw_exception_test, Exception, msg)
Thyra::VectorBase
Tempus::StepperRKModifierXBase::MODIFIER_TYPE
MODIFIER_TYPE
Indicates the location of application action (see algorithm).
Definition:
Tempus_StepperRKModifierXBase.hpp:112
Tempus::StepperRKModifierXDefault
Default ModifierX for StepperRK.
Definition:
Tempus_StepperRKModifierXDefault.hpp:27
Tempus::StepperRKModifierXDefault::StepperRKModifierXDefault
StepperRKModifierXDefault()
Constructor.
Definition:
Tempus_StepperRKModifierXDefault.hpp:31
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:37
Teuchos::RCP
Tempus::StepperRKModifierXDefault::~StepperRKModifierXDefault
virtual ~StepperRKModifierXDefault()
Destructor.
Definition:
Tempus_StepperRKModifierXDefault.hpp:34
Generated on Fri Nov 22 2024 09:23:26 for Tempus by
1.8.5