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: 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_StepperFactory_decl_hpp
11 #define Tempus_StepperFactory_decl_hpp
12 
14 
15 #include "Tempus_config.hpp"
16 #include "Tempus_Stepper.hpp"
17 
18 namespace Tempus {
19 
23 template <class Scalar>
25  public:
28 
30  virtual ~StepperFactory() {}
31 
33 
36  std::string stepperType = "Forward Euler",
37  const Teuchos::RCP<const Thyra::ModelEvaluator<Scalar> >& model =
38  Teuchos::null);
39 
43  const Teuchos::RCP<const Thyra::ModelEvaluator<Scalar> >& model =
44  Teuchos::null);
45 
49  std::vector<Teuchos::RCP<const Thyra::ModelEvaluator<Scalar> > > models);
51 
52  private:
55  std::string stepperType, Teuchos::RCP<Teuchos::ParameterList> stepperPL,
56  const Teuchos::RCP<const Thyra::ModelEvaluator<Scalar> >& model);
57 };
58 
59 } // namespace Tempus
60 #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.