[petsc-users] Nullspace issue

Barry Smith bsmith at mcs.anl.gov
Tue Jun 12 15:47:28 CDT 2012


On Jun 12, 2012, at 3:42 PM, Jed Brown wrote:

> On Tue, Jun 12, 2012 at 3:35 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:
> G-S and Shur complement type fieldsplit PCs almost always work right so long as you have decent preconditioners for the original block(s). Often you don't need much of anything to precondition the Schur complement.
> 
> Thomas, note that you'll need Schur or some surrogate preconditioner to deal with incompressibility. It'll be worth understanding fieldsplit variants while working with Navier-Stokes and Cahn-Hilliard separately. Once you understand how to "drive" fieldsplit on those systems separately, you can put them together.

   Very good point Jed. Until you can solve N.S. efficiently (for example using PCFIELDSPLIT etc) you really cannot put them together. But that exercise is not "wasted" effort because you will understand fieldsplit and Schur preconditioners and then extending to C.H will be much easier.  PCFIELDSPLIT is very much a divide and conquer algorithmic approach, for for divide and conquer to work you need to know how to conquer the pieces.

   Barry

>  
> 
>    As I said before you can construct a preconditioner for the N.S. block by again using a PCFIELDSPLIT on that (recursive use of PCs).
> 
>    Note that once you have defined your blocks (in the simple case if you have all your degrees of freedom collocated (no staggered grid) just set the Vec and Mat block size; otherwise you need to construct an IS that defines each block) then experimenting is easy and can be done at the command line without changing the code.
> 



More information about the petsc-users mailing list