NOX::StatusTest::FiniteValue Class Reference

Failure test based on whether the norm of a vector has a finite value. More...

#include <NOX_StatusTest_FiniteValue.H>

Inheritance diagram for NOX::StatusTest::FiniteValue:

Collaboration diagram for NOX::StatusTest::FiniteValue:
List of all members.

Public Types

enum  VectorType { FVector, SolutionVector }
 Type of vector to run the finite value check on.

Public Member Functions

 FiniteValue (VectorType v=FVector, NOX::Abstract::Vector::NormType n=NOX::Abstract::Vector::TwoNorm)
 Constructor. Specify which vector to check and with what norm to use.
virtual ~FiniteValue ()
virtual NOX::StatusTest::StatusType checkStatus (const NOX::Solver::Generic &problem)
 Test the stopping criterion
virtual NOX::StatusTest::StatusType checkStatusEfficiently (const NOX::Solver::Generic &problem, NOX::StatusTest::CheckType checkType)
 Test the stopping criterion efficiently
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 finiteNumberTest (double x) const
 The finite number test algorithm.

Detailed Description

Failure test based on whether the norm of a vector has a finite value.

This test returns NOX::StatusTest::Failed if the norm of a vector is calssified as a NaN or Inf. Otherwise, it returns NOX::StatusTest::Unconverged. The user can specify whether to use the F vector or the solution vector from the current solution group for the check. NOX does not have access to vector entries so the number used in the NaN/Inf check is based on the norm of a vector.

If checkStatus is called with the type set to NOX::StatusTest::None, then the status is set to NOX::Status::Unevaluated and returned.

Member Function Documentation

NOX::StatusTest::StatusType NOX::StatusTest::FiniteValue::checkStatusEfficiently const NOX::Solver::Generic problem,
NOX::StatusTest::CheckType  checkType

Test the stopping criterion efficiently

The test can (and should, if possible) be skipped if checkType is NOX::StatusType::None. If the test is skipped, then the status should be set to NOX::StatusTest::Unevaluated.

Reimplemented from NOX::StatusTest::Generic.

int NOX::StatusTest::FiniteValue::finiteNumberTest double  x  )  const [virtual]

The finite number test algorithm.

We made this method public so that other objects (solvers, line searches, and directions) can use this test on their own values.

Return Values:

  • 0 = Finite Number
  • -1 = NaN
  • -2 = Inf

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