PyTrilinos::NOX::StatusTest::NormF Class Reference

Inheritance diagram for PyTrilinos::NOX::StatusTest::NormF:

Inheritance graph
[legend]
Collaboration diagram for PyTrilinos::NOX::StatusTest::NormF:

Collaboration graph
[legend]

List of all members.

Public Member Functions

def __init__
def checkStatus
def getStatus
def reset
def getNormF
def getTrueTolerance
def getSpecifiedTolerance
def getInitialTolerance
def __init__
def checkStatus
def getStatus
def reset
def getNormF
def getTrueTolerance
def getSpecifiedTolerance
def getInitialTolerance

Public Attributes

 this

Static Public Attributes

 Unscaled = _StatusTest.NormF_Unscaled
 Scaled = _StatusTest.NormF_Scaled
 Relative = _StatusTest.NormF_Relative
 Absolute = _StatusTest.NormF_Absolute


Detailed Description

Various convergence tests based on the norm of the residual.

Use the constructor to define the test based on the type of scaling
(see ScaleType) and the type of Tolerance (see Tolerance).

If checkStatus is called with the type set to NOX::StatusTest::None,
then the status is set to NOX::StatusTest::Unevaluated and returned.
(Also normF is set to 0.0.)

If checkStatus is called on a problem where the solution group does
not have F evaluated (i.e., problem.getSolutionGroup().isF() is
false), then the status is set to NOX::StatusTest::Unconverged and
returned. (Also normF is set to -1.0.)

Finally, we return NOX::StatusTest::Converged if $\\alpha <
\\beta$, and NOX::StatusTest::Unconverged otherwise. Here
$\\alpha$ represents the norm of $F(x)$ and $\\beta$ represents
the tolerance, as described below.

Let $\\gamma$ denote an optional scale factor defined as

$\\gamma = \\frac{1}{n}$ if sType in the constructor is
NOX::NormF::Scaled, and

Then $\\alpha$ is defined as follows:

If nType in the constructor is Abstract::Vector::TWO, then \\[
\\alpha = \\sqrt{ \\gamma \\sum_{i=1}^n F_i^2 } \\]

If nType in the constructor is Abstract::Vector::ONE, then \\[
\\alpha = \\gamma \\sum_{i=1}^n | F_i | \\]

If nType in the constructor is Abstract::Vector::INF, then \\[
\\alpha = \\gamma \\max_{i} | F_i | \\]

We set $\\beta$ as follows, based on the value of tolerance in the
constructor.

If an initial guess is provided, we use a relative tolerance defined
by \\[ \\beta = \\alpha_0 * \\mbox{tolerance} \\] Here
$\\alpha_0$ is the $\\alpha$ (as defined above) associated with
the initial guess.

Otherwise, we use an absolute tolerance defined by \\[ \\beta =
\\mbox{tolerance} \\]

C++ includes: NOX_StatusTest_NormF.H 

Member Function Documentation

def PyTrilinos::NOX::StatusTest::NormF::__init__ (   self,
  args 
)

__init__(self, double tolerance, NOX::Abstract::Vector::NormType ntype, 
    ScaleType stype = Scaled, NOX::Utils u = None) -> NormF
__init__(self, double tolerance, ScaleType stype = Scaled, NOX::Utils u = None) -> NormF
__init__(self, Group initialGuess, double tolerance, NOX::Abstract::Vector::NormType ntype, 
    ScaleType stype = Scaled, 
    NOX::Utils u = None) -> NormF
__init__(self, Group initialGuess, double tolerance, ScaleType stype = Scaled, 
    NOX::Utils u = None) -> NormF

NOX::StatusTest::NormF::NormF(NOX::Abstract::Group &initialGuess,
double tolerance, ScaleType stype=Scaled, const NOX::Utils *u=NULL)

Constructor with initial guess (for relative norms).

This constructor defaults to the Relative ToleranceType and TWO
NormType. 

def PyTrilinos::NOX::StatusTest::NormF::__init__ (   self,
  args 
)

__init__(self, double tolerance, NOX::Abstract::Vector::NormType ntype, 
    ScaleType stype = Scaled, NOX::Utils u = None) -> NormF
__init__(self, double tolerance, ScaleType stype = Scaled, NOX::Utils u = None) -> NormF
__init__(self, Group initialGuess, double tolerance, NOX::Abstract::Vector::NormType ntype, 
    ScaleType stype = Scaled, 
    NOX::Utils u = None) -> NormF
__init__(self, Group initialGuess, double tolerance, ScaleType stype = Scaled, 
    NOX::Utils u = None) -> NormF

NOX::StatusTest::NormF::NormF(NOX::Abstract::Group &initialGuess,
double tolerance, ScaleType stype=Scaled, const NOX::Utils *u=NULL)

Constructor with initial guess (for relative norms).

This constructor defaults to the Relative ToleranceType and TWO
NormType. 

def PyTrilinos::NOX::StatusTest::NormF::checkStatus (   self,
  args 
)

checkStatus(self, Generic problem, CheckType checkType) -> StatusType

NOX::StatusTest::StatusType NOX::StatusTest::NormF::checkStatus(const
NOX::Solver::Generic &problem, NOX::StatusTest::CheckType checkType)

Test the stopping criterion

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 PyTrilinos::NOX::StatusTest::Generic.

def PyTrilinos::NOX::StatusTest::NormF::checkStatus (   self,
  args 
)

checkStatus(self, Generic problem, CheckType checkType) -> StatusType

NOX::StatusTest::StatusType NOX::StatusTest::NormF::checkStatus(const
NOX::Solver::Generic &problem, NOX::StatusTest::CheckType checkType)

Test the stopping criterion

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 PyTrilinos::NOX::StatusTest::Generic.

def PyTrilinos::NOX::StatusTest::NormF::getInitialTolerance (   self,
  args 
)

getInitialTolerance(self) -> double

double NOX::StatusTest::NormF::getInitialTolerance() const

Returns the initial tolerance. 

def PyTrilinos::NOX::StatusTest::NormF::getInitialTolerance (   self,
  args 
)

getInitialTolerance(self) -> double

double NOX::StatusTest::NormF::getInitialTolerance() const

Returns the initial tolerance. 

def PyTrilinos::NOX::StatusTest::NormF::getNormF (   self,
  args 
)

getNormF(self) -> double

double
NOX::StatusTest::NormF::getNormF() const

Returns the value of the F-norm computed in the last call to
checkStatus. 

def PyTrilinos::NOX::StatusTest::NormF::getNormF (   self,
  args 
)

getNormF(self) -> double

double
NOX::StatusTest::NormF::getNormF() const

Returns the value of the F-norm computed in the last call to
checkStatus. 

def PyTrilinos::NOX::StatusTest::NormF::getSpecifiedTolerance (   self,
  args 
)

getSpecifiedTolerance(self) -> double

double NOX::StatusTest::NormF::getSpecifiedTolerance() const

Returns the specified tolerance set in the constructor. 

def PyTrilinos::NOX::StatusTest::NormF::getSpecifiedTolerance (   self,
  args 
)

getSpecifiedTolerance(self) -> double

double NOX::StatusTest::NormF::getSpecifiedTolerance() const

Returns the specified tolerance set in the constructor. 

def PyTrilinos::NOX::StatusTest::NormF::getStatus (   self,
  args 
)

getStatus(self) -> StatusType

NOX::StatusTest::StatusType NOX::StatusTest::NormF::getStatus() const

Return the result of the most recent checkStatus call. 

Reimplemented from PyTrilinos::NOX::StatusTest::Generic.

def PyTrilinos::NOX::StatusTest::NormF::getStatus (   self,
  args 
)

getStatus(self) -> StatusType

NOX::StatusTest::StatusType NOX::StatusTest::NormF::getStatus() const

Return the result of the most recent checkStatus call. 

Reimplemented from PyTrilinos::NOX::StatusTest::Generic.

def PyTrilinos::NOX::StatusTest::NormF::getTrueTolerance (   self,
  args 
)

getTrueTolerance(self) -> double

double NOX::StatusTest::NormF::getTrueTolerance() const

Returns the true tolerance. 

def PyTrilinos::NOX::StatusTest::NormF::getTrueTolerance (   self,
  args 
)

getTrueTolerance(self) -> double

double NOX::StatusTest::NormF::getTrueTolerance() const

Returns the true tolerance. 

def PyTrilinos::NOX::StatusTest::NormF::reset (   self,
  args 
)

reset(self, double tolerance)
reset(self, Group initialGuess, double tolerance)

void
NOX::StatusTest::NormF::reset(NOX::Abstract::Group &initialGuess,
double tolerance)

Resets the user specified relative tolerance. 

def PyTrilinos::NOX::StatusTest::NormF::reset (   self,
  args 
)

reset(self, double tolerance)
reset(self, Group initialGuess, double tolerance)

void
NOX::StatusTest::NormF::reset(NOX::Abstract::Group &initialGuess,
double tolerance)

Resets the user specified relative tolerance. 


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

Generated on Thu Dec 17 11:00:22 2009 for PyTrilinos by  doxygen 1.5.9