block preconditioning questions

Gideon Simpson grs2103 at
Mon Jan 7 15:19:38 CST 2008

Is there a robust way to implement the following?

Suppose I have a block diagonal matrix
P = [A 0; 0 Q];
and I know the indices of A and Q in this block matrix.  I now want  
to apply different preconditioners on the A block and on the Q block.

One way, that I've had some success with, is to write a PCSHELL,  
where I split the input and output vectors using index sets and apply  
the relevant preconditioner on each of these.  However, this  
hardwires things, and I was wondering if there was another method.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the petsc-users mailing list