[petsc-dev] How do you get RIchardson?

Vijay S. Mahadevan vijay.m at gmail.com
Fri Sep 16 16:13:43 CDT 2011


I've always understood nonlinear Richardson to solve a problem A(x) x
= b as using a linearization and reformulating as

A(x_n) \delta x_n+1 = r_n,  where r_n = b - A(x_n) x_n, \delta x_n+1 =
x_n+1 - x_n

In essence, when A(x_n) contains the exact A evaluated at x_n, it
simplifies to the standard Newton iteration. But when A contains only
parts of the true A, I understand it to be a nonlinear fixed point
iteration. This is quite often done with multiphysics problems where
say with two physics nonlinearly coupled to each other, the true
jacobian operator (exact newton) is

A = [ W X ;
        Y Z ;]

But with A = [ W 0;
                     0  Z;]

it still converges, conditionally to the same solution as exact
newton. Variations for A yield different rates of convergence. When
A=1, you get the classical Picard iteration that Matt mentioned (?).

I like this formulation because it allows the control of including the
stiff physics and using other algebraic/physics-based preconditioners
on top of that. I am not sure if this is the standard way of writing
out nonlinear Richardson or Picard and sorry for adding to the
confusion ! Just my 2 cents.

Vijay

On Fri, Sep 16, 2011 at 8:35 PM, Jed Brown <jedbrown at mcs.anl.gov> wrote:
> On Fri, Sep 16, 2011 at 22:14, Matthew Knepley <knepley at gmail.com> wrote:
>>
>> Water Resources is your standard for mathematical terminology?
>
> It's the whole first page of results for each query.
> More seriously though, what is the problem with
> x_{n+1} = A(x_n)^{-1} b
> being a valid fixed-point iteration?



More information about the petsc-dev mailing list