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_StepperRKModifierDefault.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_StepperRKModifierDefault_hpp
11
#define Tempus_StepperRKModifierDefault_hpp
12
13
#include "Tempus_config.hpp"
14
#include "
Tempus_StepperRKModifierBase.hpp
"
15
16
// Applications can uncomment this include in their implementation,
17
// if they need access to the stepper methods.
18
//#include "Tempus_StepperRKBase.hpp"
19
20
namespace
Tempus {
21
30
template
<
class
Scalar>
31
class
StepperRKModifierDefault
32
:
virtual
public
Tempus::StepperRKModifierBase
<Scalar> {
33
public
:
35
StepperRKModifierDefault
() {}
36
38
virtual
~StepperRKModifierDefault
() {}
39
41
virtual
void
modify
(
42
Teuchos::RCP
<
SolutionHistory<Scalar>
>
/* sh */
,
43
Teuchos::RCP
<
StepperRKBase<Scalar>
>
/* stepper */
,
44
const
typename
StepperRKAppAction<Scalar>::ACTION_LOCATION
actLoc)
45
{
46
switch
(actLoc) {
47
case
StepperRKAppAction<Scalar>::BEGIN_STEP
:
48
case
StepperRKAppAction<Scalar>::BEGIN_STAGE
:
49
case
StepperRKAppAction<Scalar>::BEFORE_SOLVE
:
50
case
StepperRKAppAction<Scalar>::AFTER_SOLVE
:
51
case
StepperRKAppAction<Scalar>::BEFORE_EXPLICIT_EVAL
:
52
case
StepperRKAppAction<Scalar>::END_STAGE
:
53
case
StepperRKAppAction<Scalar>::END_STEP
: {
54
// No-op.
55
break
;
56
}
57
default
:
58
TEUCHOS_TEST_FOR_EXCEPTION
(
59
true
, std::logic_error,
60
"Error - unknown action location = "
+ std::to_string(actLoc) +
61
"\n"
62
" Valid actions are\n"
63
" StepperRKAppAction<Scalar>::BEGIN_STEP = "
+
64
std::to_string(
StepperRKAppAction<Scalar>::BEGIN_STEP
) +
65
"\n"
66
" StepperRKAppAction<Scalar>::BEGIN_STAGE = "
+
67
std::to_string(
StepperRKAppAction<Scalar>::BEGIN_STAGE
) +
68
"\n"
69
" StepperRKAppAction<Scalar>::BEFORE_SOLVE = "
+
70
std::to_string(
StepperRKAppAction<Scalar>::BEFORE_SOLVE
) +
71
"\n"
72
" StepperRKAppAction<Scalar>::AFTER_SOLVE = "
+
73
std::to_string(
StepperRKAppAction<Scalar>::AFTER_SOLVE
) +
74
"\n"
75
" StepperRKAppAction<Scalar>::BEFORE_EXPLICIT_EVAL = "
+
76
std::to_string(
77
StepperRKAppAction<Scalar>::BEFORE_EXPLICIT_EVAL
) +
78
"\n"
79
" StepperRKAppAction<Scalar>::END_STAGE = "
+
80
std::to_string(
StepperRKAppAction<Scalar>::END_STAGE
) +
81
"\n"
82
" StepperRKAppAction<Scalar>::END_STEP = "
+
83
std::to_string(
StepperRKAppAction<Scalar>::END_STEP
) +
"\n"
);
84
}
85
}
86
};
87
88
}
// namespace Tempus
89
90
#endif // Tempus_StepperRKModifierDefault_hpp
TEUCHOS_TEST_FOR_EXCEPTION
#define TEUCHOS_TEST_FOR_EXCEPTION(throw_exception_test, Exception, msg)
Tempus::StepperRKModifierDefault::StepperRKModifierDefault
StepperRKModifierDefault()
Constructor.
Definition:
Tempus_StepperRKModifierDefault.hpp:35
Tempus_StepperRKModifierBase.hpp
Tempus::StepperRKBase
Base class for Runge-Kutta methods, ExplicitRK, DIRK and IMEX.
Definition:
Tempus_StepperRKAppAction.hpp:20
Tempus::StepperRKAppAction
Application Action for StepperRKBase.
Definition:
Tempus_StepperRKAppAction.hpp:35
Tempus::StepperRKModifierDefault::~StepperRKModifierDefault
virtual ~StepperRKModifierDefault()
Destructor.
Definition:
Tempus_StepperRKModifierDefault.hpp:38
Tempus::SolutionHistory
SolutionHistory is basically a container of SolutionStates. SolutionHistory maintains a collection of...
Definition:
Tempus_Integrator.hpp:28
Tempus::StepperRKAppAction::ACTION_LOCATION
ACTION_LOCATION
Indicates the location of application action (see algorithm).
Definition:
Tempus_StepperRKAppAction.hpp:38
Tempus::StepperRKModifierDefault::modify
virtual void modify(Teuchos::RCP< SolutionHistory< Scalar > >, Teuchos::RCP< StepperRKBase< Scalar > >, const typename StepperRKAppAction< Scalar >::ACTION_LOCATION actLoc)
Modify RK Stepper.
Definition:
Tempus_StepperRKModifierDefault.hpp:41
Tempus::StepperRKModifierDefault
Default modifier for StepperRK.
Definition:
Tempus_StepperRKModifierDefault.hpp:31
Teuchos::RCP
Tempus::StepperRKModifierBase
Base modifier for StepperRK.
Definition:
Tempus_StepperRKModifierBase.hpp:41
Generated on Thu Dec 26 2024 09:25:16 for Tempus by
1.8.5