Thyra Version of the Day
Loading...
Searching...
No Matches
List of all members
Thyra::ModelEvaluatorDelegatorBase< Scalar > Class Template Reference

This is a base class that delegetes almost all function to a wrapped model evaluator object. More...

#include <Thyra_ModelEvaluatorDelegatorBase.hpp>

Inheritance diagram for Thyra::ModelEvaluatorDelegatorBase< Scalar >:
Inheritance graph
[legend]

Constructors/initializers

 ModelEvaluatorDelegatorBase ()
 Constructs to uninitialized.
 
 ModelEvaluatorDelegatorBase (const RCP< ModelEvaluator< Scalar > > &model)
 Calls initialize().
 
 ModelEvaluatorDelegatorBase (const RCP< const ModelEvaluator< Scalar > > &model)
 Calls initialize().
 
void initialize (const RCP< ModelEvaluator< Scalar > > &model)
 Initialize given a non-const model evaluator.
 
void initialize (const RCP< const ModelEvaluator< Scalar > > &model)
 Initialize given a const model evaluator.
 
void uninitialize ()
 Uninitialize.
 

Virtual functions that can overridden

virtual bool isUnderlyingModelConst () const
 
virtual RCP< ModelEvaluator< Scalar > > getNonconstUnderlyingModel ()
 
virtual RCP< const ModelEvaluator< Scalar > > getUnderlyingModel () const
 

Public functions overridden from ModelEvaulator.

RCP< const VectorSpaceBase< Scalar > > get_x_space () const
 
RCP< const VectorSpaceBase< Scalar > > get_f_space () const
 
RCP< const VectorSpaceBase< Scalar > > get_f_multiplier_space () const
 
RCP< const VectorSpaceBase< Scalar > > get_p_space (int l) const
 
RCP< const Teuchos::Array< std::string > > get_p_names (int l) const
 
RCP< const VectorSpaceBase< Scalar > > get_g_space (int j) const
 
RCP< const VectorSpaceBase< Scalar > > get_g_multiplier_space (int j) const
 
Teuchos::ArrayView< const std::string > get_g_names (int j) const
 
ModelEvaluatorBase::InArgs< Scalar > getNominalValues () const
 
ModelEvaluatorBase::InArgs< Scalar > getLowerBounds () const
 
ModelEvaluatorBase::InArgs< Scalar > getUpperBounds () const
 
RCP< LinearOpWithSolveBase< Scalar > > create_W () const
 
RCP< LinearOpBase< Scalar > > create_W_op () const
 
RCP< PreconditionerBase< Scalar > > create_W_prec () const
 
RCP< const LinearOpWithSolveFactoryBase< Scalar > > get_W_factory () const
 
ModelEvaluatorBase::InArgs< Scalar > createInArgs () const
 
void reportFinalPoint (const ModelEvaluatorBase::InArgs< Scalar > &finalPoint, const bool wasSolved)
 

Producted utility functions to be called by subclasses

void setLocalVerbosityLevelValidatedParameter (ParameterList *paramList) const
 Set a valid parameter for reading the local verbosity level.
 
Teuchos::EVerbosityLevel readLocalVerbosityLevelValidatedParameter (ParameterList &paramList) const
 Read the local verbosity level parameter.
 

Additional Inherited Members

- Public Types inherited from Thyra::ModelEvaluator< Scalar >
typedef Teuchos::ScalarTraits< Scalar >::magnitudeType ScalarMag
 
- Public Types inherited from Thyra::ModelEvaluatorBase
enum  EInArgsMembers {
  IN_ARG_x_dot_dot , IN_ARG_x_dot , IN_ARG_x , IN_ARG_x_dot_poly ,
  IN_ARG_x_poly , IN_ARG_x_dot_mp , IN_ARG_x_mp , IN_ARG_t ,
  IN_ARG_alpha , IN_ARG_beta , IN_ARG_W_x_dot_dot_coeff , IN_ARG_step_size ,
  IN_ARG_stage_number
}
 .
More...
 
enum  EInArgs_p_mp { IN_ARG_p_mp }
 .
More...
 
enum  EEvalType { }
 The type of an evaluation. More...
 
enum  EDerivativeMultiVectorOrientation { DERIV_MV_JACOBIAN_FORM , DERIV_MV_GRADIENT_FORM , DERIV_MV_BY_COL = DERIV_MV_JACOBIAN_FORM , DERIV_TRANS_MV_BY_ROW = DERIV_MV_GRADIENT_FORM }
 
enum  EDerivativeLinearOp { DERIV_LINEAR_OP }
 
enum  EDerivativeLinearity { DERIV_LINEARITY_UNKNOWN , DERIV_LINEARITY_CONST , DERIV_LINEARITY_NONCONST }
 
enum  ERankStatus { DERIV_RANK_UNKNOWN , DERIV_RANK_FULL , DERIV_RANK_DEFICIENT }
 
enum  EOutArgsMembers {
  OUT_ARG_f , OUT_ARG_W , OUT_ARG_f_mp , OUT_ARG_W_mp ,
  OUT_ARG_W_op , OUT_ARG_W_prec , OUT_ARG_f_poly
}
 .
More...
 
enum  EOutArgsDfDp { OUT_ARG_DfDp }
 
enum  EOutArgsDgDx_dot { OUT_ARG_DgDx_dot }
 
enum  EOutArgsDgDx { OUT_ARG_DgDx }
 
enum  EOutArgsDgDp { OUT_ARG_DgDp }
 
enum  EOutArgsDfDp_mp { OUT_ARG_DfDp_mp }
 
enum  EOutArgs_g_mp { OUT_ARG_g_mp }
 
enum  EOutArgsDgDx_dot_mp { OUT_ARG_DgDx_dot_mp }
 
enum  EOutArgsDgDx_mp { OUT_ARG_DgDx_mp }
 
enum  EOutArgsDgDp_mp { OUT_ARG_DgDp_mp }
 
- Public Member Functions inherited from Thyra::ModelEvaluatorDefaultBase< Scalar >
int Np () const
 
int Ng () const
 
RCP< LinearOpBase< Scalar > > create_DfDp_op (int l) const
 
RCP< LinearOpBase< Scalar > > create_DgDx_dot_op (int j) const
 
RCP< LinearOpBase< Scalar > > create_DgDx_op (int j) const
 
RCP< LinearOpBase< Scalar > > create_DgDp_op (int j, int l) const
 
ModelEvaluatorBase::OutArgs< Scalar > createOutArgs () const
 
void evalModel (const ModelEvaluatorBase::InArgs< Scalar > &inArgs, const ModelEvaluatorBase::OutArgs< Scalar > &outArgs) const
 
- Public Member Functions inherited from Thyra::ModelEvaluator< Scalar >
- Public Member Functions inherited from Thyra::ModelEvaluatorBase
 ModelEvaluatorBase ()
 constructor
 
- Static Public Attributes inherited from Thyra::ModelEvaluatorBase
static const int NUM_E_IN_ARGS_MEMBERS =13
 .

 
static const int NUM_E_OUT_ARGS_MEMBERS =7
 .

 
- Protected Member Functions inherited from Thyra::ModelEvaluatorDefaultBase< Scalar >
 ModelEvaluatorDefaultBase ()
 
void initializeDefaultBase ()
 Function called by subclasses to fully initialize this object on any important change.
 
void resetDefaultBase ()
 Sets the the DefaultBase to an uninitialized state, forcing lazy initialization when needed.
 

Detailed Description

template<class Scalar>
class Thyra::ModelEvaluatorDelegatorBase< Scalar >

This is a base class that delegetes almost all function to a wrapped model evaluator object.

This class makes it easy to write many different types of decorator subclasses by only requiring those subclasses to override just the behavior that they need to overide and leave the rest alone. Note that whenever the definition of ModelEvaluator changes, this class will have to be updated. However, the decorator subclasses that derive from this base class might be able to remain unchanged. Note that changes in only the ModelEvaluatorBase::InArgs and ModelEvaluatorBase::OutArgs classes should not require any changes here.

The only functions that a client must override in order to create a concrete subcalss is the evalModel() function. All other functions have implementations here that simply delegate to the model evaluator object returned from getUnderlyingModel(). However, most decorator classes will need to override at least one other function.

This class provides a default implemntation of the machinary to store and access the wrapped model evaluator object. A subclass can choose to ignore this and override the functions isUnderlyingModelConst(), getConstUnderlyingModel(), and getUnderlyingModel().

Definition at line 82 of file Thyra_ModelEvaluatorDelegatorBase.hpp.

Constructor & Destructor Documentation

◆ ModelEvaluatorDelegatorBase() [1/3]

template<class Scalar >
Thyra::ModelEvaluatorDelegatorBase< Scalar >::ModelEvaluatorDelegatorBase

Constructs to uninitialized.

Definition at line 329 of file Thyra_ModelEvaluatorDelegatorBase.hpp.

◆ ModelEvaluatorDelegatorBase() [2/3]

template<class Scalar >
Thyra::ModelEvaluatorDelegatorBase< Scalar >::ModelEvaluatorDelegatorBase ( const RCP< ModelEvaluator< Scalar > > &  model)

Calls initialize().

Definition at line 334 of file Thyra_ModelEvaluatorDelegatorBase.hpp.

◆ ModelEvaluatorDelegatorBase() [3/3]

template<class Scalar >
Thyra::ModelEvaluatorDelegatorBase< Scalar >::ModelEvaluatorDelegatorBase ( const RCP< const ModelEvaluator< Scalar > > &  model)

Calls initialize().

Definition at line 343 of file Thyra_ModelEvaluatorDelegatorBase.hpp.

Member Function Documentation

◆ initialize() [1/2]

template<class Scalar >
void Thyra::ModelEvaluatorDelegatorBase< Scalar >::initialize ( const RCP< ModelEvaluator< Scalar > > &  model)

Initialize given a non-const model evaluator.

Definition at line 352 of file Thyra_ModelEvaluatorDelegatorBase.hpp.

◆ initialize() [2/2]

template<class Scalar >
void Thyra::ModelEvaluatorDelegatorBase< Scalar >::initialize ( const RCP< const ModelEvaluator< Scalar > > &  model)

Initialize given a const model evaluator.

Definition at line 361 of file Thyra_ModelEvaluatorDelegatorBase.hpp.

◆ uninitialize()

template<class Scalar >
void Thyra::ModelEvaluatorDelegatorBase< Scalar >::uninitialize

Uninitialize.

Definition at line 370 of file Thyra_ModelEvaluatorDelegatorBase.hpp.

◆ isUnderlyingModelConst()

template<class Scalar >
bool Thyra::ModelEvaluatorDelegatorBase< Scalar >::isUnderlyingModelConst
virtual

Definition at line 380 of file Thyra_ModelEvaluatorDelegatorBase.hpp.

◆ getNonconstUnderlyingModel()

template<class Scalar >
RCP< ModelEvaluator< Scalar > > Thyra::ModelEvaluatorDelegatorBase< Scalar >::getNonconstUnderlyingModel
virtual

Definition at line 388 of file Thyra_ModelEvaluatorDelegatorBase.hpp.

◆ getUnderlyingModel()

template<class Scalar >
RCP< const ModelEvaluator< Scalar > > Thyra::ModelEvaluatorDelegatorBase< Scalar >::getUnderlyingModel
virtual

Definition at line 396 of file Thyra_ModelEvaluatorDelegatorBase.hpp.

◆ get_x_space()

template<class Scalar >
RCP< const VectorSpaceBase< Scalar > > Thyra::ModelEvaluatorDelegatorBase< Scalar >::get_x_space
virtual

◆ get_f_space()

template<class Scalar >
RCP< const VectorSpaceBase< Scalar > > Thyra::ModelEvaluatorDelegatorBase< Scalar >::get_f_space
virtual

◆ get_f_multiplier_space()

template<class Scalar >
RCP< const VectorSpaceBase< Scalar > > Thyra::ModelEvaluatorDelegatorBase< Scalar >::get_f_multiplier_space
virtual

◆ get_p_space()

template<class Scalar >
RCP< const VectorSpaceBase< Scalar > > Thyra::ModelEvaluatorDelegatorBase< Scalar >::get_p_space ( int  l) const
virtual

◆ get_p_names()

template<class Scalar >
RCP< const Teuchos::Array< std::string > > Thyra::ModelEvaluatorDelegatorBase< Scalar >::get_p_names ( int  l) const
virtual

◆ get_g_space()

template<class Scalar >
RCP< const VectorSpaceBase< Scalar > > Thyra::ModelEvaluatorDelegatorBase< Scalar >::get_g_space ( int  j) const
virtual

◆ get_g_multiplier_space()

template<class Scalar >
RCP< const VectorSpaceBase< Scalar > > Thyra::ModelEvaluatorDelegatorBase< Scalar >::get_g_multiplier_space ( int  j) const
virtual

◆ get_g_names()

template<class Scalar >
Teuchos::ArrayView< const std::string > Thyra::ModelEvaluatorDelegatorBase< Scalar >::get_g_names ( int  j) const
virtual

◆ getNominalValues()

template<class Scalar >
ModelEvaluatorBase::InArgs< Scalar > Thyra::ModelEvaluatorDelegatorBase< Scalar >::getNominalValues
virtual

◆ getLowerBounds()

template<class Scalar >
ModelEvaluatorBase::InArgs< Scalar > Thyra::ModelEvaluatorDelegatorBase< Scalar >::getLowerBounds
virtual

◆ getUpperBounds()

template<class Scalar >
ModelEvaluatorBase::InArgs< Scalar > Thyra::ModelEvaluatorDelegatorBase< Scalar >::getUpperBounds
virtual

◆ create_W()

template<class Scalar >
RCP< LinearOpWithSolveBase< Scalar > > Thyra::ModelEvaluatorDelegatorBase< Scalar >::create_W
virtual

◆ create_W_op()

template<class Scalar >
RCP< LinearOpBase< Scalar > > Thyra::ModelEvaluatorDelegatorBase< Scalar >::create_W_op
virtual

◆ create_W_prec()

template<class Scalar >
RCP< PreconditionerBase< Scalar > > Thyra::ModelEvaluatorDelegatorBase< Scalar >::create_W_prec
virtual

◆ get_W_factory()

template<class Scalar >
RCP< const LinearOpWithSolveFactoryBase< Scalar > > Thyra::ModelEvaluatorDelegatorBase< Scalar >::get_W_factory
virtual

◆ createInArgs()

template<class Scalar >
ModelEvaluatorBase::InArgs< Scalar > Thyra::ModelEvaluatorDelegatorBase< Scalar >::createInArgs
virtual

◆ reportFinalPoint()

template<class Scalar >
void Thyra::ModelEvaluatorDelegatorBase< Scalar >::reportFinalPoint ( const ModelEvaluatorBase::InArgs< Scalar > &  finalPoint,
const bool  wasSolved 
)
virtual

◆ setLocalVerbosityLevelValidatedParameter()

template<class Scalar >
void Thyra::ModelEvaluatorDelegatorBase< Scalar >::setLocalVerbosityLevelValidatedParameter ( ParameterList paramList) const
protected

Set a valid parameter for reading the local verbosity level.

Definition at line 562 of file Thyra_ModelEvaluatorDelegatorBase.hpp.

◆ readLocalVerbosityLevelValidatedParameter()

template<class Scalar >
Teuchos::EVerbosityLevel Thyra::ModelEvaluatorDelegatorBase< Scalar >::readLocalVerbosityLevelValidatedParameter ( ParameterList paramList) const
protected

Read the local verbosity level parameter.

Definition at line 585 of file Thyra_ModelEvaluatorDelegatorBase.hpp.


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