42 #ifndef THYRA_STATE_FUNC_MODEL_EVALUATOR_BASE_HPP 43 #define THYRA_STATE_FUNC_MODEL_EVALUATOR_BASE_HPP 45 #include "Thyra_ModelEvaluatorDefaultBase.hpp" 61 template<
class Scalar>
69 RCP<const VectorSpaceBase<Scalar> >
get_p_space(
int l)
const;
71 RCP<const Teuchos::Array<std::string> >
get_p_names(
int l)
const;
73 RCP<const VectorSpaceBase<Scalar> >
get_g_space(
int j)
const;
75 Teuchos::ArrayView<const std::string>
get_g_names(
int j)
const;
87 RCP<const LinearOpWithSolveFactoryBase<Scalar> >
get_W_factory()
const;
106 template<
class Scalar>
107 RCP<const VectorSpaceBase<Scalar> >
110 TEUCHOS_TEST_FOR_EXCEPTION(
111 true,std::logic_error
112 ,
"ModelEvaluator<"<<Teuchos::ScalarTraits<Scalar>::name()<<
">::get_p_space(l): " 113 "Error, this function was not overridden in *this = \'"<<this->description()<<
"\'!" 115 return Teuchos::null;
119 template<
class Scalar>
120 RCP<const Teuchos::Array<std::string> >
123 TEUCHOS_TEST_FOR_EXCEPTION(
124 true,std::logic_error
125 ,
"ModelEvaluator<"<<Teuchos::ScalarTraits<Scalar>::name()<<
">::get_p_names(l): " 126 "Error, this function was not overridden in *this = \'"<<this->description()<<
"\'!" 128 return Teuchos::null;
132 template<
class Scalar>
133 RCP<const VectorSpaceBase<Scalar> >
136 TEUCHOS_TEST_FOR_EXCEPTION(
137 true,std::logic_error
138 ,
"ModelEvaluator<"<<Teuchos::ScalarTraits<Scalar>::name()<<
">::get_g_space(j): " 139 " Error, this function was not overridden in \'" 140 <<this->description()<<
"\'!" 142 return Teuchos::null;
146 template<
class Scalar>
147 Teuchos::ArrayView<const std::string>
150 TEUCHOS_TEST_FOR_EXCEPTION(
151 true,std::logic_error
152 ,
"ModelEvaluator<"<<Teuchos::ScalarTraits<Scalar>::name()<<
">::get_g_names(j): " 153 "Error, this function was not overridden in *this = \'"<<this->description()<<
"\'!" 155 return Teuchos::ArrayView<const std::string>(Teuchos::null);
159 template<
class Scalar>
162 {
return this->createInArgs(); }
165 template<
class Scalar>
168 {
return this->createInArgs(); }
171 template<
class Scalar>
174 {
return this->createInArgs(); }
177 template<
class Scalar>
178 RCP<LinearOpBase<Scalar> >
181 TEUCHOS_TEST_FOR_EXCEPTION(
182 true, std::logic_error
183 ,
"Error, if \'W_op\' is supported by the ModelEvaluator subclass then" 184 " this function create_W_op() must be overridden by the subclass " 185 <<this->description()<<
" to return a non-null object!" 187 return Teuchos::null;
191 template<
class Scalar>
192 RCP<PreconditionerBase<Scalar> >
195 return Teuchos::null;
199 template<
class Scalar>
200 RCP<const LinearOpWithSolveFactoryBase<Scalar> >
203 return Teuchos::null;
207 template<
class Scalar>
220 #endif // THYRA_STATE_FUNC_MODEL_EVALUATOR_BASE_HPP RCP< const Teuchos::Array< std::string > > get_p_names(int l) const
Throws exception.
Default base class for concrete model evaluators.
Teuchos::ArrayView< const std::string > get_g_names(int j) const
Throws exception.
ModelEvaluatorBase::InArgs< Scalar > getUpperBounds() const
Returns this->createInArgs().
RCP< const LinearOpWithSolveFactoryBase< Scalar > > get_W_factory() const
Returns null .
ModelEvaluatorBase::InArgs< Scalar > getNominalValues() const
Returns this->createInArgs().
RCP< const VectorSpaceBase< Scalar > > get_p_space(int l) const
Throws exception.
RCP< PreconditionerBase< Scalar > > create_W_prec() const
Returns null.
This base class defines default function implementations appropritate for a set of nonlinear state fu...
RCP< const VectorSpaceBase< Scalar > > get_g_space(int j) const
Throws exception.
RCP< LinearOpBase< Scalar > > create_W_op() const
Throws exception.
ModelEvaluatorBase::InArgs< Scalar > getLowerBounds() const
Returns this->createInArgs().
void reportFinalPoint(const ModelEvaluatorBase::InArgs< Scalar > &finalPoint, const bool wasSolved)
Ignores input and does nothing.
Concrete aggregate class for all output arguments computable by a ModelEvaluator subclass object...