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
