#include <NOX_Direction_Newton.H>
Inheritance diagram for NOX::Direction::Newton:
Public Member Functions | |
| Newton (const NOX::Utils &u, NOX::Parameter::List ¶ms) | |
| Constructor. | |
| virtual | ~Newton () |
| Destructor. | |
| virtual bool | reset (NOX::Parameter::List ¶ms) |
| Reset direction based on possibly new parameters. | |
| virtual bool | compute (NOX::Abstract::Vector &dir, NOX::Abstract::Group &grp, const NOX::Solver::Generic &solver) |
Compute the direction vector, dir, for a specific method given the current group, grp. | |
Protected Member Functions | |
| virtual bool | resetForcingTerm (const NOX::Abstract::Group &soln, const NOX::Abstract::Group &oldSoln, int niter, const NOX::Solver::Generic &solver) |
Computes the Newton direction by solving the Newton system.
Here
is the n x n Jacobian matrix at the current iterate,
is the n-vector representing the nonlinear function at the current iterate, and
is the n-vector that we are solving for.
If we use an iterative linear solver for the Newton system, then this is called an inexact Newton method. The tolerance used to terminate the linear solve is called the forcing term. The forcing term may be constant, or it may be adjustable. In either case, at iteration
we require,
Here
is the forcing term for iteration
.
With the following safeguards imposed:
With the following safeguards imposed:
Parameters
"Direction":
"Direction"/"Newton":
(initial linear solver tolerance). Defaults to 0.1.
. Defaults to 1.0e-6.
. Defaults to 0.01.
(used only by "Type 2"). Defaults to 1.5.
(used only by "Type 2"). Defaults to 0.9.
should be based on the same norm used in the convergence test of the linear solver. Essentially this means that the norm must account for LEFT scaling of any kind that is applied to the linear system during a solve. If set, the computation of
will be done using a used defined function that is passed in through a NOX::Parameter::Arbitrary derived object. It will take the arbitrary object and cast it to a NOX::Parameter::UserNorm object and use it for norm computations. If this parameter is not set, this method uses the L-2 Norm for any norm computations of
.
"Direction"/"Newton"/"Linear Solver":
|
||||||||||||||||
|
Compute the direction vector,
The Const access to the solver is used for getting additional information such as the past solution, the iteration number, and so on. Implements NOX::Direction::Generic. |
|
||||||||||||||||||||
|
Called each iteration to reset the forcing term (ie, the convergence tolerance for the linear solver). |
1.3.9.1