[petsc-users] Fieldsplit schur applied on A00 of a fieldsplit schur

Luc Berger-Vergiat luc.berger.vergiat at gmail.com
Fri Feb 28 20:18:29 CST 2014


Hi all,
sorry for the cryptic title but this is a little complex.
Here is what I am doing:
I created a DMShell that gets four fields passed from a PetscSection.
Now I am doing this because I want to apply a schur complement to my problem.
In order to do so I pass the following arguments to my code:

-ksp_type gmres
-pc_type fieldsplit
-pc_fieldsplit_type schur
-pc_fieldsplit_schur_factorization_type full
-pc_fieldsplit_0_fields 2,3                    <--- This define A00 for my schur
-pc_fieldsplit_1_fields 0,1

Up to here everything works fine and as expected (I actually do a -ksp_view to make sure that everything makes sense).
Now things get tricky, I would like to compute A00^-1 using another schur decomposition so here are the commands I issue:

    -fieldsplit_0_ksp_type preonly
    -fieldsplit_0_pc_type fieldsplit
    -fieldsplit_0_pc_fieldsplit_type schur
    -fieldsplit_0_pc_fieldsplit_schur_factorization_type full
    -fieldsplit_0_pc_fieldsplit_0_fields 2
    -fieldsplit_0_pc_fieldsplit_1_fields 3

I am almost sure that the 4 first commands are correct, I am not however sure that the last two are understood by PETSc.
Actually I am worried that the DMShell that I created for the first level schur is not passed on the second level schur.
Here is the error message I get when I run my code:

[0]PETSC ERROR: --------------------- Error Message ------------------------------------
[0]PETSC ERROR: Object is in wrong state!
[0]PETSC ERROR: Decomposition defined only after DMSetUp!
[0]PETSC ERROR: ------------------------------------------------------------------------
[0]PETSC ERROR: Petsc Development GIT revision: v3.4.3-4597-g3edecfd  GIT Date: 2014-02-20 20:43:18 -0600
[0]PETSC ERROR: See docs/changes/index.html for recent updates.
[0]PETSC ERROR: See docs/faq.html for hints about trouble shooting.
[0]PETSC ERROR: See docs/index.html for manual pages.
[0]PETSC ERROR: ------------------------------------------------------------------------
[0]PETSC ERROR: /home/luc/research/feap_repo/ShearBands/parfeap-petsc34/feap on a arch-linux2-c-opt named euler by luc Fri Feb 28 20:07:18 2014
[0]PETSC ERROR: Libraries linked from /home/luc/research/petsc/arch-linux2-c-opt/lib
[0]PETSC ERROR: Configure run at Fri Feb 21 17:31:31 2014
[0]PETSC ERROR: Configure options --download-cmake --download-hypre --download-metis --download-mpich --download-parmetis --with-debugging=0 --with-share-libraries=0
[0]PETSC ERROR: ------------------------------------------------------------------------
[0]PETSC ERROR: DMCreateFieldDecomposition() line 1262 in /home/luc/research/petsc/src/dm/interface/dm.c
[0]PETSC ERROR: PCFieldSplitSetDefaults() line 336 in /home/luc/research/petsc/src/ksp/pc/impls/fieldsplit/fieldsplit.c
[0]PETSC ERROR: PCSetUp_FieldSplit() line 485 in /home/luc/research/petsc/src/ksp/pc/impls/fieldsplit/fieldsplit.c
[0]PETSC ERROR: PCSetUp() line 888 in /home/luc/research/petsc/src/ksp/pc/interface/precon.c
[0]PETSC ERROR: KSPSetUp() line 278 in /home/luc/research/petsc/src/ksp/ksp/interface/itfunc.c
[0]PETSC ERROR: KSPSolve() line 390 in /home/luc/research/petsc/src/ksp/ksp/interface/itfunc.c
[0]PETSC ERROR: PCApply_FieldSplit_Schur() line 859 in /home/luc/research/petsc/src/ksp/pc/impls/fieldsplit/fieldsplit.c
[0]PETSC ERROR: PCApply() line 440 in /home/luc/research/petsc/src/ksp/pc/interface/precon.c
[0]PETSC ERROR: KSP_PCApply() line 227 in /home/luc/research/petsc/include/petsc-private/kspimpl.h
[0]PETSC ERROR: KSPInitialResidual() line 64 in /home/luc/research/petsc/src/ksp/ksp/interface/itres.c
[0]PETSC ERROR: KSPSolve_GMRES() line 234 in /home/luc/research/petsc/src/ksp/ksp/impls/gmres/gmres.c
[0]PETSC ERROR: KSPSolve() line 432 in /home/luc/research/petsc/src/ksp/ksp/interface/itfunc.c

Let me know if I'm doing something wrong or misunderstood something.

Best,
Luc
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20140228/545679b1/attachment.html>


More information about the petsc-users mailing list