OOF2: The Manual


Newton (Newton) — Solve nonlinear equations with Newton's method.




  • Base class: NonlinearSolverBase
  • Parameters:

    Relative tolerance for convergence to a nonlinear solution. Type: A real number.
    Absolute tolerance for convergence to a nonlinear solution. Type: A real number.
    Maximum number of iterations for convergence to a nonlinear solution. Type: Integer.


Newton is a nonlinear solver used in AdvancedSolverMode for solving nonlinear equations of the form

      \[ A(\phi) = 0 \]

It implements Newton's method, which uses the derivative of the nonlinear term \(A\) with respect to the vector of unknowns, \(\phi\) (i.e, Field values), to compute successive approximations to the solution. The iteration stops when the norm of the residual after the nth step, |An|, satisfies

      \[ |A_n| < \epsilon|A_0| + \delta \]

where \(\epsilon\)=relative_tolerance and \(\delta\)=absolute_tolerance, or when the maximum_iterations limit is exceeded.

Newton's method generally converges in fewer iterations than Picard, but may require more work per iteration.

Newton's method relies upon knowing the derivatives of the nonlinear function with respect to the unknowns, \( \partial A_i(\phi)/\partial \phi_j
  \). This information comes from the Material Properties, which determine the exact form of the equations being solved. Nonlinear Properties that are built into OOF2 provide routines to compute the derivatives, but Properties defined in OOF2 extensions might not. In this case, Newton will compute the derivatives numerically. This will make Newton perform more computations on each iteration and quite possibly also require more iterations. The parameters used for the numerical differentiation may be set by the OOF.Settings.Mesh_Defaults.Numerical_Differentiation command.