[petsc-users] How to find a good initial guess for a BVP

Jed Brown jed at 59A2.org
Tue Jan 26 04:49:21 CST 2010


On Mon, 25 Jan 2010 22:03:57 -0500, Ryan Yan <vyan2000 at gmail.com> wrote:
> I am solving a nonlinear BVP(steady-states) extracted from a time-dependent
> problem by setting d/dt=0.

Globalization of steady-state problems is notoriously difficult, it's
very likely that you will need to perform a continuation, of which there
are at least two kinds to consider.

1. Pseudotransient continuation, I like this paper

  http://www.cs.odu.edu/~keyes/papers/ptc03.pdf

which explains snes/examples/tutorials/ex27.c.

This can be done with TSPSEUDO, but not currently for differential
algebraic systems.  If you would like it to work with DAEs, or ODEs
written in implicit form (f(t,x,x')=0 instead of x' = f(t,x)), let me
know and I'll add such support to PETSc-dev.

2. Grid sequencing: solve the problem on coarser grids to get an initial
guess on the finer grids.  If you use DMMG, this is -dmmg_grid_sequence.

> So, do I have to solve the time-dependent problem after a long time stepping
> to get a steady solution? Or is there any better way of finding a good
> initial guess?

Pseudotransient continuation is somewhat like this, but does it in a
clever and adaptive way.

Jed


More information about the petsc-users mailing list