74 typedef typename Teuchos::ScalarTraits<Scalar>::magnitudeType ScalarMag;
82 const Scalar& stepSize,
const StepSizeType& stepSizeType);
85 void nextStepSize(
const StepperBase<Scalar>& stepper, Scalar* stepSize,
86 StepSizeType* stepSizeType,
int* order);
90 const StepperBase<Scalar>& stepper
91 ,
const RCP<
const Thyra::VectorBase<Scalar> >& soln
92 ,
const RCP<
const Thyra::VectorBase<Scalar> >& ee
97 bool acceptStep(
const StepperBase<Scalar>& stepper, Scalar* LETValue);
103 AttemptedStepStatusFlag
rejectStep(
const StepperBase<Scalar>& stepper);
129 void setErrWtVecCalc(
const RCP<ErrWtVecCalcBase<Scalar> >& errWtVecCalc);
140 Teuchos::FancyOStream &out,
141 const Teuchos::EVerbosityLevel verbLevel
162 void initialize(
const StepperBase<Scalar>& stepper);
167 int numberOfSteps()
const;
169 int numberOfFailedSteps()
const;
171 Scalar currentStepSize()
const;
173 int currentOrder()
const;
180 const Thyra::VectorBase<Scalar>& weight,
181 const Thyra::VectorBase<Scalar>& vector
184 void setStepControlState_(StepControlStrategyState state);
186 void updateCoeffs_();
189 bool doOutput_(Teuchos::EVerbosityLevel verbLevel);
193 StepControlStrategyState stepControlState_;
194 RCP<ErrWtVecCalcBase<Scalar> > errWtVecCalc_;
195 RCP<Teuchos::ParameterList> parameterList_;
197 StepSizeType stepSizeType_;
198 Scalar requestedStepSize_;
199 Scalar currentStepSize_;
201 Scalar nextStepSize_;
205 int totalNumberOfFailedSteps_;
206 int countOfConstantStepsAfterFailure_;
207 int newtonConvergenceStatus_;
212 RCP<const Thyra::VectorBase<Scalar> > ee_;
213 RCP<Thyra::VectorBase<Scalar> > errWtVec_;
214 RCP<Thyra::VectorBase<Scalar> > delta_;
215 ScalarMag relErrTol_;
216 ScalarMag absErrTol_;
219 int numConstantSteps_;
220 Scalar initialStepSize_;
223 Scalar stepSizeIncreaseFactor_;
224 Scalar stepSizeDecreaseFactor_;
227 bool useLETToDetermineConvergence_;
228 bool restrictStepSizeByNumberOfNonlinearIterations_;
229 int numberOfNonlinearIterationsForStepSizeRestriction_;
230 std::vector<Scalar> breakPoints_;
231 std::list<Scalar> currentBreakPoints_;
235 Array<Scalar> alpha_;
237 Array<Scalar> sigma_;
238 Array<Scalar> gamma_;