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: [email protected]
tel: +64 (0)9 923 4611

Reply via email to