[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