Rythmos - Transient Integration for Differential Equations Version of the Day
Loading...
Searching...
No Matches
List of all members
Rythmos::ImplicitBDFStepperRampingStepControl< Scalar > Class Template Reference

More...

#include <Rythmos_ImplicitBDFStepperRampingStepControl_decl.hpp>

Inheritance diagram for Rythmos::ImplicitBDFStepperRampingStepControl< Scalar >:
Inheritance graph
[legend]

Accessor functions (used for testing)

StepControlStrategyState stepControlState_
 
RCP< ErrWtVecCalcBase< Scalar > > errWtVecCalc_
 
RCP< Teuchos::ParameterList > parameterList_
 
StepSizeType stepSizeType_
 
Scalar requestedStepSize_
 
Scalar currentStepSize_
 
int currentOrder_
 
Scalar nextStepSize_
 
int nextOrder_
 
int numberOfSteps_
 
int totalNumberOfFailedSteps_
 
int countOfConstantStepsAfterFailure_
 
int newtonConvergenceStatus_
 
Scalar time_
 
Scalar stopTime_
 
RCP< const Thyra::VectorBase< Scalar > > ee_
 
RCP< Thyra::VectorBase< Scalar > > errWtVec_
 
RCP< Thyra::VectorBase< Scalar > > delta_
 
ScalarMag relErrTol_
 
ScalarMag absErrTol_
 
int numConstantSteps_
 
Scalar initialStepSize_
 
Scalar maxStepSize_
 
Scalar minStepSize_
 
Scalar stepSizeIncreaseFactor_
 
Scalar stepSizeDecreaseFactor_
 
int minOrder_
 
int maxOrder_
 
bool useLETToDetermineConvergence_
 
bool restrictStepSizeByNumberOfNonlinearIterations_
 
int numberOfNonlinearIterationsForStepSizeRestriction_
 
std::vector< Scalar > breakPoints_
 
std::list< Scalar > currentBreakPoints_
 
Array< Scalar > alpha_
 
Array< Scalar > sigma_
 
Array< Scalar > gamma_
 
Array< Scalar > beta_
 
Array< Scalar > psi_
 
Scalar alpha_s_
 
Scalar alpha_0_
 
Scalar cj_
 
Scalar ck_
 
Scalar ck_enorm_
 
int numberOfSteps () const
 
int numberOfFailedSteps () const
 
Scalar currentStepSize () const
 
int currentOrder () const
 

Overridden from StepControlStrategyBase

void setRequestedStepSize (const StepperBase< Scalar > &stepper, const Scalar &stepSize, const StepSizeType &stepSizeType)
 
void nextStepSize (const StepperBase< Scalar > &stepper, Scalar *stepSize, StepSizeType *stepSizeType, int *order)
 
void setCorrection (const StepperBase< Scalar > &stepper, const RCP< const Thyra::VectorBase< Scalar > > &soln, const RCP< const Thyra::VectorBase< Scalar > > &ee, int solveStatus)
 
bool acceptStep (const StepperBase< Scalar > &stepper, Scalar *LETValue)
 
void completeStep (const StepperBase< Scalar > &stepper)
 
AttemptedStepStatusFlag rejectStep (const StepperBase< Scalar > &stepper)
 
StepControlStrategyState getCurrentState ()
 
int getMinOrder () const
 
int getMaxOrder () const
 
void setStepControlData (const StepperBase< Scalar > &stepper)
 
bool supportsCloning () const
 
RCP< StepControlStrategyBase< Scalar > > cloneStepControlStrategyAlgorithm () const
 

Overridden from ErrWtVecCalcAcceptingStepControlStrategyBase

void setErrWtVecCalc (const RCP< ErrWtVecCalcBase< Scalar > > &errWtVecCalc)
 
RCP< const ErrWtVecCalcBase< Scalar > > getErrWtVecCalc () const
 

Overridden from Teuchos::Describable

void describe (Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel) const
 

Overridden from ParameterListAcceptor

void setParameterList (RCP< Teuchos::ParameterList > const &paramList)
 
RCP< Teuchos::ParameterList > getNonconstParameterList ()
 
RCP< Teuchos::ParameterList > unsetParameterList ()
 
RCP< const Teuchos::ParameterList > getValidParameters () const
 
void initialize (const StepperBase< Scalar > &stepper)
 

Additional Inherited Members

virtual void setErrWtVecCalc (const RCP< ErrWtVecCalcBase< Scalar > > &errWtVecCalc)=0
 
virtual RCP< const ErrWtVecCalcBase< Scalar > > getErrWtVecCalc () const =0
 
virtual void initialize (const StepperBase< Scalar > &stepper)=0
 
virtual void setRequestedStepSize (const StepperBase< Scalar > &stepper, const Scalar &stepSize, const StepSizeType &stepSizeType)=0
 
virtual void nextStepSize (const StepperBase< Scalar > &stepper, Scalar *stepSize, StepSizeType *stepSizeType, int *order)=0
 
virtual void setCorrection (const StepperBase< Scalar > &stepper, const RCP< const Thyra::VectorBase< Scalar > > &soln, const RCP< const Thyra::VectorBase< Scalar > > &ee, int solveStatus)=0
 
virtual bool acceptStep (const StepperBase< Scalar > &stepper, Scalar *LETValue)=0
 
virtual void completeStep (const StepperBase< Scalar > &stepper)=0
 
virtual AttemptedStepStatusFlag rejectStep (const StepperBase< Scalar > &stepper)=0
 
virtual StepControlStrategyState getCurrentState ()=0
 
virtual int getMaxOrder () const =0
 
virtual void setStepControlData (const StepperBase< Scalar > &stepper)=0
 
virtual bool supportsCloning () const
 
virtual RCP< StepControlStrategyBase< Scalar > > cloneStepControlStrategyAlgorithm () const
 

Detailed Description

template<class Scalar>
class Rythmos::ImplicitBDFStepperRampingStepControl< Scalar >

Ramping Step Control Strategy object for ImplicitBDFStpper

This object is a special step control strategy to manage the startup of simulations form an inconsistent state or to startup a simulation for an order of accuracy study. The strategy follows the pattern:

  1. An initial startup phase with constant initial time step (failures can reduce the time step) at 1st order.
  2. A second phase with constant time step that increases the order to max order.
  3. A ramping phase that runs at max order and increases the time step up to the max time step. LTE control during the ramping phase is optional.
  4. Time integration phase that runs at max step size and max order.

Order of calls: setRequestedStepSize() nextStepSize() optional: nextStepOrder() setCorrection acceptStep completeStep or rejectStep repeat

08/16/07 tscoffe: This order of operations must be enforced through preconditions or I need to re-think how to set up the interface for this strategy object.

Definition at line 69 of file Rythmos_ImplicitBDFStepperRampingStepControl_decl.hpp.

Member Function Documentation

◆ setRequestedStepSize()

template<class Scalar >
void Rythmos::ImplicitBDFStepperRampingStepControl< Scalar >::setRequestedStepSize ( const StepperBase< Scalar > &  stepper,
const Scalar &  stepSize,
const StepSizeType &  stepSizeType 
)
virtual

◆ nextStepSize()

template<class Scalar >
void Rythmos::ImplicitBDFStepperRampingStepControl< Scalar >::nextStepSize ( const StepperBase< Scalar > &  stepper,
Scalar *  stepSize,
StepSizeType *  stepSizeType,
int *  order 
)
virtual

◆ setCorrection()

template<class Scalar >
void Rythmos::ImplicitBDFStepperRampingStepControl< Scalar >::setCorrection ( const StepperBase< Scalar > &  stepper,
const RCP< const Thyra::VectorBase< Scalar > > &  soln,
const RCP< const Thyra::VectorBase< Scalar > > &  ee,
int  solveStatus 
)
virtual

◆ acceptStep()

template<class Scalar >
bool Rythmos::ImplicitBDFStepperRampingStepControl< Scalar >::acceptStep ( const StepperBase< Scalar > &  stepper,
Scalar *  LETValue 
)
virtual

◆ completeStep()

template<class Scalar >
void Rythmos::ImplicitBDFStepperRampingStepControl< Scalar >::completeStep ( const StepperBase< Scalar > &  stepper)
virtual

◆ rejectStep()

template<class Scalar >
AttemptedStepStatusFlag Rythmos::ImplicitBDFStepperRampingStepControl< Scalar >::rejectStep ( const StepperBase< Scalar > &  stepper)
virtual

◆ getCurrentState()

template<class Scalar >
StepControlStrategyState Rythmos::ImplicitBDFStepperRampingStepControl< Scalar >::getCurrentState
virtual

◆ getMinOrder()

template<class Scalar >
int Rythmos::ImplicitBDFStepperRampingStepControl< Scalar >::getMinOrder

◆ getMaxOrder()

template<class Scalar >
int Rythmos::ImplicitBDFStepperRampingStepControl< Scalar >::getMaxOrder
virtual

◆ setStepControlData()

template<class Scalar >
void Rythmos::ImplicitBDFStepperRampingStepControl< Scalar >::setStepControlData ( const StepperBase< Scalar > &  stepper)
virtual

◆ supportsCloning()

template<class Scalar >
bool Rythmos::ImplicitBDFStepperRampingStepControl< Scalar >::supportsCloning
virtual

◆ cloneStepControlStrategyAlgorithm()

template<class Scalar >
RCP< StepControlStrategyBase< Scalar > > Rythmos::ImplicitBDFStepperRampingStepControl< Scalar >::cloneStepControlStrategyAlgorithm
virtual

◆ setErrWtVecCalc()

template<class Scalar >
void Rythmos::ImplicitBDFStepperRampingStepControl< Scalar >::setErrWtVecCalc ( const RCP< ErrWtVecCalcBase< Scalar > > &  errWtVecCalc)
virtual

◆ getErrWtVecCalc()

template<class Scalar >
RCP< const ErrWtVecCalcBase< Scalar > > Rythmos::ImplicitBDFStepperRampingStepControl< Scalar >::getErrWtVecCalc
virtual

◆ describe()

template<class Scalar >
void Rythmos::ImplicitBDFStepperRampingStepControl< Scalar >::describe ( Teuchos::FancyOStream &  out,
const Teuchos::EVerbosityLevel  verbLevel 
) const

◆ setParameterList()

template<class Scalar >
void Rythmos::ImplicitBDFStepperRampingStepControl< Scalar >::setParameterList ( RCP< Teuchos::ParameterList > const &  paramList)

◆ getNonconstParameterList()

template<class Scalar >
RCP< Teuchos::ParameterList > Rythmos::ImplicitBDFStepperRampingStepControl< Scalar >::getNonconstParameterList

◆ unsetParameterList()

template<class Scalar >
RCP< Teuchos::ParameterList > Rythmos::ImplicitBDFStepperRampingStepControl< Scalar >::unsetParameterList

◆ getValidParameters()

template<class Scalar >
RCP< const Teuchos::ParameterList > Rythmos::ImplicitBDFStepperRampingStepControl< Scalar >::getValidParameters

◆ initialize()

template<class Scalar >
void Rythmos::ImplicitBDFStepperRampingStepControl< Scalar >::initialize ( const StepperBase< Scalar > &  stepper)
virtual

The documentation for this class was generated from the following files: