[petsc-users] -ksp_diagonal_scale

Matthew Knepley knepley at gmail.com
Fri Dec 23 13:31:06 CST 2011


On Fri, Dec 23, 2011 at 1:27 PM, Jed Brown <jedbrown at mcs.anl.gov> wrote:

> On Fri, Dec 23, 2011 at 12:52, Dominik Szczerba <dominik at itis.ethz.ch>wrote:
>
>> I am scaling my systems when dealing with small (microscopic) scales
>> in SI dimensions.
>>
>
> The best choice is to choose suitable units so that the system is
> intrinsically well-scaled.
>

I think the best approach is always to non-dimensionalize after taking
input in your favorite
units. We do this in PyLith. On output, just put the dimension back in. It
also lets you see
the scaling factors explicitly, which is useful for reasoning physically
about the problem.

  Matt


>
>
>> This is because otherwise I have very small (near
>> epsilon) entries in the matrix and the solution fails or takes
>> significantly longer to converge. I used to do it by hand so far, if
>> there is a way to do it in Petsc - especially automatically detecting
>> the optimal scale - I am all ears.
>>
>
> You are best off doing it by hand, it is better to avoid
> -ksp_diagonal_scale when it's reasonable to do so. If you have trouble
> determining a reasonable scale at assembly time, it might make sense to use.
>



-- 
What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which their
experiments lead.
-- Norbert Wiener
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20111223/6af9306e/attachment.htm>


More information about the petsc-users mailing list