[petsc-dev] field split/schur complement, incompressible flow

Chris Kees christopher.e.kees at usace.army.mil
Wed May 12 09:32:23 CDT 2010


Thanks a lot. Does PCFieldSplitSetFields() implicitly number the  
fields it creates or am I missing something more fundamental e.g.

PCFieldSplitSetFields(pc,isPressure)// field 0 for pressure
PCFieldSplitSetIS(pc,isVelocity)//field 1 for the 3 velocity components

where I could use something like

-ksp_type preonly -pc_type fieldsplit -pc_fieldsplit_type  
MULTIPLICATIVE -fieldsplit_0_ksp_type richardson -fieldsplit_0_pc_type  
boomeramg -fieldsplit_1_ksp_type gmres -fieldsplit_1_pc_type none

I tried to set the options to do the inner solve for the fixed point  
iteration on p219 of Hoffman and Johnson, "Comp. Turb. Incomp. Flow",  
which I understand as amg on the pressure field followed by 3  
iterations of gmres on the velocity after updating the pressure.

Thanks,
Chris

On May 12, 2010, at 3:40 AM, Jed Brown wrote:

> On Wed, 12 May 2010 01:05:47 -0400, Matthew Knepley  
> <knepley at gmail.com> wrote:
>> FieldSplit is very simple. You just give an IS for each field which
>> numbers the dof in that field.  Then you can combine the solvers
>> additively or multiplicatively on the command line.  I do not think  
>> we
>> have a specific example, but you can do this from the command line  
>> for
>> any DA example, such as SNES ex19.
>
> A few examples:
>
>  $ grep pc_fieldsplit `find src -name makefile`
>
> Chris, PCFieldSplit has not changed since the release, but support for
> more general factorization (Schur) splits and geometric multigrid  
> inside
> of splits will go into petsc-dev.
>
> Jed




More information about the petsc-dev mailing list