Tempus  Version of the Day
Time Integration
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Tempus::WrapperModelEvaluatorPairPartIMEX_CombinedFSA< Scalar > Class Template Reference

Specialization of IMEX-Part ME for "combined" FSA method. More...

#include <Tempus_WrapperModelEvaluatorPairPartIMEX_CombinedFSA_decl.hpp>

Inheritance diagram for Tempus::WrapperModelEvaluatorPairPartIMEX_CombinedFSA< Scalar >:
Tempus::SensitivityModelEvaluatorBase< Scalar > Tempus::WrapperModelEvaluatorPairPartIMEX_Basic< Scalar > Tempus::WrapperModelEvaluatorPairIMEX< Scalar > Tempus::WrapperModelEvaluator< Scalar >

Public Member Functions

 WrapperModelEvaluatorPairPartIMEX_CombinedFSA (const Teuchos::RCP< const WrapperModelEvaluatorPairPartIMEX_Basic< Scalar > > &forwardModel, const Teuchos::RCP< const Teuchos::ParameterList > &pList=Teuchos::null)
 Constructor. More...
 
virtual ~WrapperModelEvaluatorPairPartIMEX_CombinedFSA ()
 Destructor. More...
 
virtual void initialize ()
 Initialize after setting member data. More...
 
Teuchos::RCP< const
Teuchos::ParameterList > 
getValidParameters () const
 
Methods that apply to both explicit and implicit terms.
virtual Teuchos::RCP< const
Thyra::VectorSpaceBase< Scalar > > 
get_p_space (int i) const
 Get the p space. More...
 
virtual Teuchos::RCP
< Thyra::VectorBase< Scalar > > 
getIMEXVector (const Teuchos::RCP< Thyra::VectorBase< Scalar > > &full) const
 Extract IMEX vector from a full solution vector. More...
 
virtual Teuchos::RCP< const
Thyra::VectorBase< Scalar > > 
getIMEXVector (const Teuchos::RCP< const Thyra::VectorBase< Scalar > > &full) const
 Extract IMEX vector for reading. More...
 
virtual Teuchos::RCP
< Thyra::VectorBase< Scalar > > 
getExplicitOnlyVector (const Teuchos::RCP< Thyra::VectorBase< Scalar > > &full) const
 Extract explicit-only vector from a full solution vector. More...
 
virtual Teuchos::RCP< const
Thyra::VectorBase< Scalar > > 
getExplicitOnlyVector (const Teuchos::RCP< const Thyra::VectorBase< Scalar > > &full) const
 Extract explicit-only vector for reading. More...
 
Overridden from Tempus::SensitivityModelEvaluatorBase
virtual Teuchos::RCP< const
Thyra::ModelEvaluator< Scalar > > 
getForwardModel () const
 Get the underlying forward model. More...
 
Overridden from Thyra::StateFuncModelEvaluatorBase
virtual
Thyra::ModelEvaluatorBase::InArgs
< Scalar > 
createInArgs () const
 
virtual void evalModelImpl (const Thyra::ModelEvaluatorBase::InArgs< Scalar > &inArgs, const Thyra::ModelEvaluatorBase::OutArgs< Scalar > &outArgs) const
 
- Public Member Functions inherited from Tempus::SensitivityModelEvaluatorBase< Scalar >
 SensitivityModelEvaluatorBase ()
 Constructor. More...
 
virtual ~SensitivityModelEvaluatorBase ()
 Destructor. More...
 
virtual void setForwardSolutionHistory (const Teuchos::RCP< const Tempus::SolutionHistory< Scalar > > &)
 Set solution history from forward state evaluation (for interpolation) More...
 
virtual void setForwardSolutionState (const Teuchos::RCP< const Tempus::SolutionState< Scalar > > &)
 Set solution state from forward state evaluation (for frozen state) More...
 
virtual void setSolver (const Teuchos::RCP< Thyra::NonlinearSolverBase< Scalar > > &, const bool)
 Set the solver of the underlying model if you want to reuse it. More...
 
- Public Member Functions inherited from Tempus::WrapperModelEvaluatorPairPartIMEX_Basic< Scalar >
 WrapperModelEvaluatorPairPartIMEX_Basic ()
 Default constructor – Still requires setting the models and running initialize. More...
 
 WrapperModelEvaluatorPairPartIMEX_Basic (const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &explicitModel, const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &implicitModel, int numExplicitOnlyBlocks=0, int parameterIndex=-1)
 Constructor. More...
 
virtual ~WrapperModelEvaluatorPairPartIMEX_Basic ()
 Destructor. More...
 
virtual void setAppModel (const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &me)
 Set the underlying application ModelEvaluator. More...
 
virtual Teuchos::RCP< const
Thyra::ModelEvaluator< Scalar > > 
getAppModel () const
 Get the underlying application ModelEvaluator. More...
 
virtual void setInArgs (Thyra::ModelEvaluatorBase::InArgs< Scalar > inArgs)
 Set InArgs the wrapper ModelEvalutor. More...
 
virtual
Thyra::ModelEvaluatorBase::InArgs
< Scalar > 
getInArgs ()
 Get InArgs the wrapper ModelEvalutor. More...
 
virtual void setOutArgs (Thyra::ModelEvaluatorBase::OutArgs< Scalar > outArgs)
 Set OutArgs the wrapper ModelEvalutor. More...
 
virtual
Thyra::ModelEvaluatorBase::OutArgs
< Scalar > 
getOutArgs ()
 Get OutArgs the wrapper ModelEvalutor. More...
 
virtual void setForSolve (Teuchos::RCP< TimeDerivative< Scalar > > timeDer, Thyra::ModelEvaluatorBase::InArgs< Scalar > inArgs, Thyra::ModelEvaluatorBase::OutArgs< Scalar > outArgs, EVALUATION_TYPE=SOLVE_FOR_X)
 Set parameters for application implicit ModelEvaluator solve. More...
 
virtual Teuchos::RCP< const
Thyra::VectorSpaceBase< Scalar > > 
get_x_space () const
 Get the x-solution space. More...
 
virtual Teuchos::RCP< const
Thyra::VectorSpaceBase< Scalar > > 
get_g_space (int i) const
 Get the g space. More...
 
virtual void setNumExplicitOnlyBlocks (int numExp)
 
virtual void setExplicitModel (const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &model)
 
virtual void setImplicitModel (const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &model)
 
virtual Teuchos::RCP< const
Thyra::ModelEvaluator< Scalar > > 
getExplicitModel () const
 
virtual Teuchos::RCP< const
Thyra::ModelEvaluator< Scalar > > 
getImplicitModel () const
 
virtual int getNumExplicitOnlyBlocks () const
 
virtual void setParameterIndex (int parameterIndex=-1)
 Set the parameter index for explicit-only vector. More...
 
virtual int getParameterIndex () const
 Get the parameter index for explicit-only vector. More...
 
virtual void setUseImplicitModel (bool tf)
 Set parameter to switch wrapperME base functions between explicit and implicit functions. More...
 
virtual bool getUseImplicitModel () const
 Get parameter to switch wrapperME base functions between explicit and implicit functions. More...
 
virtual Teuchos::RCP
< Thyra::LinearOpBase< Scalar > > 
create_W_op () const
 
Teuchos::RCP< const
Thyra::LinearOpWithSolveFactoryBase
< Scalar > > 
get_W_factory () const
 
virtual Teuchos::RCP< const
Thyra::VectorSpaceBase< Scalar > > 
get_f_space () const
 
virtual
Thyra::ModelEvaluatorBase::InArgs
< Scalar > 
getNominalValues () const
 
virtual
Thyra::ModelEvaluatorBase::OutArgs
< Scalar > 
createOutArgsImpl () const
 
Vector Methods.
Overridden from Thyra::StateFuncModelEvaluatorBase
Vector Methods.

Protected Types

typedef
WrapperModelEvaluatorPairPartIMEX_Basic
< Scalar > 
Base
 
typedef
Thyra::DefaultMultiVectorProductVectorSpace
< Scalar > 
DMVPVS
 
typedef
Thyra::DefaultMultiVectorProductVector
< Scalar > 
DMVPV
 
typedef
Thyra::ProductMultiVectorBase
< Scalar > 
PMVB
 
typedef
CombinedForwardSensitivityModelEvaluator
< Scalar > 
FSAME
 

Protected Attributes

Teuchos::RCP< const
WrapperModelEvaluatorPairPartIMEX_Basic
< Scalar > > 
forwardModel_
 
Teuchos::RCP< const
Thyra::ModelEvaluator< Scalar > > 
appExplicitModel_
 
Teuchos::RCP< const
Thyra::ModelEvaluator< Scalar > > 
appImplicitModel_
 
Teuchos::RCP< const FSAMEfsaExplicitModel_
 
Teuchos::RCP< const FSAMEfsaImplicitModel_
 
bool use_dfdp_as_tangent_
 
int y_tangent_index_
 
Teuchos::RCP< const DMVPVSexplicit_y_dydp_prod_space_
 
Teuchos::RCP< const DMVPVSexplicit_dydp_prod_space_
 
Teuchos::RCP< const DMVPVSimex_x_dxdp_prod_space_
 
Teuchos::RCP
< Thyra::MultiVectorBase
< Scalar > > 
my_dfdp_mv_
 
Teuchos::RCP
< Thyra::LinearOpBase< Scalar > > 
my_dfdp_op_
 
- Protected Attributes inherited from Tempus::WrapperModelEvaluatorPairPartIMEX_Basic< Scalar >
Teuchos::RCP< const
Thyra::ModelEvaluator< Scalar > > 
explicitModel_
 
Teuchos::RCP< const
Thyra::ModelEvaluator< Scalar > > 
implicitModel_
 
Teuchos::RCP< TimeDerivative
< Scalar > > 
timeDer_
 
Thyra::ModelEvaluatorBase::InArgs
< Scalar > 
wrapperImplicitInArgs_
 
Thyra::ModelEvaluatorBase::OutArgs
< Scalar > 
wrapperImplicitOutArgs_
 
int numExplicitOnlyBlocks_
 
int parameterIndex_
 implicit parameter index for explicit-only vector More...
 
bool useImplicitModel_
 if true, use implicitModel_ else explicitModel_ More...
 

Additional Inherited Members

- Protected Member Functions inherited from Tempus::WrapperModelEvaluatorPairPartIMEX_Basic< Scalar >
void setup (const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &explicitModel, const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &implicitModel, int numExplicitOnlyBlocks=0, int parameterIndex=-1)
 Setup ME when using default constructor – for derived classes. More...
 

Detailed Description

template<typename Scalar>
class Tempus::WrapperModelEvaluatorPairPartIMEX_CombinedFSA< Scalar >

Specialization of IMEX-Part ME for "combined" FSA method.

This specializes the implementation of several parts of WrapperModelEvaluatorPairPartIMEX_Basic for forward-sensitivity analysis with CombinedForwardSensitivityModelEvaluator. It deals with the product structure of the sensitivity solution vectors and incorporates the sensitivity of the implicit term with respect to the explicit-only vector.

Definition at line 31 of file Tempus_WrapperModelEvaluatorPairPartIMEX_CombinedFSA_decl.hpp.

Member Typedef Documentation

template<typename Scalar >
typedef Thyra::DefaultMultiVectorProductVector<Scalar> Tempus::WrapperModelEvaluatorPairPartIMEX_CombinedFSA< Scalar >::DMVPV
protected
template<typename Scalar >
typedef Thyra::DefaultMultiVectorProductVectorSpace<Scalar> Tempus::WrapperModelEvaluatorPairPartIMEX_CombinedFSA< Scalar >::DMVPVS
protected
template<typename Scalar >
typedef Thyra::ProductMultiVectorBase<Scalar> Tempus::WrapperModelEvaluatorPairPartIMEX_CombinedFSA< Scalar >::PMVB
protected

Constructor & Destructor Documentation

template<typename Scalar >
Tempus::WrapperModelEvaluatorPairPartIMEX_CombinedFSA< Scalar >::WrapperModelEvaluatorPairPartIMEX_CombinedFSA ( const Teuchos::RCP< const WrapperModelEvaluatorPairPartIMEX_Basic< Scalar > > &  forwardModel,
const Teuchos::RCP< const Teuchos::ParameterList > &  pList = Teuchos::null 
)

Constructor.

Definition at line 19 of file Tempus_WrapperModelEvaluatorPairPartIMEX_CombinedFSA_impl.hpp.

template<typename Scalar >
virtual Tempus::WrapperModelEvaluatorPairPartIMEX_CombinedFSA< Scalar >::~WrapperModelEvaluatorPairPartIMEX_CombinedFSA ( )
inlinevirtual

Destructor.

Definition at line 43 of file Tempus_WrapperModelEvaluatorPairPartIMEX_CombinedFSA_decl.hpp.

Member Function Documentation

template<typename Scalar >
Thyra::ModelEvaluatorBase::InArgs< Scalar > Tempus::WrapperModelEvaluatorPairPartIMEX_CombinedFSA< Scalar >::createInArgs ( ) const
virtual
template<typename Scalar >
void Tempus::WrapperModelEvaluatorPairPartIMEX_CombinedFSA< Scalar >::evalModelImpl ( const Thyra::ModelEvaluatorBase::InArgs< Scalar > &  inArgs,
const Thyra::ModelEvaluatorBase::OutArgs< Scalar > &  outArgs 
) const
virtual
template<typename Scalar >
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > Tempus::WrapperModelEvaluatorPairPartIMEX_CombinedFSA< Scalar >::get_p_space ( int  i) const
virtual
template<typename Scalar >
Teuchos::RCP< Thyra::VectorBase< Scalar > > Tempus::WrapperModelEvaluatorPairPartIMEX_CombinedFSA< Scalar >::getExplicitOnlyVector ( const Teuchos::RCP< Thyra::VectorBase< Scalar > > &  full) const
virtual

Extract explicit-only vector from a full solution vector.

Reimplemented from Tempus::WrapperModelEvaluatorPairPartIMEX_Basic< Scalar >.

Definition at line 211 of file Tempus_WrapperModelEvaluatorPairPartIMEX_CombinedFSA_impl.hpp.

template<typename Scalar >
Teuchos::RCP< const Thyra::VectorBase< Scalar > > Tempus::WrapperModelEvaluatorPairPartIMEX_CombinedFSA< Scalar >::getExplicitOnlyVector ( const Teuchos::RCP< const Thyra::VectorBase< Scalar > > &  full) const
virtual

Extract explicit-only vector for reading.

Reimplemented from Tempus::WrapperModelEvaluatorPairPartIMEX_Basic< Scalar >.

Definition at line 253 of file Tempus_WrapperModelEvaluatorPairPartIMEX_CombinedFSA_impl.hpp.

template<typename Scalar >
Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > Tempus::WrapperModelEvaluatorPairPartIMEX_CombinedFSA< Scalar >::getForwardModel ( ) const
virtual

Get the underlying forward model.

Reimplemented from Tempus::SensitivityModelEvaluatorBase< Scalar >.

Definition at line 296 of file Tempus_WrapperModelEvaluatorPairPartIMEX_CombinedFSA_impl.hpp.

template<typename Scalar >
Teuchos::RCP< Thyra::VectorBase< Scalar > > Tempus::WrapperModelEvaluatorPairPartIMEX_CombinedFSA< Scalar >::getIMEXVector ( const Teuchos::RCP< Thyra::VectorBase< Scalar > > &  full) const
virtual

Extract IMEX vector from a full solution vector.

Reimplemented from Tempus::WrapperModelEvaluatorPairPartIMEX_Basic< Scalar >.

Definition at line 128 of file Tempus_WrapperModelEvaluatorPairPartIMEX_CombinedFSA_impl.hpp.

template<typename Scalar >
Teuchos::RCP< const Thyra::VectorBase< Scalar > > Tempus::WrapperModelEvaluatorPairPartIMEX_CombinedFSA< Scalar >::getIMEXVector ( const Teuchos::RCP< const Thyra::VectorBase< Scalar > > &  full) const
virtual

Extract IMEX vector for reading.

Reimplemented from Tempus::WrapperModelEvaluatorPairPartIMEX_Basic< Scalar >.

Definition at line 169 of file Tempus_WrapperModelEvaluatorPairPartIMEX_CombinedFSA_impl.hpp.

template<typename Scalar >
Teuchos::RCP< const Teuchos::ParameterList > Tempus::WrapperModelEvaluatorPairPartIMEX_CombinedFSA< Scalar >::getValidParameters ( ) const
template<typename Scalar >
void Tempus::WrapperModelEvaluatorPairPartIMEX_CombinedFSA< Scalar >::initialize ( )
virtual

Initialize after setting member data.

Reimplemented from Tempus::WrapperModelEvaluatorPairPartIMEX_Basic< Scalar >.

Definition at line 66 of file Tempus_WrapperModelEvaluatorPairPartIMEX_CombinedFSA_impl.hpp.

Member Data Documentation

template<typename Scalar >
Teuchos::RCP<const Thyra::ModelEvaluator<Scalar> > Tempus::WrapperModelEvaluatorPairPartIMEX_CombinedFSA< Scalar >::appExplicitModel_
protected
template<typename Scalar >
Teuchos::RCP<const Thyra::ModelEvaluator<Scalar> > Tempus::WrapperModelEvaluatorPairPartIMEX_CombinedFSA< Scalar >::appImplicitModel_
protected
template<typename Scalar >
Teuchos::RCP<const DMVPVS> Tempus::WrapperModelEvaluatorPairPartIMEX_CombinedFSA< Scalar >::explicit_dydp_prod_space_
protected
template<typename Scalar >
Teuchos::RCP<const DMVPVS> Tempus::WrapperModelEvaluatorPairPartIMEX_CombinedFSA< Scalar >::explicit_y_dydp_prod_space_
protected
template<typename Scalar >
Teuchos::RCP<const WrapperModelEvaluatorPairPartIMEX_Basic<Scalar> > Tempus::WrapperModelEvaluatorPairPartIMEX_CombinedFSA< Scalar >::forwardModel_
protected
template<typename Scalar >
Teuchos::RCP<const FSAME> Tempus::WrapperModelEvaluatorPairPartIMEX_CombinedFSA< Scalar >::fsaExplicitModel_
protected
template<typename Scalar >
Teuchos::RCP<const FSAME> Tempus::WrapperModelEvaluatorPairPartIMEX_CombinedFSA< Scalar >::fsaImplicitModel_
protected
template<typename Scalar >
Teuchos::RCP<const DMVPVS> Tempus::WrapperModelEvaluatorPairPartIMEX_CombinedFSA< Scalar >::imex_x_dxdp_prod_space_
protected
template<typename Scalar >
Teuchos::RCP<Thyra::MultiVectorBase<Scalar> > Tempus::WrapperModelEvaluatorPairPartIMEX_CombinedFSA< Scalar >::my_dfdp_mv_
mutableprotected
template<typename Scalar >
Teuchos::RCP<Thyra::LinearOpBase<Scalar> > Tempus::WrapperModelEvaluatorPairPartIMEX_CombinedFSA< Scalar >::my_dfdp_op_
mutableprotected
template<typename Scalar >
bool Tempus::WrapperModelEvaluatorPairPartIMEX_CombinedFSA< Scalar >::use_dfdp_as_tangent_
protected
template<typename Scalar >
int Tempus::WrapperModelEvaluatorPairPartIMEX_CombinedFSA< Scalar >::y_tangent_index_
protected

The documentation for this class was generated from the following files: