PC the_pc; /* the parallel preconditioner */
{
PC local_pc; /* a pointer to the local solver */
ierr = PCParallelGetLocalPC(the_pc,&local_pc);
/* example: set the local solve to full LU solve */
ierr = PCSetType(local_pc,PCLU);
}
The possible choices for the second argument are now all of the
non-parallel preconditioners available in the Petsc library;
see below. The default is an identity preconditioner.
The local solve type could have been set by the following option:
-sub_pc_type lu
The subdomain solvers may need additional parameters,
eg the type of sweep in the case of a PCSOR solver.
This can be done using the normal functions on the local_pc:
PCSORSetSymmetric(local_pc,SOR_SYMMETRIC_SWEEP);
See the Petsc manual for the functions and values available.
This is the list of the local methods available:
none, jacobi, sor, bjacobi,
eisenstat, ilu, icc.