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;
ModelEvaluator pair for implicit and explicit (IMEX) evaulations.
Specialization of IMEX ME for "staggered" FSA method.
Teuchos::RCP< SensitivityModelEvaluatorBase< Scalar > > wrapStaggeredFSAModelEvaluator(const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &model, const Teuchos::RCP< const Teuchos::ParameterList > &pList=Teuchos::null)
ModelEvaluator pair for implicit and explicit (IMEX) evaulations.
Transform a ModelEvaluator's sensitivity equations to its residual.
Specialization of IMEX-Part ME for "combined" FSA method.