67dummyTestModelEvaluator(
71 const bool supports_x_dot,
72 const bool supports_x_dot_dot,
73 const bool supports_extended_inargs,
74 const bool supports_extended_outargs,
75 const bool supports_derivatives
90 const bool supports_x_dot,
91 const bool supports_x_dot_dot,
92 const bool supports_extended_inargs,
93 const bool supports_extended_outargs,
94 const bool supports_derivatives
101 x_space_ = defaultSpmdVectorSpace<Scalar>(x_size);
103 p_space_.resize(p_sizes.
size());
105 p_space_[l] = defaultSpmdVectorSpace<Scalar>(p_sizes[l]);
110 g_space_.resize(g_sizes.
size());
112 g_space_[j] = defaultSpmdVectorSpace<Scalar>(g_sizes[j]);
115 W_factory_ = defaultSerialDenseLinearOpWithSolveFactory<Scalar>();
117 MEB::InArgsSetup<Scalar> inArgs;
118 inArgs.setModelEvalDescription(this->description());
119 inArgs.set_Np_Ng(p_space_.size(),g_sizes.
size());
120 inArgs.setSupports(MEB::IN_ARG_x);
122 inArgs.setSupports(MEB::IN_ARG_x_dot);
123 if (supports_x_dot_dot)
124 inArgs.setSupports(MEB::IN_ARG_x_dot_dot);
125 inArgs.setSupports(MEB::IN_ARG_step_size);
126 inArgs.setSupports(MEB::IN_ARG_stage_number);
127 inArgs.template setSupports<Thyra::MockExtendedInArgs<Scalar> >(
true);
129 if (!supports_extended_inargs)
130 inArgs.template setSupports<Thyra::MockExtendedInArgs<Scalar> >(
false);
131 prototypeInArgs_ = inArgs;
133 MEB::OutArgsSetup<Scalar> outArgs;
134 outArgs.setModelEvalDescription(this->description());
135 outArgs.set_Np_Ng(p_space_.size(), g_space_.size());
136 outArgs.setSupports(MEB::OUT_ARG_f);
137 outArgs.setSupports(MEB::OUT_ARG_W_op);
138 outArgs.setSupports(MEB::OUT_ARG_W_prec);
139 outArgs.template setSupports<Thyra::MockExtendedOutArgs<Scalar> >(
true);
141 if (!supports_extended_outargs)
142 outArgs.template setSupports<Thyra::MockExtendedOutArgs<Scalar> >(
false);
143 if (supports_derivatives)
145#ifdef Thyra_BUILD_HESSIAN_SUPPORT
146 outArgs.setHessianSupports(
true);
149 MEB::DerivativeSupport derivativeSupport(MEB::DERIV_MV_BY_COL);
151 for (
int j=0; j<g_space_.size(); ++j)
152 outArgs.setSupports(MEB::OUT_ARG_DgDx,j,derivativeSupport);
154 prototypeOutArgs_ = outArgs;
156 nominalValues_ = inArgs;
158 V_S(x0.
ptr(), ST::zero());
159 nominalValues_.set_x(x0);
DummyTestModelEvaluator(const Ordinal x_size, const ArrayView< const Ordinal > &p_sizes, const ArrayView< const Ordinal > &g_sizes, const bool supports_x_dot=false, const bool supports_x_dot_dot=false, const bool supports_extended_inargs=true, const bool supports_extended_outargs=true, const bool supports_derivatives=false)