Tempus Version of the Day
Time Integration
Loading...
Searching...
No Matches
Tempus_WrapperModelEvaluatorPairIMEX_CombinedFSA.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_ModelEvaluatorPairIMEX_CombinedFSA_hpp
11#define Tempus_ModelEvaluatorPairIMEX_CombinedFSA_hpp
12
13#include "Tempus_config.hpp"
15#include "Tempus_WrapperModelEvaluatorPairIMEX_Basic.hpp"
16#include "Tempus_CombinedForwardSensitivityModelEvaluator.hpp"
17
18namespace Tempus {
19
27template <typename Scalar>
29 : public SensitivityModelEvaluatorBase<Scalar>,
31 public:
34 const Teuchos::RCP<const WrapperModelEvaluatorPairIMEX_Basic<Scalar> >&
35 forwardModel,
36 const Teuchos::RCP<const Teuchos::ParameterList>& pList = Teuchos::null)
37 {
38 forwardModel_ = forwardModel;
39 appExplicitModel_ = forwardModel_->getExplicitModel();
40 appImplicitModel_ = forwardModel_->getImplicitModel();
42 appExplicitModel_, pList));
44 appImplicitModel_, pList));
46 }
47
50
52
53
55 virtual Teuchos::RCP<const Thyra::ModelEvaluator<Scalar> > getForwardModel()
56 const
57 {
58 return forwardModel_;
59 }
60
62
63 private:
66
67 protected:
70
71 Teuchos::RCP<const WrapperModelEvaluatorPairIMEX_Basic<Scalar> >
73 Teuchos::RCP<const Thyra::ModelEvaluator<Scalar> > appExplicitModel_;
74 Teuchos::RCP<const Thyra::ModelEvaluator<Scalar> > appImplicitModel_;
75 Teuchos::RCP<FSAME> fsaExplicitModel_;
76 Teuchos::RCP<FSAME> fsaImplicitModel_;
77};
78
79} // namespace Tempus
80
81#endif // Tempus_ModelEvaluatorPairIMEX_CombinedFSA_hpp
Transform a ModelEvaluator's sensitivity equations to its residual.
A ModelEvaluator decorator for sensitivity analysis.
ModelEvaluator pair for implicit and explicit (IMEX) evaulations.
Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > appExplicitModel_
WrapperModelEvaluatorPairIMEX_CombinedFSA(const Teuchos::RCP< const WrapperModelEvaluatorPairIMEX_Basic< Scalar > > &forwardModel, const Teuchos::RCP< const Teuchos::ParameterList > &pList=Teuchos::null)
Constructor.
virtual Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > getForwardModel() const
Get the underlying forward model.
Teuchos::RCP< const WrapperModelEvaluatorPairIMEX_Basic< Scalar > > forwardModel_
Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > appImplicitModel_