43 #ifndef THYRA_MODEL_EVALUATOR_HPP 
   44 #define THYRA_MODEL_EVALUATOR_HPP 
   47 #include "Thyra_ModelEvaluatorBase.hpp" 
   48 #include "Thyra_LinearOpWithSolveFactoryBase.hpp" 
  773 template<
class Scalar>
 
  787   virtual int Np() 
const = 0;
 
  794   virtual int Ng() 
const = 0;
 
 1269     const bool wasSolved
 
 1285 #endif // THYRA_MODEL_EVALUATOR_HPP 
virtual RCP< LinearOpBase< Scalar > > create_DfDp_op(int l) const =0
If supported, create a linear operator derivative object for D(f)/D(p(l)). 
 
virtual ModelEvaluatorBase::OutArgs< Scalar > createOutArgs() const =0
Create an empty output functions/derivatives object that can be set up and passed to evalModel()...
 
virtual RCP< const VectorSpaceBase< Scalar > > get_x_space() const =0
Return the vector space for the state variables x <: RE^n_x. 
 
Pure abstract base interface for evaluating a stateless "model" that can be mapped into a number of d...
 
virtual ModelEvaluatorBase::InArgs< Scalar > getLowerBounds() const =0
Return the set of lower bounds for the input arguments. 
 
virtual RCP< LinearOpBase< Scalar > > create_hess_g_pp(int j, int l1, int l2) const =0
If supported, create a linear operator derivative object for . 
 
virtual Teuchos::ArrayView< const std::string > get_g_names(int j) const =0
Get the names of the response functions associated with subvector j if available. ...
 
virtual RCP< LinearOpWithSolveBase< Scalar > > create_W() const =0
If supported, create a LinearOpWithSolveBase object for W to be evaluated. 
 
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. 
 
virtual RCP< LinearOpBase< Scalar > > create_hess_g_xx(int j) const =0
If supported, create a linear operator derivative object for . 
 
Concrete aggregate class for all output arguments computable by a ModelEvaluator subclass object...
 
virtual RCP< LinearOpBase< Scalar > > create_DgDx_op(int j) const =0
If supported, create a linear operator derivative object for D(g(j))/D(x). 
 
virtual RCP< const Teuchos::Array< std::string > > get_p_names(int l) const =0
Get the names of the parameters associated with parameter subvector l if available. 
 
virtual RCP< 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)). 
 
virtual RCP< PreconditionerBase< Scalar > > create_W_prec() const =0
If supported, create a PreconditionerBase object for W_prec to be evaluated. 
 
virtual void evalModel(const ModelEvaluatorBase::InArgs< Scalar > &inArgs, const ModelEvaluatorBase::OutArgs< Scalar > &outArgs) const =0
Compute all of the requested functions/derivatives at the given point. 
 
virtual ModelEvaluatorBase::InArgs< Scalar > createInArgs() const =0
Create an empty input arguments object that can be set up and passed to evalModel(). 
 
virtual RCP< const LinearOpWithSolveFactoryBase< Scalar > > get_W_factory() const =0
If supported, return a LinearOpWithSolveFactoryBase object that can be used to initialize a LOWSB obj...
 
virtual int Ng() const =0
Return the number of sets of auxiliary response functions. 
 
virtual RCP< LinearOpBase< Scalar > > create_hess_f_xx() const =0
If supported, create a linear operator derivative object for . 
 
virtual RCP< LinearOpBase< Scalar > > create_W_op() const =0
If supported, create a LinearOpBase object for W to be evaluated. 
 
virtual RCP< const VectorSpaceBase< Scalar > > get_f_multiplier_space() const =0
Return the dual vector space for the state function f(...) <: RE^n_x. 
 
virtual RCP< const VectorSpaceBase< Scalar > > get_p_space(int l) const =0
Return the vector space for the auxiliary parameters p(l) <: RE^n_p_l. 
 
virtual RCP< LinearOpBase< Scalar > > create_DgDx_dot_op(int j) const =0
If supported, create a linear operator derivative object for D(g(j))/D(x_dot). 
 
virtual RCP< const VectorSpaceBase< Scalar > > get_g_multiplier_space(int j) const =0
Return the dual vector space for the auxiliary response functions g(j) <: RE^n_g_j. 
 
Base subclass for ModelEvaluator that defines some basic types. 
 
virtual RCP< const VectorSpaceBase< Scalar > > get_f_space() const =0
Return the vector space for the state function f(...) <: RE^n_x. 
 
virtual RCP< LinearOpBase< Scalar > > create_hess_f_xp(int l) const =0
If supported, create a linear operator derivative object for . 
 
virtual RCP< LinearOpBase< Scalar > > create_hess_g_xp(int j, int l) const =0
If supported, create a linear operator derivative object for . 
 
virtual RCP< const VectorSpaceBase< Scalar > > get_g_space(int j) const =0
Return the vector space for the auxiliary response functions g(j) <: RE^n_g_j. 
 
virtual ModelEvaluatorBase::InArgs< Scalar > getUpperBounds() const =0
Return the set of upper bounds for the input arguments. 
 
virtual ModelEvaluatorBase::InArgs< Scalar > getNominalValues() const =0
Return the set of nominal values or initial guesses for the supported the input arguments. 
 
virtual RCP< LinearOpBase< Scalar > > create_hess_f_pp(int l1, int l2) const =0
If supported, create a linear operator derivative object for . 
 
virtual int Np() const =0
Return the number of sets of auxiliary parameters. 
 
Teuchos::ScalarTraits< Scalar >::magnitudeType ScalarMag
 
Concrete aggregate class for all input arguments computable by a ModelEvaluator subclass object...