Public Member Functions | |
def | __init__ |
def | checkStatus |
def | getStatus |
def | getNormUpdate |
def | getTolerance |
def | __init__ |
def | checkStatus |
def | getStatus |
def | getNormUpdate |
def | getTolerance |
Public Attributes | |
this | |
Static Public Attributes | |
Unscaled = _StatusTest.NormUpdate_Unscaled | |
Scaled = _StatusTest.NormUpdate_Scaled |
Various convergence tests based on the norm of the change in the solution vector, $ x $, between outer iterations. If checkStatusEfficiently is called with the type set to NOX::StatusTest::None, then the status is set to NOX::StatusTest::Unevaluated and returned. (Also normUpdate is set to -1.0.) If checkStatusEfficiently is called on the first iteration, then the status is set to NOX::StatusTest::Unconverged and returned. (Also normUpdate is set to -1.0.) If checkStatusEfficiently 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 normUpdate is set to -1.0.) Finally, we return NOX::StatusTest::Converged if $\\alpha < \\beta$ and NOX::StatusTest::Uncoverged otherwise. Here $\\alpha$ represents the norm of $ \\Delta x $ and $\\beta$ represents the tolerance. We define: \\[ \\Delta x = x_k - x_{k-1} \\] where $ x_k $ is the solution vector of the $ k $-th nonlinear iterate. Let $\\gamma$ denote an optional scale factor defined as $\\gamma = \\frac{1}{n}$ if sType in the constructor is NOX::NormF::Scaled, and $\\gamma = 1$ if sType in the constructor is NOX::NormF::Unscaled. Then $\\alpha$ is defined as follows: If nType in the constructor is Abstract::Vector::TWO, then \\[ \\alpha = \\sqrt{ \\gamma \\sum_{i=1}^n \\Delta x_i^2 } \\] If nType in the constructor is Abstract::Vector::ONE, then \\[ \\alpha = \\gamma \\sum_{i=1}^n | \\Delta x_i | \\] If nType in the constructor is Abstract::Vector::INF, then \\[ \\alpha = \\gamma \\max_{i} | \\Delta x_i | \\] Finally, $\\beta$ is set to the tolerance in the constructor, i.e., \\[ \\beta = \\mbox{tolerance} \\] C++ includes: NOX_StatusTest_NormUpdate.H
def PyTrilinos::NOX::StatusTest::NormUpdate::__init__ | ( | self, | ||
args | ||||
) |
__init__(self, double tolerance, NOX::Abstract::Vector::NormType ntype, ScaleType stype = Scaled) -> NormUpdate __init__(self, double tolerance, ScaleType stype = Scaled) -> NormUpdate NormUpdate::NormUpdate(double tolerance, ScaleType stype=Scaled) Constructor for absolute norm. This constructor defaults to the Absolute ToleranceType and TWO NormType.
def PyTrilinos::NOX::StatusTest::NormUpdate::__init__ | ( | self, | ||
args | ||||
) |
__init__(self, double tolerance, NOX::Abstract::Vector::NormType ntype, ScaleType stype = Scaled) -> NormUpdate __init__(self, double tolerance, ScaleType stype = Scaled) -> NormUpdate NormUpdate::NormUpdate(double tolerance, ScaleType stype=Scaled) Constructor for absolute norm. This constructor defaults to the Absolute ToleranceType and TWO NormType.
def PyTrilinos::NOX::StatusTest::NormUpdate::checkStatus | ( | self, | ||
args | ||||
) |
checkStatus(self, Generic problem, CheckType checkType) -> StatusType StatusType NormUpdate::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::NormUpdate::checkStatus | ( | self, | ||
args | ||||
) |
checkStatus(self, Generic problem, CheckType checkType) -> StatusType StatusType NormUpdate::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::NormUpdate::getNormUpdate | ( | self, | ||
args | ||||
) |
getNormUpdate(self) -> double double NOX::StatusTest::NormUpdate::getNormUpdate() const Returns the value of the Update-norm computed in the last call to checkStatus.
def PyTrilinos::NOX::StatusTest::NormUpdate::getNormUpdate | ( | self, | ||
args | ||||
) |
getNormUpdate(self) -> double double NOX::StatusTest::NormUpdate::getNormUpdate() const Returns the value of the Update-norm computed in the last call to checkStatus.
def PyTrilinos::NOX::StatusTest::NormUpdate::getStatus | ( | self, | ||
args | ||||
) |
getStatus(self) -> StatusType StatusType NormUpdate::getStatus() const Return the result of the most recent checkStatus call.
Reimplemented from PyTrilinos::NOX::StatusTest::Generic.
def PyTrilinos::NOX::StatusTest::NormUpdate::getStatus | ( | self, | ||
args | ||||
) |
getStatus(self) -> StatusType StatusType NormUpdate::getStatus() const Return the result of the most recent checkStatus call.
Reimplemented from PyTrilinos::NOX::StatusTest::Generic.
def PyTrilinos::NOX::StatusTest::NormUpdate::getTolerance | ( | self, | ||
args | ||||
) |
getTolerance(self) -> double double NOX::StatusTest::NormUpdate::getTolerance() const Returns the true tolerance.
def PyTrilinos::NOX::StatusTest::NormUpdate::getTolerance | ( | self, | ||
args | ||||
) |
getTolerance(self) -> double double NOX::StatusTest::NormUpdate::getTolerance() const Returns the true tolerance.