[petsc-dev] [petsc-users] Any suggestion for this kinds of matrix?

Mark F. Adams mark.adams at columbia.edu
Fri Nov 11 10:08:33 CST 2011


Ok, I'll listend to scaling arguments.  I'm a firm believer in a solver being invariant to scaling/units.

First, "my" matrices (actually XGC1 matrices from one of my projects and I don't even know exactly what they do) put 1.0 on the diagonal for BCs and god knows how the thing is scaled (1e13 apparently).  But this does not matter because the RHS and initial guess are 0.0 so the BCs have been completely removed from the algebra, even if they are still in the data structures.

As I recall the preconditioned residual was confusing because since these are Laplacian matrices with a scale of 1e13, as you found, the residual dropped like 10 orders of magnitude in the first iteration, which was  pretty confusing.

So I don't see these XGC1 problems as being arguments for preconditioned residual, in fact they argue against it, right?

But if they played games like zeroing rows and keeping columns and putting non-homogenous Dirichlet BCs on the RHS, or penalty BCs then I could see this being a problem.

Anyway, I respect that you have experience with tons of crazy crap that users do and set the defaults accordingly.

Mark

On Nov 10, 2011, at 9:35 PM, Jed Brown wrote:

> Mark, YOU obtained a matrix with poorly scaled boundary conditions (by a cool factor of 1e13). Some people use penalties which is worse. The preconditioned norm fixes the scaling. We used -ksp_diagonal_scale to actually modify the matrix entries, but that is a bit fragile/restrictive.
> 
> I think we would have just as much confusion on petsc-maint/users (from the residual dropping abruptly on the first iteration) if we made unpreconditioned the default.
> 
> On Nov 10, 2011 7:50 PM, "Barry Smith" <bsmith at mcs.anl.gov> wrote:
> 
> On Nov 10, 2011, at 5:12 PM, Mark F. Adams wrote:
> 
> >
> >>
> >
> > Would this problem also be fixed with -ksp_norm_type unpreconditioned ???
> >
> > In that case you could make this the default for debug and not debug, which is cleaner (I've never figured out why you even offer preconditioned norm as an option, much less the default)
> >
> 
>   Someday I'll have to write a paper showing why :-)
> 
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20111111/5fc39975/attachment.html>


More information about the petsc-dev mailing list