Tempus Version of the Day
Time Integration
Loading...
Searching...
No Matches
Public Member Functions | List of all members
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 bool is_pseudotransient, const Teuchos::RCP< const Teuchos::ParameterList > &pList=Teuchos::null)
 Constructor.
 
virtual ~WrapperModelEvaluatorPairPartIMEX_StaggeredFSA ()
 Destructor.
 
virtual void initialize ()
 Initialize after setting member data.
 
- Public Member Functions inherited from Tempus::SensitivityModelEvaluatorBase< Scalar >
 SensitivityModelEvaluatorBase ()
 Constructor.
 
virtual ~SensitivityModelEvaluatorBase ()
 Destructor.
 
- Public Member Functions inherited from Tempus::WrapperModelEvaluatorPairPartIMEX_Basic< Scalar >
 WrapperModelEvaluatorPairPartIMEX_Basic ()
 
 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.
 
virtual ~WrapperModelEvaluatorPairPartIMEX_Basic ()
 Destructor.
 
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
 
virtual void setAppModel (const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &me)
 Set the underlying application ModelEvaluator.
 
virtual Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > getAppModel () const
 Get the underlying application ModelEvaluator.
 
virtual Thyra::ModelEvaluatorBase::InArgs< Scalar > getInArgs ()
 Get InArgs the wrapper ModelEvalutor.
 
virtual Thyra::ModelEvaluatorBase::OutArgs< Scalar > getOutArgs ()
 Get OutArgs the wrapper ModelEvalutor.
 
void setForSolve (const Teuchos::RCP< Thyra::VectorBase< Scalar > > &x, const Teuchos::RCP< Thyra::VectorBase< Scalar > > &xDot, const Scalar time, const Teuchos::RCP< ImplicitODEParameters< Scalar > > &p, const Teuchos::RCP< Thyra::VectorBase< Scalar > > &y=Teuchos::null, const int index=-1)
 Set parameters for application implicit ModelEvaluator solve.
 
virtual Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > get_x_space () const
 Get the x-solution space.
 
virtual Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > get_g_space (int i) const
 Get the g space.
 
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.
 
virtual int getParameterIndex () const
 Get the parameter index for explicit-only vector.
 
virtual void setUseImplicitModel (bool tf)
 
virtual bool getUseImplicitModel () const
 
- Public Member Functions inherited from Tempus::WrapperModelEvaluatorPairIMEX< Scalar >
- Public Member Functions inherited from Tempus::WrapperModelEvaluator< Scalar >

Overridden from Thyra::StateFuncModelEvaluatorBase

typedef WrapperModelEvaluatorPairPartIMEX_Basic< Scalar > Base
 
typedef Thyra::DefaultMultiVectorProductVectorSpace< Scalar > DMVPVS
 
typedef Thyra::DefaultMultiVectorProductVector< Scalar > DMVPV
 
typedef Thyra::ProductMultiVectorBase< Scalar > PMVB
 
typedef StaggeredForwardSensitivityModelEvaluator< Scalar > FSAME
 
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_
 
virtual Thyra::ModelEvaluatorBase::InArgs< Scalar > createInArgs () const
 
virtual void evalModelImpl (const Thyra::ModelEvaluatorBase::InArgs< Scalar > &inArgs, const Thyra::ModelEvaluatorBase::OutArgs< Scalar > &outArgs) const
 
Teuchos::RCP< const Teuchos::ParameterList > getValidParameters () const
 
void buildIMEXStates () const
 Build implicit x and end explicit y states from forward_state_.
 

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.
 
virtual Teuchos::RCP< Thyra::VectorBase< Scalar > > getIMEXVector (const Teuchos::RCP< Thyra::VectorBase< Scalar > > &full) const
 Extract IMEX vector from a full solution vector.
 
virtual Teuchos::RCP< const Thyra::VectorBase< Scalar > > getIMEXVector (const Teuchos::RCP< const Thyra::VectorBase< Scalar > > &full) const
 Extract IMEX vector for reading.
 
virtual Teuchos::RCP< Thyra::VectorBase< Scalar > > getExplicitOnlyVector (const Teuchos::RCP< Thyra::VectorBase< Scalar > > &full) const
 Extract explicit-only vector from a full solution vector.
 
virtual Teuchos::RCP< const Thyra::VectorBase< Scalar > > getExplicitOnlyVector (const Teuchos::RCP< const Thyra::VectorBase< Scalar > > &full) const
 Extract explicit-only vector for reading.
 

Overridden from Tempus::SensitivityModelEvaluatorBase

virtual Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > getForwardModel () const
 Get the underlying forward model.
 
virtual void setForwardSolutionHistory (const Teuchos::RCP< const Tempus::SolutionHistory< Scalar > > &sh)
 Set solution history from forward state evaluation (for interpolation)
 
virtual void setForwardSolutionState (const Teuchos::RCP< const Tempus::SolutionState< Scalar > > &s)
 Set solution state from forward state evaluation (for frozen state)
 
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.
 

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.
 
- 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
 
bool useImplicitModel_
 if true, use implicitModel_ else explicitModel_
 

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 33 of file Tempus_WrapperModelEvaluatorPairPartIMEX_StaggeredFSA_decl.hpp.

Member Typedef Documentation

◆ Base

template<typename Scalar >
typedef WrapperModelEvaluatorPairPartIMEX_Basic<Scalar> Tempus::WrapperModelEvaluatorPairPartIMEX_StaggeredFSA< Scalar >::Base
protected

◆ DMVPVS

template<typename Scalar >
typedef Thyra::DefaultMultiVectorProductVectorSpace<Scalar> Tempus::WrapperModelEvaluatorPairPartIMEX_StaggeredFSA< Scalar >::DMVPVS
protected

◆ DMVPV

template<typename Scalar >
typedef Thyra::DefaultMultiVectorProductVector<Scalar> Tempus::WrapperModelEvaluatorPairPartIMEX_StaggeredFSA< Scalar >::DMVPV
protected

◆ PMVB

template<typename Scalar >
typedef Thyra::ProductMultiVectorBase<Scalar> Tempus::WrapperModelEvaluatorPairPartIMEX_StaggeredFSA< Scalar >::PMVB
protected

◆ FSAME

template<typename Scalar >
typedef StaggeredForwardSensitivityModelEvaluator<Scalar> Tempus::WrapperModelEvaluatorPairPartIMEX_StaggeredFSA< Scalar >::FSAME
protected

Constructor & Destructor Documentation

◆ WrapperModelEvaluatorPairPartIMEX_StaggeredFSA()

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

Constructor.

Definition at line 19 of file Tempus_WrapperModelEvaluatorPairPartIMEX_StaggeredFSA_impl.hpp.

◆ ~WrapperModelEvaluatorPairPartIMEX_StaggeredFSA()

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

Destructor.

Definition at line 45 of file Tempus_WrapperModelEvaluatorPairPartIMEX_StaggeredFSA_decl.hpp.

Member Function Documentation

◆ initialize()

template<typename Scalar >
void Tempus::WrapperModelEvaluatorPairPartIMEX_StaggeredFSA< Scalar >::initialize ( )
virtual

Initialize after setting member data.

Reimplemented from Tempus::WrapperModelEvaluatorPairPartIMEX_Basic< Scalar >.

Definition at line 65 of file Tempus_WrapperModelEvaluatorPairPartIMEX_StaggeredFSA_impl.hpp.

◆ get_p_space()

template<typename Scalar >
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > Tempus::WrapperModelEvaluatorPairPartIMEX_StaggeredFSA< Scalar >::get_p_space ( int  i) const
virtual

◆ getIMEXVector() [1/2]

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 130 of file Tempus_WrapperModelEvaluatorPairPartIMEX_StaggeredFSA_impl.hpp.

◆ getIMEXVector() [2/2]

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 169 of file Tempus_WrapperModelEvaluatorPairPartIMEX_StaggeredFSA_impl.hpp.

◆ getExplicitOnlyVector() [1/2]

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.

◆ getExplicitOnlyVector() [2/2]

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 248 of file Tempus_WrapperModelEvaluatorPairPartIMEX_StaggeredFSA_impl.hpp.

◆ getForwardModel()

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 288 of file Tempus_WrapperModelEvaluatorPairPartIMEX_StaggeredFSA_impl.hpp.

◆ setForwardSolutionHistory()

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 294 of file Tempus_WrapperModelEvaluatorPairPartIMEX_StaggeredFSA_impl.hpp.

◆ setForwardSolutionState()

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 305 of file Tempus_WrapperModelEvaluatorPairPartIMEX_StaggeredFSA_impl.hpp.

◆ setSolver()

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 317 of file Tempus_WrapperModelEvaluatorPairPartIMEX_StaggeredFSA_impl.hpp.

◆ createInArgs()

template<typename Scalar >
Thyra::ModelEvaluatorBase::InArgs< Scalar > Tempus::WrapperModelEvaluatorPairPartIMEX_StaggeredFSA< Scalar >::createInArgs ( ) const
virtual

◆ evalModelImpl()

template<typename Scalar >
void Tempus::WrapperModelEvaluatorPairPartIMEX_StaggeredFSA< Scalar >::evalModelImpl ( const Thyra::ModelEvaluatorBase::InArgs< Scalar > &  inArgs,
const Thyra::ModelEvaluatorBase::OutArgs< Scalar > &  outArgs 
) const
virtual

◆ getValidParameters()

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

◆ buildIMEXStates()

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 508 of file Tempus_WrapperModelEvaluatorPairPartIMEX_StaggeredFSA_impl.hpp.

Member Data Documentation

◆ forwardModel_

template<typename Scalar >
Teuchos::RCP<const WrapperModelEvaluatorPairPartIMEX_Basic<Scalar> > Tempus::WrapperModelEvaluatorPairPartIMEX_StaggeredFSA< Scalar >::forwardModel_
protected

◆ appExplicitModel_

template<typename Scalar >
Teuchos::RCP<const Thyra::ModelEvaluator<Scalar> > Tempus::WrapperModelEvaluatorPairPartIMEX_StaggeredFSA< Scalar >::appExplicitModel_
protected

◆ appImplicitModel_

template<typename Scalar >
Teuchos::RCP<const Thyra::ModelEvaluator<Scalar> > Tempus::WrapperModelEvaluatorPairPartIMEX_StaggeredFSA< Scalar >::appImplicitModel_
protected

◆ fsaExplicitModel_

template<typename Scalar >
Teuchos::RCP<FSAME> Tempus::WrapperModelEvaluatorPairPartIMEX_StaggeredFSA< Scalar >::fsaExplicitModel_
protected

◆ fsaImplicitModel_

template<typename Scalar >
Teuchos::RCP<FSAME> Tempus::WrapperModelEvaluatorPairPartIMEX_StaggeredFSA< Scalar >::fsaImplicitModel_
protected

◆ use_dfdp_as_tangent_

template<typename Scalar >
bool Tempus::WrapperModelEvaluatorPairPartIMEX_StaggeredFSA< Scalar >::use_dfdp_as_tangent_
protected

◆ y_tangent_index_

template<typename Scalar >
int Tempus::WrapperModelEvaluatorPairPartIMEX_StaggeredFSA< Scalar >::y_tangent_index_
protected

◆ explicit_dydp_prod_space_

template<typename Scalar >
Teuchos::RCP<const DMVPVS> Tempus::WrapperModelEvaluatorPairPartIMEX_StaggeredFSA< Scalar >::explicit_dydp_prod_space_
protected

◆ imex_dxdp_prod_space_

template<typename Scalar >
Teuchos::RCP<const DMVPVS> Tempus::WrapperModelEvaluatorPairPartIMEX_StaggeredFSA< Scalar >::imex_dxdp_prod_space_
protected

◆ sh_

template<typename Scalar >
Teuchos::RCP<const Tempus::SolutionHistory<Scalar> > Tempus::WrapperModelEvaluatorPairPartIMEX_StaggeredFSA< Scalar >::sh_
protected

◆ t_interp_

template<typename Scalar >
Scalar Tempus::WrapperModelEvaluatorPairPartIMEX_StaggeredFSA< Scalar >::t_interp_
mutableprotected

◆ forward_state_

template<typename Scalar >
Teuchos::RCP<const Tempus::SolutionState<Scalar> > Tempus::WrapperModelEvaluatorPairPartIMEX_StaggeredFSA< Scalar >::forward_state_
mutableprotected

◆ nc_forward_state_

template<typename Scalar >
Teuchos::RCP<Tempus::SolutionState<Scalar> > Tempus::WrapperModelEvaluatorPairPartIMEX_StaggeredFSA< Scalar >::nc_forward_state_
mutableprotected

◆ explicit_y_state_

template<typename Scalar >
Teuchos::RCP<const Tempus::SolutionState<Scalar> > Tempus::WrapperModelEvaluatorPairPartIMEX_StaggeredFSA< Scalar >::explicit_y_state_
mutableprotected

◆ implicit_x_state_

template<typename Scalar >
Teuchos::RCP<const Tempus::SolutionState<Scalar> > Tempus::WrapperModelEvaluatorPairPartIMEX_StaggeredFSA< Scalar >::implicit_x_state_
mutableprotected

◆ my_dfdp_mv_

template<typename Scalar >
Teuchos::RCP<Thyra::MultiVectorBase<Scalar> > Tempus::WrapperModelEvaluatorPairPartIMEX_StaggeredFSA< Scalar >::my_dfdp_mv_
mutableprotected

◆ my_dfdp_op_

template<typename Scalar >
Teuchos::RCP<Thyra::LinearOpBase<Scalar> > Tempus::WrapperModelEvaluatorPairPartIMEX_StaggeredFSA< Scalar >::my_dfdp_op_
mutableprotected

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