[petsc-users] Newton methods that converge all the time

Adrian Croucher a.croucher at auckland.ac.nz
Thu Nov 30 14:19:31 CST 2017


> 
>    Please describe in some detail how you are handling phase change. If
> you have if () tests of any sort in your FormFunction() or
> FormJacobian() this can kill Newton's method. If you are using "variable
> switching" this WILL kill Newtons' method. Are you monkeying with phase
> definitions in TSPostStep or with SNESLineSearchSetPostCheck(). This
> will also kill Newton's method.

I'm doing variable switching (in a geothermal flow application) with 
Newton's method (in SNESLineSearchSetPostCheck()) and it generally works 
fine.

For pure water (no other components present) my variables are pressure 
and temperature for single-phase (liquid or vapour) and pressure and 
vapour saturation for two-phase.

You have to be pretty careful how you do the switching though.

- Adrian
-- 
Dr Adrian Croucher
Senior Research Fellow
Department of Engineering Science
University of Auckland, New Zealand
email: a.croucher at auckland.ac.nz
tel: +64 (0)9 923 4611


More information about the petsc-users mailing list