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

ModelEvaluator pair for implicit and explicit (IMEX) evaulations. More...

#include <Tempus_WrapperModelEvaluatorPairIMEX_Basic_decl.hpp>

Inheritance diagram for Tempus::WrapperModelEvaluatorPairIMEX_Basic< Scalar >:
Tempus::WrapperModelEvaluatorPairIMEX< Scalar > Tempus::WrapperModelEvaluator< Scalar > Tempus::WrapperModelEvaluatorPairIMEX_CombinedFSA< Scalar > Tempus::WrapperModelEvaluatorPairIMEX_StaggeredFSA< Scalar >

Public Member Functions

 WrapperModelEvaluatorPairIMEX_Basic (const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &explicitModel, const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &implicitModel)
 Constructor. More...
 
virtual ~WrapperModelEvaluatorPairIMEX_Basic ()
 Destructor. More...
 
virtual void initialize ()
 Initialize after setting member data. More...
 
Overridden from Tempus::WrapperModelEvaluatorPairIMEX
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...
 
Methods that apply to both explicit and implicit terms.
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 Teuchos::RCP< const
Thyra::VectorSpaceBase< Scalar > > 
get_p_space (int i) const
 Get the p space. More...
 
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
 
Overridden from Thyra::StateFuncModelEvaluatorBase
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::InArgs
< Scalar > 
createInArgs () const
 
virtual
Thyra::ModelEvaluatorBase::OutArgs
< Scalar > 
createOutArgsImpl () const
 
virtual void evalModelImpl (const Thyra::ModelEvaluatorBase::InArgs< Scalar > &in, const Thyra::ModelEvaluatorBase::OutArgs< Scalar > &out) const
 
Vector Methods.
Overridden from Thyra::StateFuncModelEvaluatorBase
Vector Methods.

Protected Member Functions

 WrapperModelEvaluatorPairIMEX_Basic ()
 Default constructor – only allowed for derived classes. More...
 
void setup (const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &explicitModel, const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &implicitModel)
 Setup ME when using default constructor – for derived classes. More...
 

Protected Attributes

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_
 

Detailed Description

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

ModelEvaluator pair for implicit and explicit (IMEX) evaulations.

This ModelEvaluator takes a state, x, and determines the explicit and implicit residuals. Additionally, it coordinates the explicit and implicit physics to ensure they are compatible, e.g., how to translate between implicit and explicit model in and out arguments, if needed.

All functions called on WrapperModelEvaluatorPairIMEX_Basic will call the same function on the implicit Model Evaluator. This was selected because the WrapperModelEvaluatorPairIMEX_Basic will be passed to the solvers which in turn make calls to solve the implicit ODE.

If the explicit version of the Model Evaluator functions are needed, one should directly call it through the explicit Model Evaluator, e.g., getExplicitModel()->get_x_space().

This was taken and modified from Drekar's IMEXModelPair class.

Definition at line 38 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_decl.hpp.

Constructor & Destructor Documentation

template<typename Scalar >
Tempus::WrapperModelEvaluatorPairIMEX_Basic< Scalar >::WrapperModelEvaluatorPairIMEX_Basic ( const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &  explicitModel,
const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &  implicitModel 
)
inline

Constructor.

Definition at line 44 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_decl.hpp.

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

Destructor.

Definition at line 55 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_decl.hpp.

template<typename Scalar >
Tempus::WrapperModelEvaluatorPairIMEX_Basic< Scalar >::WrapperModelEvaluatorPairIMEX_Basic ( )
inlineprotected

Default constructor – only allowed for derived classes.

Definition at line 147 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_decl.hpp.

Member Function Documentation

template<typename Scalar >
virtual Teuchos::RCP<Thyra::LinearOpBase<Scalar> > Tempus::WrapperModelEvaluatorPairIMEX_Basic< Scalar >::create_W_op ( ) const
inlinevirtual
template<typename Scalar >
Thyra::ModelEvaluatorBase::InArgs< Scalar > Tempus::WrapperModelEvaluatorPairIMEX_Basic< Scalar >::createInArgs ( ) const
virtual
template<typename Scalar >
Thyra::ModelEvaluatorBase::OutArgs< Scalar > Tempus::WrapperModelEvaluatorPairIMEX_Basic< Scalar >::createOutArgsImpl ( ) const
virtual
template<typename Scalar >
void Tempus::WrapperModelEvaluatorPairIMEX_Basic< Scalar >::evalModelImpl ( const Thyra::ModelEvaluatorBase::InArgs< Scalar > &  in,
const Thyra::ModelEvaluatorBase::OutArgs< Scalar > &  out 
) const
virtual
template<typename Scalar >
virtual Teuchos::RCP<const Thyra::VectorSpaceBase<Scalar> > Tempus::WrapperModelEvaluatorPairIMEX_Basic< Scalar >::get_f_space ( ) const
inlinevirtual
template<typename Scalar >
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > Tempus::WrapperModelEvaluatorPairIMEX_Basic< Scalar >::get_g_space ( int  i) const
virtual
template<typename Scalar >
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > Tempus::WrapperModelEvaluatorPairIMEX_Basic< Scalar >::get_p_space ( int  i) const
virtual
template<typename Scalar >
Teuchos::RCP<const Thyra::LinearOpWithSolveFactoryBase<Scalar> > Tempus::WrapperModelEvaluatorPairIMEX_Basic< Scalar >::get_W_factory ( ) const
inlinevirtual
template<typename Scalar >
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > Tempus::WrapperModelEvaluatorPairIMEX_Basic< Scalar >::get_x_space ( ) const
virtual

Get the x-solution space.

Implements Tempus::WrapperModelEvaluatorPairIMEX< Scalar >.

Definition at line 74 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_impl.hpp.

template<typename Scalar >
Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > Tempus::WrapperModelEvaluatorPairIMEX_Basic< Scalar >::getAppModel ( ) const
virtual

Get the underlying application ModelEvaluator.

Implements Tempus::WrapperModelEvaluator< Scalar >.

Definition at line 62 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_impl.hpp.

template<typename Scalar >
virtual Teuchos::RCP<const Thyra::ModelEvaluator<Scalar> > Tempus::WrapperModelEvaluatorPairIMEX_Basic< Scalar >::getExplicitModel ( ) const
inlinevirtual
template<typename Scalar >
virtual Teuchos::RCP<const Thyra::ModelEvaluator<Scalar> > Tempus::WrapperModelEvaluatorPairIMEX_Basic< Scalar >::getImplicitModel ( ) const
inlinevirtual
template<typename Scalar >
virtual Thyra::ModelEvaluatorBase::InArgs<Scalar> Tempus::WrapperModelEvaluatorPairIMEX_Basic< Scalar >::getInArgs ( )
inlinevirtual

Get InArgs the wrapper ModelEvalutor.

Implements Tempus::WrapperModelEvaluator< Scalar >.

Definition at line 72 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_decl.hpp.

template<typename Scalar >
Thyra::ModelEvaluatorBase::InArgs< Scalar > Tempus::WrapperModelEvaluatorPairIMEX_Basic< Scalar >::getNominalValues ( ) const
virtual
template<typename Scalar >
virtual Thyra::ModelEvaluatorBase::OutArgs<Scalar> Tempus::WrapperModelEvaluatorPairIMEX_Basic< Scalar >::getOutArgs ( )
inlinevirtual

Get OutArgs the wrapper ModelEvalutor.

Implements Tempus::WrapperModelEvaluator< Scalar >.

Definition at line 80 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_decl.hpp.

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

Initialize after setting member data.

Implements Tempus::WrapperModelEvaluatorPairIMEX< Scalar >.

Definition at line 21 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_impl.hpp.

template<typename Scalar >
void Tempus::WrapperModelEvaluatorPairIMEX_Basic< Scalar >::setAppModel ( const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &  me)
virtual

Set the underlying application ModelEvaluator.

Implements Tempus::WrapperModelEvaluator< Scalar >.

Definition at line 50 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_impl.hpp.

template<typename Scalar >
virtual void Tempus::WrapperModelEvaluatorPairIMEX_Basic< Scalar >::setExplicitModel ( const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &  model)
inlinevirtual
template<typename Scalar >
virtual void Tempus::WrapperModelEvaluatorPairIMEX_Basic< Scalar >::setForSolve ( Teuchos::RCP< TimeDerivative< Scalar > >  timeDer,
Thyra::ModelEvaluatorBase::InArgs< Scalar >  inArgs,
Thyra::ModelEvaluatorBase::OutArgs< Scalar >  outArgs,
EVALUATION_TYPE  = SOLVE_FOR_X 
)
inlinevirtual

Set parameters for application implicit ModelEvaluator solve.

Implements Tempus::WrapperModelEvaluatorPairIMEX< Scalar >.

Definition at line 84 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_decl.hpp.

template<typename Scalar >
virtual void Tempus::WrapperModelEvaluatorPairIMEX_Basic< Scalar >::setImplicitModel ( const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &  model)
inlinevirtual
template<typename Scalar >
virtual void Tempus::WrapperModelEvaluatorPairIMEX_Basic< Scalar >::setInArgs ( Thyra::ModelEvaluatorBase::InArgs< Scalar >  inArgs)
inlinevirtual

Set InArgs the wrapper ModelEvalutor.

Implements Tempus::WrapperModelEvaluator< Scalar >.

Definition at line 68 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_decl.hpp.

template<typename Scalar >
virtual void Tempus::WrapperModelEvaluatorPairIMEX_Basic< Scalar >::setOutArgs ( Thyra::ModelEvaluatorBase::OutArgs< Scalar >  outArgs)
inlinevirtual

Set OutArgs the wrapper ModelEvalutor.

Implements Tempus::WrapperModelEvaluator< Scalar >.

Definition at line 76 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_decl.hpp.

template<typename Scalar >
void Tempus::WrapperModelEvaluatorPairIMEX_Basic< Scalar >::setup ( const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &  explicitModel,
const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &  implicitModel 
)
inlineprotected

Setup ME when using default constructor – for derived classes.

Definition at line 150 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_decl.hpp.

Member Data Documentation

template<typename Scalar >
Teuchos::RCP<const Thyra::ModelEvaluator<Scalar> > Tempus::WrapperModelEvaluatorPairIMEX_Basic< Scalar >::explicitModel_
protected
template<typename Scalar >
Teuchos::RCP<const Thyra::ModelEvaluator<Scalar> > Tempus::WrapperModelEvaluatorPairIMEX_Basic< Scalar >::implicitModel_
protected
template<typename Scalar >
Teuchos::RCP<TimeDerivative<Scalar> > Tempus::WrapperModelEvaluatorPairIMEX_Basic< Scalar >::timeDer_
protected
template<typename Scalar >
Thyra::ModelEvaluatorBase::InArgs<Scalar> Tempus::WrapperModelEvaluatorPairIMEX_Basic< Scalar >::wrapperImplicitInArgs_
protected
template<typename Scalar >
Thyra::ModelEvaluatorBase::OutArgs<Scalar> Tempus::WrapperModelEvaluatorPairIMEX_Basic< Scalar >::wrapperImplicitOutArgs_
protected

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