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< NOX::StatusTest::Generic > &t, const Teuchos::RCP< Teuchos::ParameterList > &p)
 Constructor.
virtual ~Stepper ()
 Destructor.
virtual bool reset (const Teuchos::RCP< LOCA::GlobalData > &global_data, const Teuchos::RCP< LOCA::MultiContinuation::AbstractGroup > &initialGuess, const Teuchos::RCP< NOX::StatusTest::Generic > &t, const Teuchos::RCP< Teuchos::ParameterList > &p)
 Reset the Stepper to start a new continuation run.
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.

Protected Member Functions

virtual
LOCA::Abstract::Iterator::IteratorStatus 
start ()
 Intialize 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)
 Check stopping criteria.
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
statusTestPtr
 Pointer to the 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.

Private Member Functions

 Stepper (const Stepper &)
 Private to prohibit copying.
Stepperoperator= (const Stepper &)
 Private to prohibit copying.


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.

Definition at line 90 of file LOCA_Stepper.H.


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 > &  t,
const Teuchos::RCP< Teuchos::ParameterList > &  p 
)

Constructor.

Definition at line 63 of file LOCA_Stepper.C.

References reset().

LOCA::Stepper::~Stepper (  )  [virtual]

Destructor.

Definition at line 103 of file LOCA_Stepper.C.

LOCA::Stepper::Stepper ( const Stepper  )  [private]

Private to prohibit copying.


Member Function Documentation

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

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

Return the current solution group.

Definition at line 732 of file LOCA_Stepper.C.

References curGroupPtr.

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).

Definition at line 738 of file LOCA_Stepper.C.

References curGroupPtr.

Teuchos::RCP< const Teuchos::ParameterList > LOCA::Stepper::getList (  )  const [virtual]

Return the output parameters from the stepper algorithm.

Definition at line 744 of file LOCA_Stepper.C.

References paramListPtr.

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.

Definition at line 750 of file LOCA_Stepper.C.

References globalData, and solverPtr.

LOCA::Abstract::Iterator::IteratorStatus LOCA::Stepper::start (  )  [protected, virtual]

LOCA::Abstract::Iterator::IteratorStatus LOCA::Stepper::finish ( LOCA::Abstract::Iterator::IteratorStatus  iteratorStatus  )  [protected, virtual]

LOCA::Abstract::Iterator::StepStatus LOCA::Stepper::preprocess ( LOCA::Abstract::Iterator::StepStatus  stepStatus  )  [protected, virtual]

LOCA::Abstract::Iterator::StepStatus LOCA::Stepper::compute ( LOCA::Abstract::Iterator::StepStatus  stepStatus  )  [protected, virtual]

LOCA::Abstract::Iterator::StepStatus LOCA::Stepper::postprocess ( LOCA::Abstract::Iterator::StepStatus  stepStatus  )  [protected, virtual]

LOCA::Abstract::Iterator::IteratorStatus LOCA::Stepper::stop ( LOCA::Abstract::Iterator::StepStatus  stepStatus  )  [protected, virtual]

Teuchos::RCP< LOCA::MultiContinuation::AbstractGroup > LOCA::Stepper::buildConstrainedGroup ( const Teuchos::RCP< LOCA::MultiContinuation::AbstractGroup > &  grp  )  [protected]

Builds a constrained group is specified through parameter lists.

Definition at line 639 of file LOCA_Stepper.C.

References globalData, and parsedParams.

Referenced by reset().

LOCA::Abstract::Iterator::StepStatus LOCA::Stepper::computeStepSize ( LOCA::Abstract::Iterator::StepStatus  stepStatus,
double &  stepSize 
) [protected]

void LOCA::Stepper::printInitializationInfo (  )  [protected, virtual]

Print to the screen the initialization information.

Definition at line 762 of file LOCA_Stepper.C.

References globalData, LOCA::Abstract::Iterator::maxSteps, maxValue, minValue, startValue, NOX::Utils::StepperIteration, and stepperList.

Referenced by reset().

void LOCA::Stepper::printStartStep (  )  [protected, virtual]

Print to the screen information for the beginning of a new continuation step.

Definition at line 791 of file LOCA_Stepper.C.

References conParamName, curGroupPtr, globalData, isTargetStep, prevGroupPtr, LOCA::Abstract::Iterator::stepNumber, NOX::Utils::StepperIteration, stepperList, stepSize, stepSizeStrategyPtr, and targetValue.

Referenced by compute(), finish(), and start().

void LOCA::Stepper::printEndStep ( LOCA::Abstract::Iterator::StepStatus  stepStatus  )  [protected, virtual]

Print to the screen information for the end of a successful continuation step.

Definition at line 834 of file LOCA_Stepper.C.

References conParamName, curGroupPtr, globalData, prevGroupPtr, solverPtr, LOCA::Abstract::Iterator::stepNumber, NOX::Utils::StepperIteration, and LOCA::Abstract::Iterator::Successful.

Referenced by compute(), finish(), and start().

void LOCA::Stepper::printEndInfo (  )  [protected, virtual]

Print to the screen the concluding information.

Definition at line 882 of file LOCA_Stepper.C.

bool LOCA::Stepper::withinThreshold (  )  [protected, virtual]

Checks to see if continuation parameter is within threshold of bound.

Definition at line 888 of file LOCA_Stepper.C.

References curGroupPtr, parsedParams, stepperList, and targetValue.

Referenced by stop().

Stepper& LOCA::Stepper::operator= ( const Stepper  )  [private]

Private to prohibit copying.


Member Data Documentation

Teuchos::RCP<LOCA::GlobalData> LOCA::Stepper::globalData [protected]

Parsed parameter list.

Definition at line 198 of file LOCA_Stepper.H.

Referenced by buildConstrainedGroup(), finish(), preprocess(), reset(), start(), and withinThreshold().

Predictor strategy.

Definition at line 201 of file LOCA_Stepper.H.

Referenced by finish(), reset(), and start().

Continuation group from previous step.

Definition at line 207 of file LOCA_Stepper.H.

Referenced by finish(), preprocess(), printEndStep(), printStartStep(), start(), and stop().

Eigensolver for computing eigenvalues after each continuation step.

Definition at line 210 of file LOCA_Stepper.H.

Referenced by postprocess(), reset(), and start().

Strategy for saving eigenvectors/values.

Definition at line 213 of file LOCA_Stepper.H.

Referenced by postprocess(), reset(), and start().

Pointer to bifurcation group.

Definition at line 216 of file LOCA_Stepper.H.

Referenced by reset().

Pointer to the status test.

Definition at line 219 of file LOCA_Stepper.H.

Referenced by finish(), preprocess(), reset(), and start().

Teuchos::RCP<Teuchos::ParameterList> LOCA::Stepper::paramListPtr [protected]

Pointer to parameter list passed in constructor/reset method.

Definition at line 222 of file LOCA_Stepper.H.

Referenced by getList(), and reset().

Teuchos::RCP<Teuchos::ParameterList> LOCA::Stepper::stepperList [protected]

Pointer to stepper parameters.

Definition at line 225 of file LOCA_Stepper.H.

Referenced by finish(), printInitializationInfo(), printStartStep(), reset(), start(), and withinThreshold().

Solver (a.k.a corrector).

Definition at line 228 of file LOCA_Stepper.H.

Referenced by compute(), computeStepSize(), finish(), getSolver(), preprocess(), printEndStep(), reset(), and start().

Current predictor direction.

Definition at line 231 of file LOCA_Stepper.H.

Referenced by computeStepSize(), finish(), postprocess(), preprocess(), and start().

previous predictor direction

Definition at line 234 of file LOCA_Stepper.H.

Referenced by postprocess(), and start().

Step size control strategy.

Definition at line 237 of file LOCA_Stepper.H.

Referenced by computeStepSize(), printStartStep(), and reset().

string LOCA::Stepper::conParamName [protected]

Name of continuation parameter.

Definition at line 240 of file LOCA_Stepper.H.

Referenced by printEndStep(), printStartStep(), and reset().

vector<int> LOCA::Stepper::conParamIDs [protected]

Index of continuation parameter.

Definition at line 243 of file LOCA_Stepper.H.

Referenced by finish(), reset(), and start().

double LOCA::Stepper::startValue [protected]

Starting value of continuation parameter, $\lambda_b $.

Definition at line 246 of file LOCA_Stepper.H.

Referenced by printInitializationInfo(), and reset().

double LOCA::Stepper::maxValue [protected]

Largest allowable value of continuation parameter.

Definition at line 249 of file LOCA_Stepper.H.

Referenced by computeStepSize(), printInitializationInfo(), reset(), and stop().

double LOCA::Stepper::minValue [protected]

Smallest allowable value of continuation parameter.

Definition at line 252 of file LOCA_Stepper.H.

Referenced by computeStepSize(), printInitializationInfo(), reset(), and stop().

double LOCA::Stepper::stepSize [protected]

Current step size (change in the continuation parameter), $\Delta \lambda_i $.

Definition at line 255 of file LOCA_Stepper.H.

Referenced by finish(), preprocess(), printStartStep(), reset(), and start().

Maximum number of newton iterations per continuation step,$ N_{max} $. Defaults to 15.

Definition at line 258 of file LOCA_Stepper.H.

Referenced by reset().

double LOCA::Stepper::targetValue [protected]

Target parameter value for last step (either maxValue or minValue).

Definition at line 261 of file LOCA_Stepper.H.

Referenced by computeStepSize(), finish(), printStartStep(), reset(), stop(), and withinThreshold().

bool LOCA::Stepper::isTargetStep [protected]

Flag indicating if this is an extra step to hit target value.

Definition at line 264 of file LOCA_Stepper.H.

Referenced by finish(), printStartStep(), and reset().

Flag indicating whether to do tangent factor step size scaling.

Definition at line 267 of file LOCA_Stepper.H.

Referenced by computeStepSize(), postprocess(), and reset().

double LOCA::Stepper::tangentFactor [protected]

Tangent factor.

Definition at line 270 of file LOCA_Stepper.H.

Referenced by computeStepSize(), postprocess(), and reset().

double LOCA::Stepper::minTangentFactor [protected]

Minimum tangent factor.

Definition at line 273 of file LOCA_Stepper.H.

Referenced by postprocess(), and reset().

Tangent factor exponent.

Definition at line 276 of file LOCA_Stepper.H.

Referenced by computeStepSize(), and reset().

Flag indicating whether to compute eigenvalues after each step.

Definition at line 279 of file LOCA_Stepper.H.

Referenced by postprocess(), reset(), and start().

Flag indicating whether to return failed upon reaching max steps.

Definition at line 282 of file LOCA_Stepper.H.

Referenced by reset(), and stop().


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

Generated on Wed Oct 21 14:28:27 2009 for Nonlinear Solver Project by  doxygen 1.5.9