NOX::StatusTest::Stagnation Class Reference

Failure test based on the convergence rate between nonlinear iterations. More...

#include <NOX_StatusTest_Stagnation.H>

Inheritance diagram for NOX::StatusTest::Stagnation:

[legend]
Collaboration diagram for NOX::StatusTest::Stagnation:
[legend]
List of all members.

Public Member Functions

 Stagnation (int n=50, double tol=1.0)
 Constructor.
virtual ~Stagnation ()
 Destructor.
virtual NOX::StatusTest::StatusType checkStatus (const NOX::Solver::Generic &problem)
 Tests the stopping criterion.
virtual NOX::StatusTest::StatusType getStatus () const
 Return the result of the most recent checkStatus call.
virtual ostream & print (ostream &stream, int indent=0) const
 Output formatted description of stopping test to output stream.
virtual int getMaxNumSteps () const
 Returns the used specified number of steps that can consecutively fail the tolerance test before the test returns a failed status.
virtual int getCurrentNumSteps () const
 Returns the current number of steps that have consecutively failed the tolerance test.
virtual double getTolerance () const
 Returns the user specified tolerance.
virtual double getConvRate () const
 Returns the current convergence rate.

Detailed Description

Failure test based on the convergence rate between nonlinear iterations.

This status test returns NOX::StatusTest::Failed if we fail to reduce the norm of $F$ by a specified tolerance for n consecutive iterations. In other words, if

\[ \frac{\| F_k \|}{\| F_{k-1} \|} \geq {\rm tolerance}\]

for n consecutive iterations, the status is set to NOX::StatusTest::Failed and returned. Otherwise, the status is set to NOX::StatusTest::Uncoverged and returned. Both n and the tolerance are specified in the constructor, by n and tol, respectively.

Based on experience the following values are recommended:


Constructor & Destructor Documentation

NOX::StatusTest::Stagnation::Stagnation int  n = 50,
double  tol = 1.0
 

Constructor.

Parameters:
n - Number of consecutive nonlinear iterations
tol - Tolerance for stagnation test


Member Function Documentation

NOX::StatusTest::StatusType NOX::StatusTest::Stagnation::checkStatus const NOX::Solver::Generic problem  )  [virtual]
 

Tests the stopping criterion.

Note:
The nature of this test is such that it must be executed at every nonlinear iteration, so we don't use the checkType argument.

Implements NOX::StatusTest::Generic.


The documentation for this class was generated from the following files:
Generated on Thu Sep 18 12:42:30 2008 for NOX by doxygen 1.3.9.1