# OOF2: The Manual

## Name

Picard (Picard) — Solve nonlinear equations with Picard iteration. Picard converges more slowly than Newton's method, but does less work per iteration.

## Synopsis

Picard(relative_tolerance,absolute_tolerance,maximum_iterations)

## Details

• Base class: NonlinearSolverBase
• Parameters:

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

## Description

Picard is a nonlinear solver used in AdvancedSolverMode for solving nonlinear equations by Picard iteration.

Given equations of the form

 (6.152)

where is a vector of unknowns (Field values), is a nonlinear matrix-valued function of , and is a vector, and a trial solution , the next trial solution is obtained by solving

 (6.153)

Picard iterates this procedure until the residual, satisfies

 (6.154)

where =relative_tolerance and =absolute_tolerance, or when the maximum_iterations limit is exceeded.

Note We've written equation (6.152), which is being solved by Picard, in a different form than the equation (6.149) being solved by Newton. In many situations the two methods are equivalent. The big difference between our implementations is that Picard doesn't require the derivative of the term, which arises from Properties that make direct contributions to forces, as opposed to Fluxes, in equation (2.9). Picard may be useful for systems with linear fluxes (for which computing is simple) and nonlinear forces, but in general Newton is to be preferred.