Tempus Version of the Day
Time Integration
Loading...
Searching...
No Matches
Tempus_StepperRKModifierBase.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_StepperRKModifierBase_hpp
10#define Tempus_StepperRKModifierBase_hpp
11
12#include "Tempus_config.hpp"
13#include "Tempus_SolutionHistory.hpp"
15
16
17namespace Tempus {
18
19// Forward Declaration
20template<class Scalar> class StepperRKBase;
21
39template<class Scalar>
41 : virtual public Tempus::StepperRKAppAction<Scalar>
42{
43private:
44
45 /* \brief Adaptor execute function
46 *
47 * This is an adaptor function to bridge between the AppAction
48 * interface and the Modifier interface. It is meant to be private
49 * and non-virtual as deriving from this class should only need to
50 * implement the modify function.
51 *
52 * For the Modifier interface, this adaptor is a "simple pass through".
53 */
54 void execute(
55 Teuchos::RCP<SolutionHistory<Scalar> > sh,
56 Teuchos::RCP<StepperRKBase<Scalar> > stepper,
58 { this->modify(sh, stepper, actLoc); }
59
60public:
61
63 virtual void modify(
64 Teuchos::RCP<SolutionHistory<Scalar> > /* sh */,
65 Teuchos::RCP<StepperRKBase<Scalar> > /* stepper */,
66 const typename StepperRKAppAction<Scalar>::ACTION_LOCATION actLoc) = 0;
67
68};
69
70} // namespace Tempus
71
72#endif // Tempus_StepperRKModifierBase_hpp
SolutionHistory is basically a container of SolutionStates. SolutionHistory maintains a collection of...
Application Action for StepperRKBase.
ACTION_LOCATION
Indicates the location of application action (see algorithm).
Base class for Runge-Kutta methods, ExplicitRK, DIRK and IMEX.
void execute(Teuchos::RCP< SolutionHistory< Scalar > > sh, Teuchos::RCP< StepperRKBase< Scalar > > stepper, const typename StepperRKAppAction< Scalar >::ACTION_LOCATION actLoc)
Execute application action for RK Stepper.
virtual void modify(Teuchos::RCP< SolutionHistory< Scalar > >, Teuchos::RCP< StepperRKBase< Scalar > >, const typename StepperRKAppAction< Scalar >::ACTION_LOCATION actLoc)=0
Modify RK Stepper.