NOX Development
Public Member Functions | Protected Member Functions | Protected Attributes
LOCA::Stepper Class Reference

Implementation of LOCA::Abstract::Iterator for computing points along a continuation curve. More...

#include <LOCA_Stepper.H>

Inheritance diagram for LOCA::Stepper:
Inheritance graph
[legend]
Collaboration diagram for LOCA::Stepper:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 Stepper (const Teuchos::RCP< LOCA::GlobalData > &global_data, const Teuchos::RCP< LOCA::MultiContinuation::AbstractGroup > &initialGuess, const Teuchos::RCP< LOCA::StatusTest::Abstract > &lt, const Teuchos::RCP< NOX::StatusTest::Generic > &nt, const Teuchos::RCP< Teuchos::ParameterList > &p)
 Constructor with LOCA::StatusTest.
 Stepper (const Teuchos::RCP< LOCA::GlobalData > &global_data, const Teuchos::RCP< LOCA::MultiContinuation::AbstractGroup > &initialGuess, const Teuchos::RCP< NOX::StatusTest::Generic > &nt, const Teuchos::RCP< Teuchos::ParameterList > &p)
virtual ~Stepper ()
 Destructor.
virtual bool reset (const Teuchos::RCP< LOCA::GlobalData > &global_data, const Teuchos::RCP< LOCA::MultiContinuation::AbstractGroup > &initialGuess, const Teuchos::RCP< LOCA::StatusTest::Abstract > &lt, const Teuchos::RCP< NOX::StatusTest::Generic > &nt, const Teuchos::RCP< Teuchos::ParameterList > &p)
virtual bool reset (const Teuchos::RCP< LOCA::GlobalData > &global_data, const Teuchos::RCP< LOCA::MultiContinuation::AbstractGroup > &initialGuess, const Teuchos::RCP< NOX::StatusTest::Generic > &nt, const Teuchos::RCP< Teuchos::ParameterList > &p)
bool eigensolverReset (Teuchos::RCP< Teuchos::ParameterList > &newEigensolverList)
 Replaces the eigensolver parameter list.
virtual Teuchos::RCP< const
LOCA::MultiContinuation::AbstractGroup
getSolutionGroup () const
 Return the current solution group.
virtual Teuchos::RCP< const
LOCA::MultiContinuation::AbstractGroup
getBifurcationGroup () const
 Return the current bifurcation group.
virtual Teuchos::RCP< const
Teuchos::ParameterList
getList () const
 Return the output parameters from the stepper algorithm.
virtual Teuchos::RCP< const
NOX::Solver::Generic
getSolver () const
 Return the current nonlinear solver pointer.
virtual double getContinuationParameter () const
 Return the current continuation parameter from the underlying LOCA::MultiContinuation::AbstractStrategy.

Protected Member Functions

virtual
LOCA::Abstract::Iterator::IteratorStatus 
start ()
 Initialize iterator.
virtual
LOCA::Abstract::Iterator::IteratorStatus 
finish (LOCA::Abstract::Iterator::IteratorStatus iteratorStatus)
 Finalize iterator.
virtual
LOCA::Abstract::Iterator::StepStatus 
preprocess (LOCA::Abstract::Iterator::StepStatus stepStatus)
 Preprocess step.
virtual
LOCA::Abstract::Iterator::StepStatus 
compute (LOCA::Abstract::Iterator::StepStatus stepStatus)
 Compute step.
virtual
LOCA::Abstract::Iterator::StepStatus 
postprocess (LOCA::Abstract::Iterator::StepStatus stepStatus)
 Postprocess step.
virtual
LOCA::Abstract::Iterator::IteratorStatus 
stop (LOCA::Abstract::Iterator::StepStatus stepStatus)
 Wrapper method for stopping criteria checks.
LOCA::Abstract::Iterator::IteratorStatus stopLocaStatus (LOCA::Abstract::Iterator::StepStatus stepStatus)
 Check stopping criteria using LOCA::StatusTest.
LOCA::Abstract::Iterator::IteratorStatus stopDeprecated (LOCA::Abstract::Iterator::StepStatus stepStatus)
Teuchos::RCP
< LOCA::MultiContinuation::AbstractGroup
buildConstrainedGroup (const Teuchos::RCP< LOCA::MultiContinuation::AbstractGroup > &grp)
 Builds a constrained group is specified through parameter lists.
LOCA::Abstract::Iterator::StepStatus computeStepSize (LOCA::Abstract::Iterator::StepStatus stepStatus, double &stepSize)
 Compute a new step size based on results from the previous step.
virtual void printInitializationInfo ()
 Print to the screen the initialization information.
virtual void printStartStep ()
 Print to the screen information for the beginning of a new continuation step.
virtual void printEndStep (LOCA::Abstract::Iterator::StepStatus stepStatus)
 Print to the screen information for the end of a successful continuation step.
virtual void printEndInfo ()
 Print to the screen the concluding information.
virtual bool withinThreshold ()
 Checks to see if continuation parameter is within threshold of bound.

Protected Attributes

Teuchos::RCP< LOCA::GlobalDataglobalData
 Global data.
Teuchos::RCP
< LOCA::Parameter::SublistParser
parsedParams
 Parsed parameter list.
Teuchos::RCP
< LOCA::MultiPredictor::AbstractStrategy
predictor
 Predictor strategy.
Teuchos::RCP
< LOCA::MultiContinuation::AbstractStrategy
curGroupPtr
 Current continuation group.
Teuchos::RCP
< LOCA::MultiContinuation::AbstractStrategy
prevGroupPtr
 Continuation group from previous step.
Teuchos::RCP
< LOCA::Eigensolver::AbstractStrategy
eigensolver
 Eigensolver for computing eigenvalues after each continuation step.
Teuchos::RCP
< LOCA::SaveEigenData::AbstractStrategy
saveEigenData
 Strategy for saving eigenvectors/values.
Teuchos::RCP
< LOCA::MultiContinuation::AbstractGroup
bifGroupPtr
 Pointer to bifurcation group.
Teuchos::RCP
< NOX::StatusTest::Generic
noxStatusTestPtr
 Pointer to the NOX status test.
Teuchos::RCP
< LOCA::StatusTest::Abstract
locaStatusTestPtr
 Pointer to the LOCA status test.
Teuchos::RCP
< Teuchos::ParameterList
paramListPtr
 Pointer to parameter list passed in constructor/reset method.
Teuchos::RCP
< Teuchos::ParameterList
stepperList
 Pointer to stepper parameters.
Teuchos::RCP
< NOX::Solver::Generic
solverPtr
 Solver (a.k.a corrector)
Teuchos::RCP
< LOCA::MultiContinuation::ExtendedVector
curPredictorPtr
 Current predictor direction.
Teuchos::RCP
< LOCA::MultiContinuation::ExtendedVector
prevPredictorPtr
 previous predictor direction
Teuchos::RCP
< LOCA::StepSize::AbstractStrategy
stepSizeStrategyPtr
 Step size control strategy.
string conParamName
 Name of continuation parameter.
vector< int > conParamIDs
 Index of continuation parameter.
double startValue
 Starting value of continuation parameter, $\lambda_b $.
double maxValue
 Largest allowable value of continuation parameter.
double minValue
 Smallest allowable value of continuation parameter.
double stepSize
 Current step size (change in the continuation parameter), $\Delta \lambda_i $.
int maxNonlinearSteps
 Maximum number of Newton iterations per continuation step, $ N_{max} $. Defaults to 15.
double targetValue
 Target parameter value for last step (either maxValue or minValue)
bool isTargetStep
 Flag indicating if this is an extra step to hit target value.
bool doTangentFactorScaling
 Flag indicating whether to do tangent factor step size scaling.
double tangentFactor
 Tangent factor.
double minTangentFactor
 Minimum tangent factor.
double tangentFactorExponent
 Tangent factor exponent.
bool calcEigenvalues
 Flag indicating whether to compute eigenvalues after each step.
bool return_failed_on_max_steps
 Flag indicating whether to return failed upon reaching max steps.

Detailed Description

Implementation of LOCA::Abstract::Iterator for computing points along a continuation curve.

The Stepper class implements the pure virtual methods of the LOCA::Abstract::Iterator for iteratively computing points along a continuation curve.


Constructor & Destructor Documentation

LOCA::Stepper::Stepper ( const Teuchos::RCP< LOCA::GlobalData > &  global_data,
const Teuchos::RCP< LOCA::MultiContinuation::AbstractGroup > &  initialGuess,
const Teuchos::RCP< NOX::StatusTest::Generic > &  nt,
const Teuchos::RCP< Teuchos::ParameterList > &  p 
)

Obsolete constructor without LOCA::StatusTest.

Deprecated:
Use the constructor with LOCA::StatusTest instead.

References reset().


Member Function Documentation

Teuchos::RCP< const LOCA::MultiContinuation::AbstractGroup > LOCA::Stepper::getBifurcationGroup ( ) const [virtual]

Return the current bifurcation group.

If the current bifurcation method is "None", then the returned group is the same as getSolutionGroup(), otherwise this method returns the current bifurcation group (e.g., a turning point group).

double LOCA::Stepper::getContinuationParameter ( ) const [virtual]

Return the current continuation parameter from the underlying LOCA::MultiContinuation::AbstractStrategy.

Teuchos::RCP< const NOX::Solver::Generic > LOCA::Stepper::getSolver ( ) const [virtual]

Return the current nonlinear solver pointer.

Will throw an error if the solver does not exist yet.

bool LOCA::Stepper::reset ( const Teuchos::RCP< LOCA::GlobalData > &  global_data,
const Teuchos::RCP< LOCA::MultiContinuation::AbstractGroup > &  initialGuess,
const Teuchos::RCP< NOX::StatusTest::Generic > &  nt,
const Teuchos::RCP< Teuchos::ParameterList > &  p 
) [virtual]

Reset the Stepper to start a new continuation run. Obsolete version without LOCA::StatusTest.

Deprecated:
Use reset() with LOCA::StatusTest instead.
bool LOCA::Stepper::reset ( const Teuchos::RCP< LOCA::GlobalData > &  global_data,
const Teuchos::RCP< LOCA::MultiContinuation::AbstractGroup > &  initialGuess,
const Teuchos::RCP< LOCA::StatusTest::Abstract > &  lt,
const Teuchos::RCP< NOX::StatusTest::Generic > &  nt,
const Teuchos::RCP< Teuchos::ParameterList > &  p 
) [virtual]

Reset the Stepper to start a new continuation run. Version with LOCA::StatusTest

Referenced by Stepper().

LOCA::Abstract::Iterator::IteratorStatus LOCA::Stepper::stopDeprecated ( LOCA::Abstract::Iterator::StepStatus  stepStatus) [protected]

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends