[petsc-users] Solving Ill Conditioned Problems

Matthew Knepley knepley at gmail.com
Thu Oct 18 13:28:57 CDT 2012

```On Thu, Oct 18, 2012 at 11:07 AM, Nachiket Gokhale <gokhalen at gmail.com>wrote:

> Hi,
>
> I am solving a Piezoelectric problem using Petsc. The structure is
>
> [ K_uu        K_uv ]
> [K_uv ^T   -K_v,v ]
>
> More details about the formulation:  http://tinyurl.com/9hlbp4u
>
> K_uu  has elements O(1E9)  because the stiffnesses are in GPa,
> K_uv   has elements O(1) because piezoelectric coefficients are of that
> order
> K_v,v  has  elements O(1E-9) because the dielectric constants are of
> that order.
>
> I am using Petsc, with pc_type LU and MUMPS for the factorization,
> -ksp_type gmres. I am not sure if my solution is converging. A typical
> solve seems to be doing this:
>
> 28 KSP preconditioned resid norm 5.642364260456e-06 true resid norm
> 1.228976487745e-03 ||r(i)||/||b|| 3.317409023627e-14
>  29 KSP preconditioned resid norm 5.540718271043e-06 true resid norm
> 1.228453548651e-03 ||r(i)||/||b|| 3.315997440178e-14
>  30 KSP preconditioned resid norm 1.973052106578e-03 true resid norm
> 1.220399172500e-03 ||r(i)||/||b|| 3.294256047735e-14
>  31 KSP preconditioned resid norm 1.155762663956e-17 true resid norm
> 2.447631111938e-04 ||r(i)||/||b|| 6.606955965570e-15
>
> Is there a right way to solve this set of equations? Is PCFieldSplit
> the recommended way?
>

First, you should really non-dimensionalize. You can see what this would
give
you by symmetrically scaling your problem with [ 3e4 3e-4 ], namely
everything
will be O(1).

Second, you might get something out of using FieldSplit, but its tough to
tell
without knowing more about the operators.

Matt

> Thanks,
>
> -Nachiket
>

--
What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which their