48 typedef Teuchos::ScalarTraits<Scalar> ST;
49 typedef typename Teuchos::ScalarTraits<Scalar>::magnitudeType ScalarMag;
77 Teuchos::RCP<const Thyra::VectorSpaceBase<Scalar> >
get_x_space()
const;
80 void setModel(
const Teuchos::RCP<
const Thyra::ModelEvaluator<Scalar> >& model);
83 void setNonconstModel(
const Teuchos::RCP<Thyra::ModelEvaluator<Scalar> >& model);
86 Teuchos::RCP<const Thyra::ModelEvaluator<Scalar> >
getModel()
const;
96 const Thyra::ModelEvaluatorBase::InArgs<Scalar> &initialCondition
103 Scalar
takeStep(Scalar dt, StepSizeType flag);
110 Teuchos::FancyOStream &out,
111 const Teuchos::EVerbosityLevel verbLevel
117 const Array<Scalar>& time_vec
118 ,
const Array<Teuchos::RCP<
const Thyra::VectorBase<Scalar> > >& x_vec
119 ,
const Array<Teuchos::RCP<
const Thyra::VectorBase<Scalar> > >& xdot_vec
124 const Array<Scalar>& time_vec
125 ,Array<RCP<
const VectorBase<Scalar> > >* x_vec
126 ,Array<RCP<
const VectorBase<Scalar> > >* xdot_vec
127 ,Array<ScalarMag>* accuracy_vec)
const;
133 void getNodes(Array<Scalar>* time_vec)
const;
143 void setParameterList(Teuchos::RCP<Teuchos::ParameterList>
const& paramList);
160 const RCP<StepControlStrategyBase<Scalar> >& stepControlStrategy
164 RCP<StepControlStrategyBase<Scalar> >
168 RCP<const StepControlStrategyBase<Scalar> >
175 Teuchos::RCP<const Thyra::ModelEvaluator<Scalar> > model_;
176 Teuchos::RCP<Thyra::VectorBase<Scalar> > solution_vector_;
177 Teuchos::RCP<Thyra::VectorBase<Scalar> > solution_vector_old_;
178 Array<Teuchos::RCP<Thyra::VectorBase<Scalar> > > k_vector_;
179 Teuchos::RCP<Thyra::VectorBase<Scalar> > ktemp_vector_;
180 Teuchos::RCP<Thyra::VectorBase<Scalar> > solution_hat_vector_;
182 Thyra::ModelEvaluatorBase::InArgs<Scalar> basePoint_;
184 RCP<const RKButcherTableauBase<Scalar> > erkButcherTableau_;
192 Teuchos::RCP<Teuchos::ParameterList> parameterList_;
193 RCP<Thyra::VectorBase<Scalar> > ee_;
194 EStepLETStatus stepLETStatus_;
195 TimeRange<Scalar> timeRange_;
199 bool haveInitialCondition_;
202 void defaultInitializeAll_();
206 int rkNewtonConvergenceStatus_;
207 RCP<Rythmos::StepControlStrategyBase<Scalar> > stepControl_;
208 bool isVariableStep_ =
false;
210 Scalar takeVariableStep_(Scalar dt, StepSizeType flag);
212 Scalar takeFixedStep_(Scalar dt, StepSizeType flag);