

Public Member Functions | |
| 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 | |
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
| def PyTrilinos.NOX.StatusTest.NormF.__init__ | ( | self, | |
| args | |||
| ) |
__init__(NOX::StatusTest::NormF self, double tolerance, NOX::Abstract::Vector::NormType ntype, NOX::StatusTest::NormF::ScaleType stype=Scaled,
NOX::Utils const * u=None) -> NormF
__init__(NOX::StatusTest::NormF self, double tolerance, NOX::StatusTest::NormF::ScaleType stype=Scaled, NOX::Utils const * u=None) -> NormF
__init__(NOX::StatusTest::NormF self, Group initialGuess, double tolerance, NOX::Abstract::Vector::NormType ntype, NOX::StatusTest::NormF::ScaleType stype=Scaled,
NOX::Utils const * u=None) -> NormF
__init__(NOX::StatusTest::NormF self, Group initialGuess, double tolerance, NOX::StatusTest::NormF::ScaleType stype=Scaled,
NOX::Utils const * 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(NormF self, NOX::Solver::Generic const & problem, NOX::StatusTest::CheckType checkType) -> NOX::StatusTest::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(NormF self) -> double double NOX::StatusTest::NormF::getInitialTolerance() const Returns the initial tolerance.
| def PyTrilinos.NOX.StatusTest.NormF.getNormF | ( | self, | |
| args | |||
| ) |
getNormF(NormF 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(NormF 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(NormF self) -> NOX::StatusTest::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(NormF self) -> double double NOX::StatusTest::NormF::getTrueTolerance() const Returns the true tolerance.
| def PyTrilinos.NOX.StatusTest.NormF.reset | ( | self, | |
| args | |||
| ) |
reset(NormF self, double tolerance) reset(NormF self, Group initialGuess, double tolerance) void NOX::StatusTest::NormF::reset(NOX::Abstract::Group &initialGuess, double tolerance) Resets the user specified relative tolerance.
1.7.6.1