Tempus  Version of the Day
Time Integration
Tempus_TimeStepControlStrategy.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_TimeStepControlStrategy_hpp
10 #define Tempus_TimeStepControlStrategy_hpp
11 
12 // Teuchos
13 #include "Teuchos_ParameterListAcceptorDefaultBase.hpp"
14 
15 #include "Tempus_SolutionHistory.hpp"
16 
17 
18 namespace Tempus {
19 
20 template<class Scalar> class TimeStepControl;
21 
22 /** \brief StepControlStrategy class for TimeStepControl
23  *
24  */
25 template<class Scalar>
27  : virtual public Teuchos::ParameterListAcceptor
28 {
29 public:
30 
31  /// Constructor
33 
34  /// Destructor
36 
37  /// Determine the time step size.
38  virtual void getNextTimeStep(
39  const TimeStepControl<Scalar> /* tsc */,
40  Teuchos::RCP<SolutionHistory<Scalar> > /* sh */,
41  Status & /* integratorStatus */){}
42 
43  /// \name Overridden from Teuchos::ParameterListAcceptor
44  //@{
45  void setParameterList(const Teuchos::RCP<Teuchos::ParameterList> & /* pl */){}
46  Teuchos::RCP<const Teuchos::ParameterList> getValidParameters() const
47  { return Teuchos::null;}
48  Teuchos::RCP<Teuchos::ParameterList> getNonconstParameterList()
49  { return Teuchos::null;}
50  Teuchos::RCP<Teuchos::ParameterList> unsetParameterList()
51  { return Teuchos::null;}
52  //@}
53 };
54 } // namespace Tempus
55 #endif // Tempus_TimeStepControlStrategy_hpp
SolutionHistory is basically a container of SolutionStates. SolutionHistory maintains a collection of...
StepControlStrategy class for TimeStepControl.
Teuchos::RCP< const Teuchos::ParameterList > getValidParameters() const
Teuchos::RCP< Teuchos::ParameterList > unsetParameterList()
virtual void getNextTimeStep(const TimeStepControl< Scalar >, Teuchos::RCP< SolutionHistory< Scalar > >, Status &)
Determine the time step size.
void setParameterList(const Teuchos::RCP< Teuchos::ParameterList > &)
Teuchos::RCP< Teuchos::ParameterList > getNonconstParameterList()
TimeStepControl manages the time step size. There several mechanicisms that effect the time step size...
Status
Status for the Integrator, the Stepper and the SolutionState.