9 #ifndef Tempus_WrapStaggeredFSAModelEvaluator_hpp
10 #define Tempus_WrapStaggeredFSAModelEvaluator_hpp
13 #include "Tempus_StaggeredForwardSensitivityModelEvaluator.hpp"
14 #include "Tempus_WrapperModelEvaluatorPairIMEX_Basic.hpp"
16 #include "Tempus_WrapperModelEvaluatorPairPartIMEX_StaggeredFSA.hpp"
25 template <
typename Scalar>
26 Teuchos::RCP< SensitivityModelEvaluatorBase<Scalar> >
28 const Teuchos::RCP<
const Thyra::ModelEvaluator<Scalar> > & model,
29 const Teuchos::RCP<const Teuchos::ParameterList>& pList = Teuchos::null)
32 using Teuchos::rcp_dynamic_cast;
34 RCP<SensitivityModelEvaluatorBase<Scalar> > wrapped_model;
37 RCP<const WrapperModelEvaluatorPairIMEX_Basic<Scalar> > modelPairIMEX =
39 RCP<const WrapperModelEvaluatorPairPartIMEX_Basic<Scalar> > modelPairPartIMEX =
41 if (modelPairIMEX != Teuchos::null) {
44 modelPairIMEX, pList));
46 else if (modelPairPartIMEX != Teuchos::null) {
49 modelPairPartIMEX, pList));
60 template <
typename Scalar>
61 Teuchos::RCP< SensitivityModelEvaluatorBase<Scalar> >
63 const Teuchos::RCP<Thyra::ModelEvaluator<Scalar> > & model,
64 const Teuchos::RCP<const Teuchos::ParameterList>& pList = Teuchos::null)
66 Teuchos::RCP<const Thyra::ModelEvaluator<Scalar> > cmodel = model;