42 #ifndef THYRA_RESPONSE_ONLY_MODEL_EVALUATOR_BASE_HPP 43 #define THYRA_RESPONSE_ONLY_MODEL_EVALUATOR_BASE_HPP 46 #include "Thyra_ModelEvaluatorDefaultBase.hpp" 47 #include "Teuchos_Assert.hpp" 63 template<
class Scalar>
71 RCP<const VectorSpaceBase<Scalar> >
get_x_space()
const;
73 RCP<const Teuchos::Array<std::string> >
get_p_names(
int l)
const;
75 Teuchos::ArrayView<const std::string>
get_g_names(
int j)
const;
77 RCP<const VectorSpaceBase<Scalar> >
get_f_space()
const;
85 RCP<LinearOpWithSolveBase<Scalar> >
create_W()
const;
91 RCP<const LinearOpWithSolveFactoryBase<Scalar> >
get_W_factory()
const;
110 template<
class Scalar>
111 RCP<const VectorSpaceBase<Scalar> >
114 return Teuchos::null;
118 template<
class Scalar>
119 RCP<const Teuchos::Array<std::string> >
123 TEUCHOS_ASSERT_IN_RANGE_UPPER_EXCLUSIVE( l, 0, this->Np() );
125 return Teuchos::null;
129 template<
class Scalar>
130 Teuchos::ArrayView<const std::string>
134 TEUCHOS_ASSERT_IN_RANGE_UPPER_EXCLUSIVE( j, 0, this->Ng() );
136 return Teuchos::ArrayView<const std::string>(Teuchos::null);
139 template<
class Scalar>
140 RCP<const VectorSpaceBase<Scalar> >
143 return Teuchos::null;
147 template<
class Scalar>
150 {
return this->createInArgs(); }
153 template<
class Scalar>
156 {
return this->createInArgs(); }
159 template<
class Scalar>
162 {
return this->createInArgs(); }
165 template<
class Scalar>
166 RCP<LinearOpWithSolveBase<Scalar> >
169 TEUCHOS_TEST_FOR_EXCEPTION(
170 true, std::logic_error
171 ,
"Error, if \'W\' is supported by the ModelEvaluator subclass then" 172 " this function create_W() may be overridden by the subclass to return" 173 " a non-null object!" 175 return Teuchos::null;
179 template<
class Scalar>
180 RCP<LinearOpBase<Scalar> >
183 TEUCHOS_TEST_FOR_EXCEPTION(
184 true, std::logic_error,
185 "Error, if \'W\' is supported by the ModelEvaluator subclass then" 186 " this function create_W_op() may be overridden by the subclass " 187 <<this->description()<<
" to return a non-null object!" 189 return Teuchos::null;
193 template<
class Scalar>
194 RCP<PreconditionerBase<Scalar> >
197 TEUCHOS_TEST_FOR_EXCEPTION(
198 true, std::logic_error,
199 "Error, if \'W\' is supported by the ModelEvaluator subclass then" 200 " this function create_W_prec() may be overridden by the subclass " 201 <<this->description()<<
" to return a non-null object!" 203 return Teuchos::null;
207 template<
class Scalar>
208 RCP<const LinearOpWithSolveFactoryBase<Scalar> >
211 TEUCHOS_TEST_FOR_EXCEPTION(
212 true, std::logic_error
213 ,
"Error, if \'W\' is supported by the ModelEvaluator subclass then" 214 " this function get_W_factory() may be overridden by the subclass " 215 <<this->description()<<
" to return a non-null object!" 217 return Teuchos::null;
221 template<
class Scalar>
234 #endif // THYRA_RESPONSE_ONLY_MODEL_EVALUATOR_BASE_HPP RCP< PreconditionerBase< Scalar > > create_W_prec() const
Thorws exception.
Default base class for concrete model evaluators.
RCP< const VectorSpaceBase< Scalar > > get_f_space() const
Throws exception.
void reportFinalPoint(const ModelEvaluatorBase::InArgs< Scalar > &finalPoint, const bool wasSolved)
Does nothing and ignores input.
Teuchos::ArrayView< const std::string > get_g_names(int j) const
Returns null.
RCP< const VectorSpaceBase< Scalar > > get_x_space() const
Throws exception.
ModelEvaluatorBase::InArgs< Scalar > getLowerBounds() const
Returns this->createInArgs().
RCP< LinearOpBase< Scalar > > create_W_op() const
Thorws exception.
This base class defines default function implementations appropritate for a response-only model evalu...
ModelEvaluatorBase::InArgs< Scalar > getNominalValues() const
Returns this->createInArgs().
RCP< const Teuchos::Array< std::string > > get_p_names(int l) const
Returns null.
ModelEvaluatorBase::InArgs< Scalar > getUpperBounds() const
Returns this->createInArgs().
RCP< LinearOpWithSolveBase< Scalar > > create_W() const
Thorws exception.
RCP< const LinearOpWithSolveFactoryBase< Scalar > > get_W_factory() const
Thorws exception.
Concrete aggregate class for all output arguments computable by a ModelEvaluator subclass object...