58 typedef typename ScalarTraits<Scalar>::magnitudeType
ScalarMag;
66 void set_W_factory(
const RCP<Thyra::LinearOpWithSolveFactoryBase<Scalar> > &irk_W_factory );
69 RCP<const Thyra::LinearOpWithSolveFactoryBase<Scalar> >
get_W_factory()
const;
75 void setRKButcherTableau(
const RCP<
const RKButcherTableauBase<Scalar> > &rkButcherTableau );
95 const RCP<Thyra::NonlinearSolverBase<Scalar> > &solver
99 RCP<Thyra::NonlinearSolverBase<Scalar> >
103 RCP<const Thyra::NonlinearSolverBase<Scalar> >
121 void setModel(
const RCP<
const Thyra::ModelEvaluator<Scalar> >& model);
127 RCP<const Thyra::ModelEvaluator<Scalar> >
getModel()
const;
134 const Thyra::ModelEvaluatorBase::InArgs<Scalar> &initialCondition
142 Scalar
takeStep(Scalar dt, StepSizeType flag);
152 const RCP<StepControlStrategyBase<Scalar> >& stepControlStrategy
156 RCP<StepControlStrategyBase<Scalar> >
160 RCP<const StepControlStrategyBase<Scalar> >
172 RCP<const Thyra::VectorSpaceBase<Scalar> >
177 const Array<Scalar>& time_vec,
178 const Array<RCP<
const Thyra::VectorBase<Scalar> > >& x_vec,
179 const Array<RCP<
const Thyra::VectorBase<Scalar> > >& xdot_vec
187 const Array<Scalar>& time_vec,
188 Array<RCP<
const Thyra::VectorBase<Scalar> > >* x_vec,
189 Array<RCP<
const Thyra::VectorBase<Scalar> > >* xdot_vec,
190 Array<ScalarMag>* accuracy_vec
194 void getNodes(Array<Scalar>* time_vec)
const;
227 const Teuchos::EVerbosityLevel verbLevel
241 RCP<const Thyra::ModelEvaluator<Scalar> > model_;
242 RCP<Thyra::NonlinearSolverBase<Scalar> > solver_;
243 RCP<Thyra::LinearOpWithSolveFactoryBase<Scalar> > irk_W_factory_;
244 RCP<ParameterList> paramList_;
246 Thyra::ModelEvaluatorBase::InArgs<Scalar> basePoint_;
247 RCP<Thyra::VectorBase<Scalar> > x_;
248 RCP<Thyra::VectorBase<Scalar> > x_old_;
249 RCP<Thyra::VectorBase<Scalar> > x_dot_;
250 RCP<Thyra::VectorBase<Scalar> > oldSolution_;
251 EStepLETStatus stepLETStatus_;
252 RCP<Thyra::VectorBase<Scalar> > xhat_;
253 RCP<Thyra::VectorBase<Scalar> > ee_;
255 TimeRange<Scalar> timeRange_;
257 RCP<Thyra::ModelEvaluator<Scalar> > irkModel_;
258 RCP<const RKButcherTableauBase<Scalar> > irkButcherTableau_;
261 bool isVariableStep_ =
false;
266 bool haveInitialCondition_;
269 Thyra::SolveStatus<Scalar> nonlinearSolveStatus_;
270 int rkNewtonConvergenceStatus_;
271 RCP<Rythmos::StepControlStrategyBase<Scalar> > stepControl_;
274 RCP<Thyra::ProductVectorBase<Scalar> > x_stage_bar_;
279 void defaultInitializeAll_();
282 Scalar takeVariableStep_(Scalar dt, StepSizeType flag);
284 Scalar takeFixedStep_(Scalar dt, StepSizeType flag);