Tempus  Version of the Day
Time Integration
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Tempus_StepperFactory_decl.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_StepperFactory_decl_hpp
10 #define Tempus_StepperFactory_decl_hpp
11 
13 
14 #include "Tempus_config.hpp"
15 #include "Tempus_Stepper.hpp"
16 
17 namespace Tempus {
18 
22 template <class Scalar>
24  public:
27 
29  virtual ~StepperFactory() {}
30 
32 
35  std::string stepperType = "Forward Euler",
36  const Teuchos::RCP<const Thyra::ModelEvaluator<Scalar> >& model =
37  Teuchos::null);
38 
42  const Teuchos::RCP<const Thyra::ModelEvaluator<Scalar> >& model =
43  Teuchos::null);
44 
48  std::vector<Teuchos::RCP<const Thyra::ModelEvaluator<Scalar> > > models);
50 
51  private:
54  std::string stepperType, Teuchos::RCP<Teuchos::ParameterList> stepperPL,
55  const Teuchos::RCP<const Thyra::ModelEvaluator<Scalar> >& model);
56 };
57 
58 } // namespace Tempus
59 #endif // Tempus_StepperFactory_decl_hpp
virtual ~StepperFactory()
Destructor.
Teuchos::RCP< Stepper< Scalar > > createStepper(std::string stepperType="Forward Euler", const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &model=Teuchos::null)
Create stepper from stepper type.