Thyra Version of the Day
Public Member Functions | Protected Member Functions
Thyra::ModelEvaluatorBase::OutArgs< Scalar > Class Template Reference

Concrete aggregate class for all output arguments computable by a ModelEvaluator subclass object. More...

#include <Thyra_ModelEvaluatorBase_decl.hpp>

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

List of all members.

Public Member Functions

 OutArgs ()
 
int Np () const
 Return the number of parameter subvectors p(l) supported (Np >= 0).
int Ng () const
 Return the number of axillary response functions g(j)(...) supported (Ng >= 0).
bool supports (EOutArgsMembers arg) const
 Determine if an input argument is supported or not.
const DerivativeSupportsupports (EOutArgsDfDp arg, int l) const
 Determine if DfDp(l) is supported or not, where 0 <= l && l < Np().
const DerivativeSupportsupports (EOutArgsDgDx_dot arg, int j) const
 Determine if DgDx_dot(j) is supported or not, 0 <= j && j < Ng().
const DerivativeSupportsupports (EOutArgsDgDx arg, int j) const
 Determine if DgDx(j) is supported or not, 0 <= j && j < Ng().
const DerivativeSupportsupports (EOutArgsDgDp arg, int j, int l) const
 Determine if DgDp(j,l) is supported or not, 0 <= j && j < Ng() and 0 <= l && l < Np().
void set_f (const Evaluation< VectorBase< Scalar > > &f)
 Precondition: supports(OUT_ARG_f)==true.
Evaluation< VectorBase< Scalar > > get_f () const
 Precondition: supports(OUT_ARG_f)==true.
void set_g (int j, const Evaluation< VectorBase< Scalar > > &g_j)
 Precondition: supports(OUT_ARG_g)==true.
Evaluation< VectorBase< Scalar > > get_g (int j) const
 Precondition: supports(OUT_ARG_g)==true..
void set_W (const RCP< LinearOpWithSolveBase< Scalar > > &W)
 Precondition: supports(OUT_ARG_W)==true.
RCP< LinearOpWithSolveBase
< Scalar > > 
get_W () const
 Precondition: supports(OUT_ARG_W)==true.
void set_W_op (const RCP< LinearOpBase< Scalar > > &W_op)
 Precondition: supports(OUT_ARG_W_op)==true.
RCP< LinearOpBase< Scalar > > get_W_op () const
 Precondition: supports(OUT_ARG_W_op)==true.
void set_W_prec (const RCP< PreconditionerBase< Scalar > > &W_prec)
 Precondition: supports(OUT_ARG_W_op)==true.
RCP< PreconditionerBase< Scalar > > get_W_prec () const
 Precondition: supports(OUT_ARG_W_op)==true.
DerivativeProperties get_W_properties () const
 Return the known properties of W (precondition: supports(OUT_ARG_f)==true).
void set_DfDp (int l, const Derivative< Scalar > &DfDp_l)
 Precondition: supports(OUT_ARG_DfDp,l)==true.
Derivative< Scalar > get_DfDp (int l) const
 Precondition: supports(OUT_ARG_DfDp,l)==true.
DerivativeProperties get_DfDp_properties (int l) const
 Return the know properties of DfDp(l) (precondition: supports(OUT_ARG_DfDp,l)==true).
void set_DgDx_dot (int j, const Derivative< Scalar > &DgDx_dot_j)
 Precondition: supports(OUT_ARG_DgDx_dot,j)==true.
Derivative< Scalar > get_DgDx_dot (int j) const
 Precondition: supports(OUT_ARG_DgDx_dot,j)==true.
DerivativeProperties get_DgDx_dot_properties (int j) const
 Return the know properties of DgDx_dot(j) (precondition: supports(OUT_ARG_DgDx_dot,j)==true).
void set_DgDx (int j, const Derivative< Scalar > &DgDx_j)
 Precondition: supports(OUT_ARG_DgDx,j)==true.
Derivative< Scalar > get_DgDx (int j) const
 Precondition: supports(OUT_ARG_DgDx,j)==true.
DerivativeProperties get_DgDx_properties (int j) const
 Return the know properties of DgDx(j) (precondition: supports(OUT_ARG_DgDx,j)==true).
void set_DgDp (int j, int l, const Derivative< Scalar > &DgDp_j_l)
 Precondition: supports(OUT_ARG_DgDp,j,l)==true.
Derivative< Scalar > get_DgDp (int j, int l) const
 Precondition: supports(OUT_ARG_DgDp,j,l)==true.
DerivativeProperties get_DgDp_properties (int j, int l) const
 Return the know properties of DgDp(j,l) (precondition: supports(OUT_ARG_DgDp,j,l)==true).
void setArgs (const OutArgs< Scalar > &outArgs, bool ignoreUnsupported=false)
 Set all arguments fron outArgs into *this.
void setFailed () const
 Set that the evaluation as a whole failed.
bool isFailed () const
 Return if the evaluation failed or not.
bool isEmpty () const
 
void assertSameSupport (const OutArgs< Scalar > &outArgs) const
 Assert that two OutArgs objects have the same support.
std::string modelEvalDescription () const
 
std::string description () const
 
void describe (Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel) const
 Create a more detailed description along about this object and the ModelEvaluator that created it.

Protected Member Functions

void _setModelEvalDescription (const std::string &modelEvalDescription)
 
void _set_Np_Ng (int Np, int Ng)
 
void _setSupports (EOutArgsMembers arg, bool supports)
 
void _setSupports (EOutArgsDfDp arg, int l, const DerivativeSupport &)
 
void _setSupports (EOutArgsDgDx_dot arg, int j, const DerivativeSupport &)
 
void _setSupports (EOutArgsDgDx arg, int j, const DerivativeSupport &)
 
void _setSupports (EOutArgsDgDp arg, int j, int l, const DerivativeSupport &)
 
void _set_W_properties (const DerivativeProperties &properties)
 
void _set_DfDp_properties (int l, const DerivativeProperties &properties)
 
void _set_DgDx_dot_properties (int j, const DerivativeProperties &properties)
 
void _set_DgDx_properties (int j, const DerivativeProperties &properties)
 
void _set_DgDp_properties (int j, int l, const DerivativeProperties &properties)
 
void _setSupports (const OutArgs< Scalar > &inputOutArgs)
 
void _setUnsupportsAndRelated (EInArgsMembers arg)
 
void _setUnsupportsAndRelated (EOutArgsMembers arg)
 

Detailed Description

template<class Scalar>
class Thyra::ModelEvaluatorBase::OutArgs< Scalar >

Concrete aggregate class for all output arguments computable by a ModelEvaluator subclass object.

Note that const OutArgs object means that a client can not change what output objects are being pointed to but they can still change the states of the contained objects. This is slight variation on the concept of logical const-ness in C++ but it is totally consistent with the vary nature of this class.

In addition to storing the output objects themselves, this class also allows the storage if the properties of some of the objects as well. Therefore, objects of this type are used to communicate a lot of different information about the output functions and derivatives supported by a model. It tells clients what functions and derivatives are supported and what the know properties are.

A client can not directly set what input arguments are supported or not supported. Only a subclass of ModelEvaluator can do that (through the OutArgsSetup subclass).

Definition at line 512 of file Thyra_ModelEvaluatorBase_decl.hpp.


Constructor & Destructor Documentation

template<class Scalar >
Thyra::ModelEvaluatorBase::OutArgs< Scalar >::OutArgs ( )

Definition at line 578 of file Thyra_ModelEvaluatorBase_def.hpp.


Member Function Documentation

template<class Scalar >
int Thyra::ModelEvaluatorBase::OutArgs< Scalar >::Np ( ) const

Return the number of parameter subvectors p(l) supported (Np >= 0).

Definition at line 585 of file Thyra_ModelEvaluatorBase_def.hpp.

template<class Scalar >
int Thyra::ModelEvaluatorBase::OutArgs< Scalar >::Ng ( ) const

Return the number of axillary response functions g(j)(...) supported (Ng >= 0).

Definition at line 590 of file Thyra_ModelEvaluatorBase_def.hpp.

template<class Scalar >
bool Thyra::ModelEvaluatorBase::OutArgs< Scalar >::supports ( EOutArgsMembers  arg) const

Determine if an input argument is supported or not.

Definition at line 595 of file Thyra_ModelEvaluatorBase_def.hpp.

template<class Scalar >
const ModelEvaluatorBase::DerivativeSupport & Thyra::ModelEvaluatorBase::OutArgs< Scalar >::supports ( EOutArgsDfDp  arg,
int  l 
) const

Determine if DfDp(l) is supported or not, where 0 <= l && l < Np().

Definition at line 610 of file Thyra_ModelEvaluatorBase_def.hpp.

template<class Scalar >
const ModelEvaluatorBase::DerivativeSupport & Thyra::ModelEvaluatorBase::OutArgs< Scalar >::supports ( EOutArgsDgDx_dot  arg,
int  j 
) const

Determine if DgDx_dot(j) is supported or not, 0 <= j && j < Ng().

Definition at line 621 of file Thyra_ModelEvaluatorBase_def.hpp.

template<class Scalar >
const ModelEvaluatorBase::DerivativeSupport & Thyra::ModelEvaluatorBase::OutArgs< Scalar >::supports ( EOutArgsDgDx  arg,
int  j 
) const

Determine if DgDx(j) is supported or not, 0 <= j && j < Ng().

Definition at line 632 of file Thyra_ModelEvaluatorBase_def.hpp.

template<class Scalar >
const ModelEvaluatorBase::DerivativeSupport & Thyra::ModelEvaluatorBase::OutArgs< Scalar >::supports ( EOutArgsDgDp  arg,
int  j,
int  l 
) const

Determine if DgDp(j,l) is supported or not, 0 <= j && j < Ng() and 0 <= l && l < Np().

Definition at line 643 of file Thyra_ModelEvaluatorBase_def.hpp.

template<class Scalar>
void Thyra::ModelEvaluatorBase::OutArgs< Scalar >::set_f ( const Evaluation< VectorBase< Scalar > > &  f)

Precondition: supports(OUT_ARG_f)==true.

Definition at line 654 of file Thyra_ModelEvaluatorBase_def.hpp.

template<class Scalar >
ModelEvaluatorBase::Evaluation< VectorBase< Scalar > > Thyra::ModelEvaluatorBase::OutArgs< Scalar >::get_f ( ) const

Precondition: supports(OUT_ARG_f)==true.

Definition at line 665 of file Thyra_ModelEvaluatorBase_def.hpp.

template<class Scalar>
void Thyra::ModelEvaluatorBase::OutArgs< Scalar >::set_g ( int  j,
const Evaluation< VectorBase< Scalar > > &  g_j 
)

Precondition: supports(OUT_ARG_g)==true.

Definition at line 673 of file Thyra_ModelEvaluatorBase_def.hpp.

template<class Scalar >
ModelEvaluatorBase::Evaluation< VectorBase< Scalar > > Thyra::ModelEvaluatorBase::OutArgs< Scalar >::get_g ( int  j) const

Precondition: supports(OUT_ARG_g)==true..

Definition at line 684 of file Thyra_ModelEvaluatorBase_def.hpp.

template<class Scalar>
void Thyra::ModelEvaluatorBase::OutArgs< Scalar >::set_W ( const RCP< LinearOpWithSolveBase< Scalar > > &  W)

Precondition: supports(OUT_ARG_W)==true.

Definition at line 692 of file Thyra_ModelEvaluatorBase_def.hpp.

template<class Scalar >
RCP< LinearOpWithSolveBase< Scalar > > Thyra::ModelEvaluatorBase::OutArgs< Scalar >::get_W ( ) const

Precondition: supports(OUT_ARG_W)==true.

Definition at line 703 of file Thyra_ModelEvaluatorBase_def.hpp.

template<class Scalar>
void Thyra::ModelEvaluatorBase::OutArgs< Scalar >::set_W_op ( const RCP< LinearOpBase< Scalar > > &  W_op)

Precondition: supports(OUT_ARG_W_op)==true.

Definition at line 711 of file Thyra_ModelEvaluatorBase_def.hpp.

template<class Scalar >
RCP< LinearOpBase< Scalar > > Thyra::ModelEvaluatorBase::OutArgs< Scalar >::get_W_op ( ) const

Precondition: supports(OUT_ARG_W_op)==true.

Definition at line 722 of file Thyra_ModelEvaluatorBase_def.hpp.

template<class Scalar>
void Thyra::ModelEvaluatorBase::OutArgs< Scalar >::set_W_prec ( const RCP< PreconditionerBase< Scalar > > &  W_prec)

Precondition: supports(OUT_ARG_W_op)==true.

Definition at line 730 of file Thyra_ModelEvaluatorBase_def.hpp.

template<class Scalar >
RCP< PreconditionerBase< Scalar > > Thyra::ModelEvaluatorBase::OutArgs< Scalar >::get_W_prec ( ) const

Precondition: supports(OUT_ARG_W_op)==true.

Definition at line 741 of file Thyra_ModelEvaluatorBase_def.hpp.

template<class Scalar >
ModelEvaluatorBase::DerivativeProperties Thyra::ModelEvaluatorBase::OutArgs< Scalar >::get_W_properties ( ) const

Return the known properties of W (precondition: supports(OUT_ARG_f)==true).

Definition at line 750 of file Thyra_ModelEvaluatorBase_def.hpp.

template<class Scalar>
void Thyra::ModelEvaluatorBase::OutArgs< Scalar >::set_DfDp ( int  l,
const Derivative< Scalar > &  DfDp_l 
)

Precondition: supports(OUT_ARG_DfDp,l)==true.

Definition at line 758 of file Thyra_ModelEvaluatorBase_def.hpp.

template<class Scalar >
ModelEvaluatorBase::Derivative< Scalar > Thyra::ModelEvaluatorBase::OutArgs< Scalar >::get_DfDp ( int  l) const

Precondition: supports(OUT_ARG_DfDp,l)==true.

Definition at line 769 of file Thyra_ModelEvaluatorBase_def.hpp.

template<class Scalar >
ModelEvaluatorBase::DerivativeProperties Thyra::ModelEvaluatorBase::OutArgs< Scalar >::get_DfDp_properties ( int  l) const

Return the know properties of DfDp(l) (precondition: supports(OUT_ARG_DfDp,l)==true).

Definition at line 778 of file Thyra_ModelEvaluatorBase_def.hpp.

template<class Scalar>
void Thyra::ModelEvaluatorBase::OutArgs< Scalar >::set_DgDx_dot ( int  j,
const Derivative< Scalar > &  DgDx_dot_j 
)

Precondition: supports(OUT_ARG_DgDx_dot,j)==true.

Definition at line 786 of file Thyra_ModelEvaluatorBase_def.hpp.

template<class Scalar >
ModelEvaluatorBase::Derivative< Scalar > Thyra::ModelEvaluatorBase::OutArgs< Scalar >::get_DgDx_dot ( int  j) const

Precondition: supports(OUT_ARG_DgDx_dot,j)==true.

Definition at line 797 of file Thyra_ModelEvaluatorBase_def.hpp.

template<class Scalar >
ModelEvaluatorBase::DerivativeProperties Thyra::ModelEvaluatorBase::OutArgs< Scalar >::get_DgDx_dot_properties ( int  j) const

Return the know properties of DgDx_dot(j) (precondition: supports(OUT_ARG_DgDx_dot,j)==true).

Definition at line 806 of file Thyra_ModelEvaluatorBase_def.hpp.

template<class Scalar>
void Thyra::ModelEvaluatorBase::OutArgs< Scalar >::set_DgDx ( int  j,
const Derivative< Scalar > &  DgDx_j 
)

Precondition: supports(OUT_ARG_DgDx,j)==true.

Definition at line 814 of file Thyra_ModelEvaluatorBase_def.hpp.

template<class Scalar >
ModelEvaluatorBase::Derivative< Scalar > Thyra::ModelEvaluatorBase::OutArgs< Scalar >::get_DgDx ( int  j) const

Precondition: supports(OUT_ARG_DgDx,j)==true.

Definition at line 825 of file Thyra_ModelEvaluatorBase_def.hpp.

template<class Scalar >
ModelEvaluatorBase::DerivativeProperties Thyra::ModelEvaluatorBase::OutArgs< Scalar >::get_DgDx_properties ( int  j) const

Return the know properties of DgDx(j) (precondition: supports(OUT_ARG_DgDx,j)==true).

Definition at line 834 of file Thyra_ModelEvaluatorBase_def.hpp.

template<class Scalar>
void Thyra::ModelEvaluatorBase::OutArgs< Scalar >::set_DgDp ( int  j,
int  l,
const Derivative< Scalar > &  DgDp_j_l 
)

Precondition: supports(OUT_ARG_DgDp,j,l)==true.

Definition at line 842 of file Thyra_ModelEvaluatorBase_def.hpp.

template<class Scalar >
ModelEvaluatorBase::Derivative< Scalar > Thyra::ModelEvaluatorBase::OutArgs< Scalar >::get_DgDp ( int  j,
int  l 
) const

Precondition: supports(OUT_ARG_DgDp,j,l)==true.

Definition at line 853 of file Thyra_ModelEvaluatorBase_def.hpp.

template<class Scalar >
ModelEvaluatorBase::DerivativeProperties Thyra::ModelEvaluatorBase::OutArgs< Scalar >::get_DgDp_properties ( int  j,
int  l 
) const

Return the know properties of DgDp(j,l) (precondition: supports(OUT_ARG_DgDp,j,l)==true).

Definition at line 862 of file Thyra_ModelEvaluatorBase_def.hpp.

template<class Scalar>
void Thyra::ModelEvaluatorBase::OutArgs< Scalar >::setArgs ( const OutArgs< Scalar > &  outArgs,
bool  ignoreUnsupported = false 
)

Set all arguments fron outArgs into *this.

If ignoreUnsupported==true, then arguments in outArgs that are not supported in *this will be ignored. Othereise, if an unsupported argument is set, then an exception will be thrown.

Definition at line 893 of file Thyra_ModelEvaluatorBase_def.hpp.

template<class Scalar >
void Thyra::ModelEvaluatorBase::OutArgs< Scalar >::setFailed ( ) const

Set that the evaluation as a whole failed.

Note that this function is declared as const even through it technically changes the state of *this object. This was done so that this property could be set by a ModelEvaluator subclass in evalModel() which takes a const OutArgs object. This is consistent with the behavior of the rest of a const OutArgs object in that a client is allowed to change the state of objects through a const OutArgs object, they just can't change what objects are pointed to.

Definition at line 977 of file Thyra_ModelEvaluatorBase_def.hpp.

template<class Scalar >
bool Thyra::ModelEvaluatorBase::OutArgs< Scalar >::isFailed ( ) const

Return if the evaluation failed or not.

If the evaluation failed, no assumptions should be made at all about the state of the output objects.

Definition at line 993 of file Thyra_ModelEvaluatorBase_def.hpp.

template<class Scalar >
bool Thyra::ModelEvaluatorBase::OutArgs< Scalar >::isEmpty ( ) const

Definition at line 1000 of file Thyra_ModelEvaluatorBase_def.hpp.

template<class Scalar>
void Thyra::ModelEvaluatorBase::OutArgs< Scalar >::assertSameSupport ( const OutArgs< Scalar > &  outArgs) const

Assert that two OutArgs objects have the same support.

Definition at line 1033 of file Thyra_ModelEvaluatorBase_def.hpp.

template<class Scalar >
std::string Thyra::ModelEvaluatorBase::OutArgs< Scalar >::modelEvalDescription ( ) const

Definition at line 1107 of file Thyra_ModelEvaluatorBase_def.hpp.

template<class Scalar >
std::string Thyra::ModelEvaluatorBase::OutArgs< Scalar >::description ( ) const [virtual]

Reimplemented from Teuchos::Describable.

Definition at line 1114 of file Thyra_ModelEvaluatorBase_def.hpp.

template<class Scalar >
void Thyra::ModelEvaluatorBase::OutArgs< Scalar >::describe ( Teuchos::FancyOStream out,
const Teuchos::EVerbosityLevel  verbLevel 
) const [virtual]

Create a more detailed description along about this object and the ModelEvaluator that created it.

Reimplemented from Teuchos::Describable.

Definition at line 1130 of file Thyra_ModelEvaluatorBase_def.hpp.

template<class Scalar >
void Thyra::ModelEvaluatorBase::OutArgs< Scalar >::_setModelEvalDescription ( const std::string &  modelEvalDescription) [protected]

Definition at line 1237 of file Thyra_ModelEvaluatorBase_def.hpp.

template<class Scalar >
void Thyra::ModelEvaluatorBase::OutArgs< Scalar >::_set_Np_Ng ( int  Np,
int  Ng 
) [protected]

Definition at line 1245 of file Thyra_ModelEvaluatorBase_def.hpp.

template<class Scalar >
void Thyra::ModelEvaluatorBase::OutArgs< Scalar >::_setSupports ( EOutArgsMembers  arg,
bool  supports 
) [protected]

Definition at line 1271 of file Thyra_ModelEvaluatorBase_def.hpp.

template<class Scalar >
void Thyra::ModelEvaluatorBase::OutArgs< Scalar >::_setSupports ( EOutArgsDfDp  arg,
int  l,
const DerivativeSupport supports_in 
) [protected]

Definition at line 1284 of file Thyra_ModelEvaluatorBase_def.hpp.

template<class Scalar >
void Thyra::ModelEvaluatorBase::OutArgs< Scalar >::_setSupports ( EOutArgsDgDx_dot  arg,
int  j,
const DerivativeSupport supports_in 
) [protected]

Definition at line 1295 of file Thyra_ModelEvaluatorBase_def.hpp.

template<class Scalar >
void Thyra::ModelEvaluatorBase::OutArgs< Scalar >::_setSupports ( EOutArgsDgDx  arg,
int  j,
const DerivativeSupport supports_in 
) [protected]

Definition at line 1305 of file Thyra_ModelEvaluatorBase_def.hpp.

template<class Scalar >
void Thyra::ModelEvaluatorBase::OutArgs< Scalar >::_setSupports ( EOutArgsDgDp  arg,
int  j,
int  l,
const DerivativeSupport supports_in 
) [protected]

Definition at line 1315 of file Thyra_ModelEvaluatorBase_def.hpp.

template<class Scalar >
void Thyra::ModelEvaluatorBase::OutArgs< Scalar >::_set_W_properties ( const DerivativeProperties properties) [protected]

Definition at line 1326 of file Thyra_ModelEvaluatorBase_def.hpp.

template<class Scalar >
void Thyra::ModelEvaluatorBase::OutArgs< Scalar >::_set_DfDp_properties ( int  l,
const DerivativeProperties properties 
) [protected]

Definition at line 1335 of file Thyra_ModelEvaluatorBase_def.hpp.

template<class Scalar >
void Thyra::ModelEvaluatorBase::OutArgs< Scalar >::_set_DgDx_dot_properties ( int  j,
const DerivativeProperties properties 
) [protected]

Definition at line 1345 of file Thyra_ModelEvaluatorBase_def.hpp.

template<class Scalar >
void Thyra::ModelEvaluatorBase::OutArgs< Scalar >::_set_DgDx_properties ( int  j,
const DerivativeProperties properties 
) [protected]

Definition at line 1355 of file Thyra_ModelEvaluatorBase_def.hpp.

template<class Scalar >
void Thyra::ModelEvaluatorBase::OutArgs< Scalar >::_set_DgDp_properties ( int  j,
int  l,
const DerivativeProperties properties 
) [protected]

Definition at line 1365 of file Thyra_ModelEvaluatorBase_def.hpp.

template<class Scalar>
void Thyra::ModelEvaluatorBase::OutArgs< Scalar >::_setSupports ( const OutArgs< Scalar > &  inputOutArgs) [protected]

Definition at line 1375 of file Thyra_ModelEvaluatorBase_def.hpp.

template<class Scalar >
void Thyra::ModelEvaluatorBase::OutArgs< Scalar >::_setUnsupportsAndRelated ( EInArgsMembers  arg) [protected]

Definition at line 1413 of file Thyra_ModelEvaluatorBase_def.hpp.

template<class Scalar >
void Thyra::ModelEvaluatorBase::OutArgs< Scalar >::_setUnsupportsAndRelated ( EOutArgsMembers  arg) [protected]

Definition at line 1437 of file Thyra_ModelEvaluatorBase_def.hpp.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines