Thyra::ModelEvaluator< Scalar > Class Template Reference

#include <Thyra_ModelEvaluator.hpp>

Inheritance diagram for Thyra::ModelEvaluator< Scalar >:

[legend]
List of all members.

Basic inforamtion

virtual int Np () const =0
 Return the number of sets of auxiliary parameters.
virtual int Ng () const =0
 Return the number of sets of auxiliary response functions.

Vector spaces

virtual Teuchos::RefCountPtr<
const VectorSpaceBase< Scalar > > 
get_x_space () const =0
 Return the vector space for the state variables x .
virtual Teuchos::RefCountPtr<
const VectorSpaceBase< Scalar > > 
get_f_space () const =0
 Return the vector space for the state function f(...).
virtual Teuchos::RefCountPtr<
const VectorSpaceBase< Scalar > > 
get_p_space (int l) const =0
 Return the vector space for the auxiliary parameters p(l).
virtual Teuchos::RefCountPtr<
const VectorSpaceBase< Scalar > > 
get_g_space (int j) const =0
 Return the vector space for the auxiliary response functions g(j).

Initial guess and upper and lower bounds

virtual ModelEvaluatorBase::InArgs<
Scalar > 
getNominalValues () const =0
 Return the set of nominal values or initial guesses for the input arguments.
virtual ModelEvaluatorBase::InArgs<
Scalar > 
getLowerBounds () const =0
 Return the set of lower bounds for the input arguments.
virtual ModelEvaluatorBase::InArgs<
Scalar > 
getUpperBounds () const =0
 Return the set of upper bounds for the input arguments.

Factory functions for creating derivative objects

virtual Teuchos::RefCountPtr<
LinearOpWithSolveBase< Scalar > > 
create_W () const =0
 If supported, create a LinearOpWithSolveBase object for W to be evaluated.
virtual Teuchos::RefCountPtr<
LinearOpBase< Scalar > > 
create_W_op () const =0
 If supported, create a LinearOpBase object for W to be evaluated.
virtual Teuchos::RefCountPtr<
LinearOpBase< Scalar > > 
create_DfDp_op (int l) const =0
 If supported, create a linear operator derivative object for D(f)/D(p(l)).
virtual Teuchos::RefCountPtr<
LinearOpBase< Scalar > > 
create_DgDx_op (int j) const =0
 If supported, create a linear operator derivative object for D(g(j))/D(x).
virtual Teuchos::RefCountPtr<
LinearOpBase< Scalar > > 
create_DgDp_op (int j, int l) const =0
 If supported, create a linear operator derivative object for D(g(j))/D(p(l)).

Computational functions

virtual ModelEvaluatorBase::InArgs<
Scalar > 
createInArgs () const =0
 
virtual ModelEvaluatorBase::OutArgs<
Scalar > 
createOutArgs () const =0
 
virtual void evalModel (const ModelEvaluatorBase::InArgs< Scalar > &inArgs, const ModelEvaluatorBase::OutArgs< Scalar > &outArgs) const =0
 

Reporting functions

virtual void reportFinalPoint (const ModelEvaluatorBase::InArgs< Scalar > &finalPoint, const bool wasSolved)=0
 Report the final point and whether the problem was considered solved or not.

Public Types

typedef Teuchos::ScalarTraits<
Scalar >::magnitudeType 
ScalarMag
 

Related Functions

(Note that these are not member functions.)

ModelEvaluatorBase::DerivativeMultiVector<
Scalar > 
create_DfDp_mv (const ModelEvaluator< Scalar > &model, int l, ModelEvaluatorBase::EDerivativeMultiVectorOrientation orientation)
ModelEvaluatorBase::DerivativeMultiVector<
Scalar > 
create_DgDx_mv (const ModelEvaluator< Scalar > &model, int j, ModelEvaluatorBase::EDerivativeMultiVectorOrientation orientation)
ModelEvaluatorBase::DerivativeMultiVector<
Scalar > 
create_DgDp_mv (const ModelEvaluator< Scalar > &model, int j, int l, ModelEvaluatorBase::EDerivativeMultiVectorOrientation orientation)
ModelEvaluatorBase::DerivativeMultiVector<
Scalar > 
get_dmv (const ModelEvaluatorBase::Derivative< Scalar > &deriv, const std::string &derivName)
Teuchos::RefCountPtr< MultiVectorBase<
Scalar > > 
get_mv (const ModelEvaluatorBase::Derivative< Scalar > &deriv, const std::string &derivName, ModelEvaluatorBase::EDerivativeMultiVectorOrientation orientation)

template<class Scalar>
class Thyra::ModelEvaluator< Scalar >


Member Typedef Documentation

template<class Scalar>
typedef Teuchos::ScalarTraits<Scalar>::magnitudeType Thyra::ModelEvaluator< Scalar >::ScalarMag
 

Reimplemented in Thyra::DefaultFinalPointCaptureModelEvaluator< Scalar >, and Thyra::DefaultNominalBoundsOverrideModelEvaluator< Scalar >.

Definition at line 300 of file Thyra_ModelEvaluator.hpp.


Member Function Documentation

template<class Scalar>
virtual int Thyra::ModelEvaluator< Scalar >::Np  )  const [pure virtual]
 

Return the number of sets of auxiliary parameters.

If this function returns 0, then there are no auxiliary parameters.

Implemented in Thyra::DefaultMultiPeriodModelEvaluator< Scalar >, Thyra::ModelEvaluatorDelegatorBase< Scalar >, and Thyra::StateFuncModelEvaluatorBase< Scalar >.

template<class Scalar>
virtual int Thyra::ModelEvaluator< Scalar >::Ng  )  const [pure virtual]
 

Return the number of sets of auxiliary response functions.

If this function returns 0, then there are no auxiliary response functions.

Implemented in Thyra::DefaultMultiPeriodModelEvaluator< Scalar >, Thyra::ModelEvaluatorDelegatorBase< Scalar >, and Thyra::StateFuncModelEvaluatorBase< Scalar >.

template<class Scalar>
virtual Teuchos::RefCountPtr<const VectorSpaceBase<Scalar> > Thyra::ModelEvaluator< Scalar >::get_x_space  )  const [pure virtual]
 

Return the vector space for the state variables x .

Implemented in Thyra::DefaultMultiPeriodModelEvaluator< Scalar >, Thyra::ModelEvaluatorDelegatorBase< Scalar >, and Thyra::DefaultStateEliminationModelEvaluator< Scalar >.

template<class Scalar>
virtual Teuchos::RefCountPtr<const VectorSpaceBase<Scalar> > Thyra::ModelEvaluator< Scalar >::get_f_space  )  const [pure virtual]
 

Return the vector space for the state function f(...).

Implemented in Thyra::DefaultMultiPeriodModelEvaluator< Scalar >, Thyra::ModelEvaluatorDelegatorBase< Scalar >, and Thyra::DefaultStateEliminationModelEvaluator< Scalar >.

template<class Scalar>
virtual Teuchos::RefCountPtr<const VectorSpaceBase<Scalar> > Thyra::ModelEvaluator< Scalar >::get_p_space int  l  )  const [pure virtual]
 

Return the vector space for the auxiliary parameters p(l).

Preconditions:

Postconditions:

  • return.get()!=NULL

Implemented in Thyra::DefaultMultiPeriodModelEvaluator< Scalar >, Thyra::ModelEvaluatorDelegatorBase< Scalar >, and Thyra::StateFuncModelEvaluatorBase< Scalar >.

template<class Scalar>
virtual Teuchos::RefCountPtr<const VectorSpaceBase<Scalar> > Thyra::ModelEvaluator< Scalar >::get_g_space int  j  )  const [pure virtual]
 

Return the vector space for the auxiliary response functions g(j).

Preconditions:

Postconditions:

  • return.get()!=NULL

Implemented in Thyra::DefaultMultiPeriodModelEvaluator< Scalar >, Thyra::ModelEvaluatorDelegatorBase< Scalar >, and Thyra::StateFuncModelEvaluatorBase< Scalar >.

template<class Scalar>
virtual ModelEvaluatorBase::InArgs<Scalar> Thyra::ModelEvaluator< Scalar >::getNominalValues  )  const [pure virtual]
 

Return the set of nominal values or initial guesses for the input arguments.

Implemented in Thyra::DefaultMultiPeriodModelEvaluator< Scalar >, Thyra::DefaultNominalBoundsOverrideModelEvaluator< Scalar >, Thyra::ModelEvaluatorDelegatorBase< Scalar >, Thyra::SingleResidSSDAEModelEvaluator< Scalar >, Thyra::StateFuncModelEvaluatorBase< Scalar >, and Thyra::DefaultStateEliminationModelEvaluator< Scalar >.

template<class Scalar>
virtual ModelEvaluatorBase::InArgs<Scalar> Thyra::ModelEvaluator< Scalar >::getLowerBounds  )  const [pure virtual]
 

Return the set of lower bounds for the input arguments.

Implemented in Thyra::DefaultMultiPeriodModelEvaluator< Scalar >, Thyra::DefaultNominalBoundsOverrideModelEvaluator< Scalar >, Thyra::ModelEvaluatorDelegatorBase< Scalar >, Thyra::StateFuncModelEvaluatorBase< Scalar >, and Thyra::DefaultStateEliminationModelEvaluator< Scalar >.

template<class Scalar>
virtual ModelEvaluatorBase::InArgs<Scalar> Thyra::ModelEvaluator< Scalar >::getUpperBounds  )  const [pure virtual]
 

Return the set of upper bounds for the input arguments.

Implemented in Thyra::DefaultMultiPeriodModelEvaluator< Scalar >, Thyra::DefaultNominalBoundsOverrideModelEvaluator< Scalar >, Thyra::ModelEvaluatorDelegatorBase< Scalar >, Thyra::StateFuncModelEvaluatorBase< Scalar >, and Thyra::DefaultStateEliminationModelEvaluator< Scalar >.

template<class Scalar>
virtual Teuchos::RefCountPtr<LinearOpWithSolveBase<Scalar> > Thyra::ModelEvaluator< Scalar >::create_W  )  const [pure virtual]
 

If supported, create a LinearOpWithSolveBase object for W to be evaluated.

Preconditions:

Implemented in Thyra::DefaultModelEvaluatorWithSolveFactory< Scalar >, Thyra::DefaultMultiPeriodModelEvaluator< Scalar >, Thyra::ModelEvaluatorDelegatorBase< Scalar >, Thyra::StateFuncModelEvaluatorBase< Scalar >, and Thyra::DefaultStateEliminationModelEvaluator< Scalar >.

template<class Scalar>
virtual Teuchos::RefCountPtr<LinearOpBase<Scalar> > Thyra::ModelEvaluator< Scalar >::create_W_op  )  const [pure virtual]
 

If supported, create a LinearOpBase object for W to be evaluated.

Preconditions:

Implemented in Thyra::DefaultMultiPeriodModelEvaluator< Scalar >, Thyra::ModelEvaluatorDelegatorBase< Scalar >, Thyra::StateFuncModelEvaluatorBase< Scalar >, and Thyra::DefaultStateEliminationModelEvaluator< Scalar >.

template<class Scalar>
virtual Teuchos::RefCountPtr<LinearOpBase<Scalar> > Thyra::ModelEvaluator< Scalar >::create_DfDp_op int  l  )  const [pure virtual]
 

If supported, create a linear operator derivative object for D(f)/D(p(l)).

Preconditions:

  • this->Np() > 0
  • 0 <= l < this->Np()
  • outArgs.supports_DfDp(l).supports(DERIV_LINEAR_OP)==true, where outArgs = this->createOutArgs()

Implemented in Thyra::DefaultMultiPeriodModelEvaluator< Scalar >, Thyra::ModelEvaluatorDelegatorBase< Scalar >, Thyra::StateFuncModelEvaluatorBase< Scalar >, and Thyra::DefaultStateEliminationModelEvaluator< Scalar >.

template<class Scalar>
virtual Teuchos::RefCountPtr<LinearOpBase<Scalar> > Thyra::ModelEvaluator< Scalar >::create_DgDx_op int  j  )  const [pure virtual]
 

If supported, create a linear operator derivative object for D(g(j))/D(x).

Preconditions:

  • this->Ng() > 0
  • 0 <= j < this->Ng()
  • outArgs.supports_DgDx(j).supports(DERIV_LINEAR_OP)==true, where outArgs = this->createOutArgs()

Implemented in Thyra::DefaultMultiPeriodModelEvaluator< Scalar >, Thyra::ModelEvaluatorDelegatorBase< Scalar >, Thyra::StateFuncModelEvaluatorBase< Scalar >, and Thyra::DefaultStateEliminationModelEvaluator< Scalar >.

template<class Scalar>
virtual Teuchos::RefCountPtr<LinearOpBase<Scalar> > Thyra::ModelEvaluator< Scalar >::create_DgDp_op int  j,
int  l
const [pure virtual]
 

If supported, create a linear operator derivative object for D(g(j))/D(p(l)).

Preconditions:

  • this->Ng() > 0
  • this->Np() > 0
  • 0 <= j < this->Ng()
  • 0 <= l < this->Np()
  • outArgs.supports_DgDp(j,l).supports(DERIV_LINEAR_OP)==true, where outArgs = this->createOutArgs()

Implemented in Thyra::DefaultMultiPeriodModelEvaluator< Scalar >, Thyra::ModelEvaluatorDelegatorBase< Scalar >, and Thyra::StateFuncModelEvaluatorBase< Scalar >.

template<class Scalar>
virtual ModelEvaluatorBase::InArgs<Scalar> Thyra::ModelEvaluator< Scalar >::createInArgs  )  const [pure virtual]
 

Implemented in Thyra::DefaultMultiPeriodModelEvaluator< Scalar >, Thyra::ModelEvaluatorDelegatorBase< Scalar >, Thyra::SingleResidSSDAEModelEvaluator< Scalar >, and Thyra::DefaultStateEliminationModelEvaluator< Scalar >.

template<class Scalar>
virtual ModelEvaluatorBase::OutArgs<Scalar> Thyra::ModelEvaluator< Scalar >::createOutArgs  )  const [pure virtual]
 

Implemented in Thyra::DefaultFiniteDifferenceModelEvaluator< Scalar >, Thyra::DefaultModelEvaluatorWithSolveFactory< Scalar >, Thyra::DefaultMultiPeriodModelEvaluator< Scalar >, Thyra::ModelEvaluatorDelegatorBase< Scalar >, Thyra::SingleResidSSDAEModelEvaluator< Scalar >, and Thyra::DefaultStateEliminationModelEvaluator< Scalar >.

template<class Scalar>
virtual void Thyra::ModelEvaluator< Scalar >::evalModel const ModelEvaluatorBase::InArgs< Scalar > &  inArgs,
const ModelEvaluatorBase::OutArgs< Scalar > &  outArgs
const [pure virtual]
 

Implemented in Thyra::DefaultEvaluationLoggerModelEvaluator< Scalar >, Thyra::DefaultFinalPointCaptureModelEvaluator< Scalar >, Thyra::DefaultFiniteDifferenceModelEvaluator< Scalar >, Thyra::DefaultModelEvaluatorWithSolveFactory< Scalar >, Thyra::DefaultMultiPeriodModelEvaluator< Scalar >, Thyra::DefaultNominalBoundsOverrideModelEvaluator< Scalar >, Thyra::SingleResidSSDAEModelEvaluator< Scalar >, and Thyra::DefaultStateEliminationModelEvaluator< Scalar >.

template<class Scalar>
virtual void Thyra::ModelEvaluator< Scalar >::reportFinalPoint const ModelEvaluatorBase::InArgs< Scalar > &  finalPoint,
const bool  wasSolved
[pure virtual]
 

Report the final point and whether the problem was considered solved or not.

ToDo: Add a PL to InArgs to allow extra data like Lagrange multipliers to be passed back as well.

Implemented in Thyra::DefaultFinalPointCaptureModelEvaluator< Scalar >, Thyra::DefaultMultiPeriodModelEvaluator< Scalar >, Thyra::ModelEvaluatorDelegatorBase< Scalar >, and Thyra::StateFuncModelEvaluatorBase< Scalar >.


Friends And Related Function Documentation

template<class Scalar>
ModelEvaluatorBase::DerivativeMultiVector< Scalar > create_DfDp_mv const ModelEvaluator< Scalar > &  model,
int  l,
ModelEvaluatorBase::EDerivativeMultiVectorOrientation  orientation
[related]
 

Definition at line 39 of file Thyra_ModelEvaluatorHelpers.hpp.

template<class Scalar>
ModelEvaluatorBase::DerivativeMultiVector< Scalar > create_DgDx_mv const ModelEvaluator< Scalar > &  model,
int  j,
ModelEvaluatorBase::EDerivativeMultiVectorOrientation  orientation
[related]
 

Definition at line 48 of file Thyra_ModelEvaluatorHelpers.hpp.

template<class Scalar>
ModelEvaluatorBase::DerivativeMultiVector< Scalar > create_DgDp_mv const ModelEvaluator< Scalar > &  model,
int  j,
int  l,
ModelEvaluatorBase::EDerivativeMultiVectorOrientation  orientation
[related]
 

Definition at line 65 of file Thyra_ModelEvaluatorHelpers.hpp.

template<class Scalar>
ModelEvaluatorBase::DerivativeMultiVector< Scalar > get_dmv const ModelEvaluatorBase::Derivative< Scalar > &  deriv,
const std::string &  derivName
[related]
 

Definition at line 82 of file Thyra_ModelEvaluatorHelpers.hpp.

template<class Scalar>
Teuchos::RefCountPtr< MultiVectorBase< Scalar > > get_mv const ModelEvaluatorBase::Derivative< Scalar > &  deriv,
const std::string &  derivName,
ModelEvaluatorBase::EDerivativeMultiVectorOrientation  orientation
[related]
 

Definition at line 97 of file Thyra_ModelEvaluatorHelpers.hpp.


The documentation for this class was generated from the following files:
Generated on Thu Sep 18 12:33:10 2008 for Thyra Package Browser (Single Doxygen Collection) by doxygen 1.3.9.1