LOCA::Continuation::StatusTest::ParameterResidualNorm Class Reference

A convergence test based on the parameter component of the residual for continuation. More...

#include <LOCA_Continuation_StatusTest_ParameterResidualNorm.H>

Inheritance diagram for LOCA::Continuation::StatusTest::ParameterResidualNorm:

[legend]
Collaboration diagram for LOCA::Continuation::StatusTest::ParameterResidualNorm:
[legend]
List of all members.

Public Member Functions

 ParameterResidualNorm (double rtol, double atol, double tol)
 Constructor.
virtual ~ParameterResidualNorm ()
 Destructor.
virtual NOX::StatusTest::StatusType checkStatus (const NOX::Solver::Generic &problem)
 Evaluates convergence criteria specified above.
virtual NOX::StatusTest::StatusType getStatus () const
 Returns status as defined above.
virtual ostream & print (ostream &stream, int indent=0) const
 Prints current status.
double getResidualNorm () const
 Returns the value of scaled parameter residual norm.
double getRTOL () const
 Returns the realative tolerance set in the constructor.
double getATOL () const
 Returns the absolute tolerance set in the constructor.
double getTOL () const
 Returns the tolerance set in the constructor.

Protected Attributes

double rtol
 Relative tolerance for convergence.
double atol
 Absolute tolerance for convergence.
double tol
 Overall scale factor.
double paramResidualNorm
 Current value of the scaled parameter residual norm.
NOX::StatusTest::StatusType status
 Status of entire status test.

Detailed Description

A convergence test based on the parameter component of the residual for continuation.

Consider a continuation method with parameter equation $g = 0$ (see LOCA::Continuation::ExtendedGroup). This convergence test defines convergence of the parameter equation when the following is true

\[ \frac{|g|}{\epsilon_r|\Delta s| + \epsilon_a} < \tau \]

where $\Delta s$ is the current step size, $\epsilon_r$ is the relative tolerance, $\epsilon_a$ is the absolute tolerance, and $\tau$ is an overall scale factor (typically $\tau = 1$).

Note that this status test deals only with the parameter component of the continuation equations. This status test should be combined with other status tests for the solution component (using NOX::StatusTest::Combo and LOCA::StatusTest::Wrapper) to build a composite status test for the entire system.

Also note that if the group returned by the getSolutionGroup() method of the solver supplied in checkStatus() is not a continuation group (i.e., not derived from LOCA::Continuation::ExtendedGroup), checkStatus() returns NOX::StatusTest::Converged. This allows the status test to be used in situations other than continuation, e.g., steady-state solves, without raising error conditions.


Constructor & Destructor Documentation

LOCA::Continuation::StatusTest::ParameterResidualNorm::ParameterResidualNorm double  rtol,
double  atol,
double  tol
 

Constructor.

rtol is the relative tolerance $\epsilon_r$, atol is the absolute tolerance $\epsilon_a$, and tol is the overall scale factor $\tau$ defined above.


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