10#ifndef THYRA_DEFAULT_FINITE_DIFFERENCE_MODEL_EVALUATOR_DEF_HPP 
   11#define THYRA_DEFAULT_FINITE_DIFFERENCE_MODEL_EVALUATOR_DEF_HPP 
   13#include "Thyra_DefaultFiniteDifferenceModelEvaluator_decl.hpp" 
   14#include "Thyra_ScaledLinearOpBase.hpp" 
   15#include "Thyra_VectorStdOps.hpp" 
   36    thyraModel = this->getUnderlyingModel();
 
   37  std::ostringstream oss;
 
   38  oss << 
"Thyra::ScaledModelEvaluator{";
 
   41    oss << 
"\'"<<thyraModel->description()<<
"\'";
 
 
   53  f_scaling_ = f_scaling;
 
 
   67  using Teuchos::rcp_const_cast;
 
   68  using Teuchos::rcp_dynamic_cast;
 
   71  THYRA_MODEL_EVALUATOR_DECORATOR_EVAL_MODEL_BEGIN(
 
   72    "Thyra::ScaledModelEvaluator",inArgs,outArgs
 
   75  thyraModel->evalModel(inArgs, outArgs);
 
   77  if (nonnull(f_scaling_)) {
 
   81      ele_wise_scale(*f_scaling_, f.
ptr());
 
   84    const RCP<LinearOpBase<Scalar> > W_op = outArgs.
get_W_op();
 
   86      const RCP<ScaledLinearOpBase<Scalar> > W_scaled =
 
   87        rcp_dynamic_cast<ScaledLinearOpBase<Scalar> >(W_op, 
true);
 
   88      W_scaled->scaleLeft(*f_scaling_);
 
   93  THYRA_MODEL_EVALUATOR_DECORATOR_EVAL_MODEL_END();
 
Concrete aggregate class for all input arguments computable by a ModelEvaluator subclass object.
 
Concrete aggregate class for all output arguments computable by a ModelEvaluator subclass object.
 
Evaluation< VectorBase< Scalar > > get_f() const
Precondition: supports(OUT_ARG_f)==true.
 
RCP< LinearOpBase< Scalar > > get_W_op() const
Precondition: supports(OUT_ARG_W_op)==true.
 
This class decorates a ModelEvaluator and returns scaled residual and Jacobian values.
 
std::string description() const
 
void set_f_scaling(const RCP< const Thyra::VectorBase< Scalar > > &f_scaling)
 
ScaledModelEvaluator()
Constructs to uninitialized.
 
Abstract interface for finite-dimensional dense vectors.
 
TEUCHOS_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)