Tempus Version of the Day
Time Integration
Loading...
Searching...
No Matches
Tempus_StepperRKAppActionComposite.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_StepperRKAppActionComposite_hpp
10#define Tempus_StepperRKAppActionComposite_hpp
11
12#include "Tempus_config.hpp"
14#include <vector>
15
16namespace Tempus {
17
23template<class Scalar>
25 : virtual public Tempus::StepperRKAppAction<Scalar>
26{
27public:
28
31
34
36 virtual void execute(
37 Teuchos::RCP<SolutionHistory<Scalar> > sh,
38 Teuchos::RCP<StepperRKBase<Scalar> > stepper,
40 {
41 for(auto& a : appActions_)
42 a->execute(sh, stepper, actLoc);
43 }
44
45 // Add AppAction to the AppAction vector.
46 void addRKAppAction(Teuchos::RCP<StepperRKAppAction<Scalar> > appAction)
47 {
48 appActions_.push_back(appAction);
49 }
50
51 // Clear the AppAction vector.
53 { appActions_.clear(); }
54
55 // Return the size of the AppAction vector.
56 std::size_t getSize() const { return appActions_.size(); }
57
58private:
59
60 std::vector<Teuchos::RCP<StepperRKAppAction<Scalar > > > appActions_;
61
62};
63
64} // namespace Tempus
65#endif // Tempus_StepperRKAppActionComposite_hpp
SolutionHistory is basically a container of SolutionStates. SolutionHistory maintains a collection of...
This composite AppAction loops over added AppActions.
std::vector< Teuchos::RCP< StepperRKAppAction< Scalar > > > appActions_
void addRKAppAction(Teuchos::RCP< StepperRKAppAction< Scalar > > appAction)
virtual 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.
Application Action for StepperRKBase.
ACTION_LOCATION
Indicates the location of application action (see algorithm).
Base class for Runge-Kutta methods, ExplicitRK, DIRK and IMEX.