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

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

#include <Tempus_WrapperModelEvaluatorPairPartIMEX_StaggeredFSA_decl.hpp>

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

Public Member Functions

 WrapperModelEvaluatorPairPartIMEX_StaggeredFSA (const Teuchos::RCP< const WrapperModelEvaluatorPairPartIMEX_Basic< Scalar > > &forwardModel, const Teuchos::RCP< const Teuchos::ParameterList > &pList=Teuchos::null)
 Constructor. More...
 
virtual ~WrapperModelEvaluatorPairPartIMEX_StaggeredFSA ()
 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...
 
virtual void setForwardSolutionHistory (const Teuchos::RCP< const Tempus::SolutionHistory< Scalar > > &sh)
 Set solution history from forward state evaluation (for interpolation) More...
 
virtual void setForwardSolutionState (const Teuchos::RCP< const Tempus::SolutionState< Scalar > > &s)
 Set solution state from forward state evaluation (for frozen state) More...
 
virtual void setSolver (const Teuchos::RCP< Thyra::NonlinearSolverBase< Scalar > > &solver, const bool force_W_update)
 Set the solver of the underlying model if you want to reuse it. 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...
 
- 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
StaggeredForwardSensitivityModelEvaluator
< Scalar > 
FSAME
 

Protected Member Functions

void buildIMEXStates () const
 Build implicit x and end explicit y states from forward_state_. More...
 
- 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...
 

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< FSAMEfsaExplicitModel_
 
Teuchos::RCP< FSAMEfsaImplicitModel_
 
bool use_dfdp_as_tangent_
 
int y_tangent_index_
 
Teuchos::RCP< const DMVPVSexplicit_dydp_prod_space_
 
Teuchos::RCP< const DMVPVSimex_dxdp_prod_space_
 
Teuchos::RCP< const
Tempus::SolutionHistory
< Scalar > > 
sh_
 
Scalar t_interp_
 
Teuchos::RCP< const
Tempus::SolutionState< Scalar > > 
forward_state_
 
Teuchos::RCP
< Tempus::SolutionState
< Scalar > > 
nc_forward_state_
 
Teuchos::RCP< const
Tempus::SolutionState< Scalar > > 
explicit_y_state_
 
Teuchos::RCP< const
Tempus::SolutionState< Scalar > > 
implicit_x_state_
 
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...
 

Detailed Description

template<typename Scalar>
class Tempus::WrapperModelEvaluatorPairPartIMEX_StaggeredFSA< 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 StaggeredForwardSensitivityModelEvaluator. 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_StaggeredFSA_decl.hpp.

Member Typedef Documentation

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

Constructor & Destructor Documentation

template<typename Scalar >
Tempus::WrapperModelEvaluatorPairPartIMEX_StaggeredFSA< Scalar >::WrapperModelEvaluatorPairPartIMEX_StaggeredFSA ( 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_StaggeredFSA_impl.hpp.

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

Destructor.

Definition at line 43 of file Tempus_WrapperModelEvaluatorPairPartIMEX_StaggeredFSA_decl.hpp.

Member Function Documentation

template<typename Scalar >
void Tempus::WrapperModelEvaluatorPairPartIMEX_StaggeredFSA< Scalar >::buildIMEXStates ( ) const
protected

Build implicit x and end explicit y states from forward_state_.

Definition at line 522 of file Tempus_WrapperModelEvaluatorPairPartIMEX_StaggeredFSA_impl.hpp.

template<typename Scalar >
Thyra::ModelEvaluatorBase::InArgs< Scalar > Tempus::WrapperModelEvaluatorPairPartIMEX_StaggeredFSA< Scalar >::createInArgs ( ) const
virtual
template<typename Scalar >
void Tempus::WrapperModelEvaluatorPairPartIMEX_StaggeredFSA< 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_StaggeredFSA< Scalar >::get_p_space ( int  i) const
virtual
template<typename Scalar >
Teuchos::RCP< Thyra::VectorBase< Scalar > > Tempus::WrapperModelEvaluatorPairPartIMEX_StaggeredFSA< 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 209 of file Tempus_WrapperModelEvaluatorPairPartIMEX_StaggeredFSA_impl.hpp.

template<typename Scalar >
Teuchos::RCP< const Thyra::VectorBase< Scalar > > Tempus::WrapperModelEvaluatorPairPartIMEX_StaggeredFSA< 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 251 of file Tempus_WrapperModelEvaluatorPairPartIMEX_StaggeredFSA_impl.hpp.

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

Get the underlying forward model.

Reimplemented from Tempus::SensitivityModelEvaluatorBase< Scalar >.

Definition at line 294 of file Tempus_WrapperModelEvaluatorPairPartIMEX_StaggeredFSA_impl.hpp.

template<typename Scalar >
Teuchos::RCP< Thyra::VectorBase< Scalar > > Tempus::WrapperModelEvaluatorPairPartIMEX_StaggeredFSA< 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 126 of file Tempus_WrapperModelEvaluatorPairPartIMEX_StaggeredFSA_impl.hpp.

template<typename Scalar >
Teuchos::RCP< const Thyra::VectorBase< Scalar > > Tempus::WrapperModelEvaluatorPairPartIMEX_StaggeredFSA< 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 167 of file Tempus_WrapperModelEvaluatorPairPartIMEX_StaggeredFSA_impl.hpp.

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

Initialize after setting member data.

Reimplemented from Tempus::WrapperModelEvaluatorPairPartIMEX_Basic< Scalar >.

Definition at line 64 of file Tempus_WrapperModelEvaluatorPairPartIMEX_StaggeredFSA_impl.hpp.

template<typename Scalar >
void Tempus::WrapperModelEvaluatorPairPartIMEX_StaggeredFSA< Scalar >::setForwardSolutionHistory ( const Teuchos::RCP< const Tempus::SolutionHistory< Scalar > > &  sh)
virtual

Set solution history from forward state evaluation (for interpolation)

Reimplemented from Tempus::SensitivityModelEvaluatorBase< Scalar >.

Definition at line 302 of file Tempus_WrapperModelEvaluatorPairPartIMEX_StaggeredFSA_impl.hpp.

template<typename Scalar >
void Tempus::WrapperModelEvaluatorPairPartIMEX_StaggeredFSA< Scalar >::setForwardSolutionState ( const Teuchos::RCP< const Tempus::SolutionState< Scalar > > &  s)
virtual

Set solution state from forward state evaluation (for frozen state)

Reimplemented from Tempus::SensitivityModelEvaluatorBase< Scalar >.

Definition at line 314 of file Tempus_WrapperModelEvaluatorPairPartIMEX_StaggeredFSA_impl.hpp.

template<typename Scalar >
void Tempus::WrapperModelEvaluatorPairPartIMEX_StaggeredFSA< Scalar >::setSolver ( const Teuchos::RCP< Thyra::NonlinearSolverBase< Scalar > > &  solver,
const bool  force_W_update 
)
virtual

Set the solver of the underlying model if you want to reuse it.

Reimplemented from Tempus::SensitivityModelEvaluatorBase< Scalar >.

Definition at line 327 of file Tempus_WrapperModelEvaluatorPairPartIMEX_StaggeredFSA_impl.hpp.

Member Data Documentation

template<typename Scalar >
Teuchos::RCP<const Thyra::ModelEvaluator<Scalar> > Tempus::WrapperModelEvaluatorPairPartIMEX_StaggeredFSA< Scalar >::appExplicitModel_
protected
template<typename Scalar >
Teuchos::RCP<const Thyra::ModelEvaluator<Scalar> > Tempus::WrapperModelEvaluatorPairPartIMEX_StaggeredFSA< Scalar >::appImplicitModel_
protected
template<typename Scalar >
Teuchos::RCP<const DMVPVS> Tempus::WrapperModelEvaluatorPairPartIMEX_StaggeredFSA< Scalar >::explicit_dydp_prod_space_
protected
template<typename Scalar >
Teuchos::RCP<const Tempus::SolutionState<Scalar> > Tempus::WrapperModelEvaluatorPairPartIMEX_StaggeredFSA< Scalar >::explicit_y_state_
mutableprotected
template<typename Scalar >
Teuchos::RCP<const Tempus::SolutionState<Scalar> > Tempus::WrapperModelEvaluatorPairPartIMEX_StaggeredFSA< Scalar >::forward_state_
mutableprotected
template<typename Scalar >
Teuchos::RCP<const WrapperModelEvaluatorPairPartIMEX_Basic<Scalar> > Tempus::WrapperModelEvaluatorPairPartIMEX_StaggeredFSA< Scalar >::forwardModel_
protected
template<typename Scalar >
Teuchos::RCP<FSAME> Tempus::WrapperModelEvaluatorPairPartIMEX_StaggeredFSA< Scalar >::fsaExplicitModel_
protected
template<typename Scalar >
Teuchos::RCP<FSAME> Tempus::WrapperModelEvaluatorPairPartIMEX_StaggeredFSA< Scalar >::fsaImplicitModel_
protected
template<typename Scalar >
Teuchos::RCP<const DMVPVS> Tempus::WrapperModelEvaluatorPairPartIMEX_StaggeredFSA< Scalar >::imex_dxdp_prod_space_
protected
template<typename Scalar >
Teuchos::RCP<const Tempus::SolutionState<Scalar> > Tempus::WrapperModelEvaluatorPairPartIMEX_StaggeredFSA< Scalar >::implicit_x_state_
mutableprotected
template<typename Scalar >
Teuchos::RCP<Thyra::MultiVectorBase<Scalar> > Tempus::WrapperModelEvaluatorPairPartIMEX_StaggeredFSA< Scalar >::my_dfdp_mv_
mutableprotected
template<typename Scalar >
Teuchos::RCP<Thyra::LinearOpBase<Scalar> > Tempus::WrapperModelEvaluatorPairPartIMEX_StaggeredFSA< Scalar >::my_dfdp_op_
mutableprotected
template<typename Scalar >
Teuchos::RCP<Tempus::SolutionState<Scalar> > Tempus::WrapperModelEvaluatorPairPartIMEX_StaggeredFSA< Scalar >::nc_forward_state_
mutableprotected
template<typename Scalar >
Teuchos::RCP<const Tempus::SolutionHistory<Scalar> > Tempus::WrapperModelEvaluatorPairPartIMEX_StaggeredFSA< Scalar >::sh_
protected
template<typename Scalar >
Scalar Tempus::WrapperModelEvaluatorPairPartIMEX_StaggeredFSA< Scalar >::t_interp_
mutableprotected
template<typename Scalar >
bool Tempus::WrapperModelEvaluatorPairPartIMEX_StaggeredFSA< Scalar >::use_dfdp_as_tangent_
protected
template<typename Scalar >
int Tempus::WrapperModelEvaluatorPairPartIMEX_StaggeredFSA< Scalar >::y_tangent_index_
protected

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