PCFieldSplit and Schur
francois pacull
fpacull at fluorem.com
Tue Nov 24 11:38:26 CST 2009
Yes, here is what I am getting
francois.
[0]PETSC ERROR:
------------------------------------------------------------------------
[0]PETSC ERROR: Caught signal number 11 SEGV: Segmentation Violation,
probably memory access out of range
[0]PETSC ERROR: Try option -start_in_debugger or
-on_error_attach_debugger
[0]PETSC ERROR: or see
http://www.mcs.anl.gov/petsc/petsc-as/documentation/troubleshooting.html#Signal[0]PETSC
ERROR: [1]PETSC ERROR:
------------------------------------------------------------------------
[1]PETSC ERROR: or try http://valgrind.org on linux or man libgmalloc on
Apple to find memory corruption errors
Caught signal number 11 SEGV: Segmentation Violation, probably memory
access out of range
[0]PETSC ERROR: likely location of problem given in stack
below
[1]PETSC ERROR: Try option -start_in_debugger or
-on_error_attach_debugger
[1]PETSC ERROR: [0]PETSC ERROR: --------------------- Stack Frames
------------------------------------
or see
http://www.mcs.anl.gov/petsc/petsc-as/documentation/troubleshooting.html#Signal[1]PETSC
ERROR: or try http://valgrind.org on linux or man libgmalloc on Apple to
find memory corruption errors
[1]PETSC ERROR: likely location of problem given in stack
below
[1]PETSC ERROR: --------------------- Stack Frames
------------------------------------
[0]PETSC ERROR: Note: The EXACT line numbers in the stack are not
available,
[1]PETSC ERROR: Note: The EXACT line numbers in the stack are not
available,
[1]PETSC ERROR: [0]PETSC ERROR: INSTEAD the line number of the
start of the function
[0]PETSC ERROR: INSTEAD the line number of the start of the
function
[1]PETSC ERROR: is
given.
is
given.
[0]PETSC ERROR: [0] PCFieldSplitGetSubKSP_FieldSplit_Schur line 751
src/ksp/pc/impls/fieldsplit/fieldsplit.c
[1]PETSC ERROR: [1] PCFieldSplitGetSubKSP_FieldSplit_Schur line 751
src/ksp/pc/impls/fieldsplit/fieldsplit.c
[1]PETSC ERROR: [0]PETSC ERROR: [0] PCFieldSplitGetSubKSP line 951
src/ksp/pc/impls/fieldsplit/fieldsplit.c
[1] PCFieldSplitGetSubKSP line 951
src/ksp/pc/impls/fieldsplit/fieldsplit.c
[1]PETSC ERROR: --------------------- Error Message
------------------------------------
[0]PETSC ERROR: --------------------- Error Message
------------------------------------
[1]PETSC ERROR: Signal
received!
[1]PETSC ERROR: [0]PETSC ERROR:
------------------------------------------------------------------------
[1]PETSC ERROR: Petsc Release Version 3.0.0, Patch 7, Mon Jul 6
11:33:34 CDT 2009
Signal
received!
[1]PETSC ERROR: See docs/changes/index.html for recent
updates.
[1]PETSC ERROR: [0]PETSC ERROR:
------------------------------------------------------------------------
See docs/faq.html for hints about trouble
shooting.
[1]PETSC ERROR: See docs/index.html for manual
pages.
[0]PETSC ERROR: [1]PETSC ERROR: Petsc Release Version 3.0.0, Patch 7,
Mon Jul 6 11:33:34 CDT 2009
------------------------------------------------------------------------
...
Matthew Knepley a écrit :
> Can you use the debugger to get a stack trace?
>
> Matt
>
> On Tue, Nov 24, 2009 at 10:46 AM, francois pacull <fpacull at fluorem.com
> <mailto:fpacull at fluorem.com>> wrote:
>
> Dear PETSc team,
>
> I am having a little bit of trouble with the Schur option of
> PCFieldSplit: I would like to apply some special treatments
> respectively to the five first and the two last equations over
> seven for each grid node of a CFD linear system...
>
> In the present case, the KSP is "gmres" (or "fgmres" if the PC is
> changing), the PC is "asm" (the subdomain IS is defined with
> PCASMSetLocalSubdomains in order to always include all the fields
> associated to the grid points of the overlap), the SUBKSP is
> "preonly" and the SUBPC is "fieldsplit".
>
> So far the FieldSplit options PC_COMPOSITE_ADDITIVE and
> PC_COMPOSITE_MULTIPLICATIVE work well with fieldsplit_0 and
> fieldsplit_1 set to KSPPREONLY and PCILU in the following way:
>
> PCFieldSplitGetSubKSP(SubPC,number_of_split,&FieldSplitKSP);
> ... [for the fields 0,1,2,3,4 (fieldsplit_0)]
> KSPSetType(FieldSplitKSP[0],KSPPREONLY);
> KSPGetPC(FieldSplitKSP[0],&FieldSplitPC0);
> PCSetType(FieldSplitPC0,PCILU);
> ... [for the fields 5 and 6 (fieldsplit_1)]
> KSPSetType(FieldSplitKSP[1],KSPPREONLY);
> KSPGetPC(FieldSplitKSP[1],&FieldSplitPC1);
> PCSetType(FieldSplitPC1,PCILU);
> ...
>
> They also work well when I set the FieldSplitKSP[0] and/or
> FieldSplitKSP[1] to KSPGMRES. However, I always get a segmentation
> violation when I try to use the FieldSplit option
> PC_COMPOSITE_SCHUR... I guess that I am missing something: is
> there more options to set in this Schur case?
> So far I did not turn on the Schur complement preconditioner
> option: PCFieldSplitSchurPrecondition(subpc,PETSC_FALSE);
> Is there a book or article describing the methods implemented in
> this FieldSplit option?
>
> The version is petsc-3.0.0-p7...
>
> Thank you for your help,
> Regards,
> francois pacull.
>
>
>
>
> --
> What most experimenters take for granted before they begin their
> experiments is infinitely more interesting than any results to which
> their experiments lead.
> -- Norbert Wiener
More information about the petsc-users
mailing list