10#ifndef THYRA_DEFAULT_NOMINAL_BOUNDS_OVERRIDE_MODEL_EVALUATOR_HPP 
   11#define THYRA_DEFAULT_NOMINAL_BOUNDS_OVERRIDE_MODEL_EVALUATOR_HPP 
   14#include "Thyra_ModelEvaluatorDelegatorBase.hpp" 
   15#include "Thyra_LinearOpWithSolveFactoryBase.hpp" 
   16#include "Teuchos_Time.hpp" 
  190template<
class Scalar>
 
  195template<
class Scalar>
 
  203  initialize(thyraModel,nominalValues,lowerBounds,upperBounds);
 
 
  207template<
class Scalar>
 
  216  nominalValues_ = nominalValues;
 
  217  lowerBounds_ = lowerBounds;
 
  218  upperBounds_ = upperBounds;
 
 
  222template<
class Scalar>
 
  227  nominalValues_ = nominalValues;
 
 
  231template<
class Scalar>
 
  236  lowerBounds_ = lowerBounds;
 
 
  240template<
class Scalar>
 
  245  upperBounds_ = upperBounds;
 
 
  252template<
class Scalar>
 
  256    thyraModel = this->getUnderlyingModel();
 
  257  std::ostringstream oss;
 
  258  oss << 
"Thyra::DefaultNominalBoundsOverrideModelEvaluator{";
 
  259  oss << 
"thyraModel=";
 
  261    oss << 
"\'"<<thyraModel->description()<<
"\'";
 
 
  272template<
class Scalar>
 
  276  if(nominalValues_.get())
 
  277    return *nominalValues_;
 
  278  return this->getUnderlyingModel()->getNominalValues();
 
 
  282template<
class Scalar>
 
  286  if(lowerBounds_.get())
 
  287    return *lowerBounds_;
 
  288  return this->getUnderlyingModel()->getLowerBounds();
 
 
  292template<
class Scalar>
 
  296  if(upperBounds_.get())
 
  297    return *upperBounds_;
 
  298  return this->getUnderlyingModel()->getUpperBounds();
 
 
  305template<
class Scalar>
 
  313  using Teuchos::rcp_const_cast;
 
  314  using Teuchos::rcp_dynamic_cast;
 
  318  THYRA_MODEL_EVALUATOR_DECORATOR_EVAL_MODEL_BEGIN(
 
  319    "Thyra::DefaultNominalBoundsOverrideModelEvaluator",inArgs,outArgs
 
  324    wrappedInArgs = ( !is_null(nominalValues_) ? *nominalValues_ : this->createInArgs() );
 
  328      << 
"\nwrappedInArgs after assigning to nominalValues =\n" << Teuchos::describe(wrappedInArgs,verbLevel);
 
  331  wrappedInArgs.setArgs(inArgs);
 
  350      << 
"\nwrappedInArgs after setting input values =\n" << Teuchos::describe(wrappedInArgs,verbLevel);
 
  352  thyraModel->evalModel(wrappedInArgs,outArgs);
 
  354  THYRA_MODEL_EVALUATOR_DECORATOR_EVAL_MODEL_END();
 
This class wraps any ModelEvaluator object and allows the client to overide the state contained in th...
 
ModelEvaluatorBase::InArgs< Scalar > getLowerBounds() const
 
std::string description() const
 
void initialize(const RCP< ModelEvaluator< Scalar > > &thyraModel, const RCP< const ModelEvaluatorBase::InArgs< Scalar > > &nominalValues, const RCP< const ModelEvaluatorBase::InArgs< Scalar > > &lowerBounds=Teuchos::null, const RCP< const ModelEvaluatorBase::InArgs< Scalar > > &upperBounds=Teuchos::null)
Initalize.
 
ModelEvaluatorBase::InArgs< Scalar > getNominalValues() const
 
DefaultNominalBoundsOverrideModelEvaluator()
 
void setLowerBounds(const RCP< const ModelEvaluatorBase::InArgs< Scalar > > &lowerBounds)
Set only lower bounds.
 
void setUpperBounds(const RCP< const ModelEvaluatorBase::InArgs< Scalar > > &upperBounds)
Set only upper bounds.
 
ModelEvaluatorBase::InArgs< Scalar > getUpperBounds() const
 
void setNominalValues(const RCP< const ModelEvaluatorBase::InArgs< Scalar > > &nominalValues)
Set only nominal values.
 
Teuchos::ScalarTraits< Scalar >::magnitudeType ScalarMag
 
Concrete aggregate class for all input arguments computable by a ModelEvaluator subclass object.
 
RCP< const VectorBase< Scalar > > get_x_dot() const
Precondition: supports(IN_ARG_x_dot)==true.
 
RCP< const VectorBase< Scalar > > get_x_dot_dot() const
Precondition: supports(IN_ARG_x_dot_dot)==true.
 
Concrete aggregate class for all output arguments computable by a ModelEvaluator subclass object.
 
Base subclass for ModelEvaluator that defines some basic types.
 
This is a base class that delegetes almost all function to a wrapped model evaluator object.
 
void initialize(const RCP< ModelEvaluator< Scalar > > &model)
Initialize given a non-const model evaluator.
 
Pure abstract base interface for evaluating a stateless "model" that can be mapped into a number of d...
 
bool is_null(const std::shared_ptr< T > &p)
 
T_To & dyn_cast(T_From &from)
 
TEUCHOS_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)