[petsc-users] On PCFIELDSPLIT and its implementation

Edoardo alinovi edoardo.alinovi at gmail.com
Wed Nov 9 01:20:06 CST 2022


Hello guys,

I am getting this error while using fieldsplit:

[3]PETSC ERROR: --------------------- Error Message
--------------------------------------------------------------

*[3]PETSC ERROR: Nonconforming object sizes[3]PETSC ERROR: Local column
sizes 6132 do not add up to total number of columns 9200*
[3]PETSC ERROR: See https://petsc.org/release/faq/ for trouble shooting.
[3]PETSC ERROR: Petsc Development GIT revision: v3.18.1-191-g32ed6ae2ff2
 GIT Date: 2022-11-08 12:22:17 -0500
[3]PETSC ERROR: flubio_coupled on a gnu named alienware by edo Wed Nov  9
08:16:29 2022
[3]PETSC ERROR: Configure options PETSC_ARCH=gnu FOPTFLAGS=-O3
COPTFLAGS=-O3 CXXOPTFLAGS=-O3 -with-debugging=no -download-fblaslapack=1
-download-superlu_dist -download-mumps -download-hypre -download-metis
-download-parmetis -download-scalapack -download-ml -download-slepc
-download-hpddm -download-cmake
-with-mpi-dir=/home/edo/software/openmpi-4.1.1/build/
[3]PETSC ERROR: #1 MatCreateSubMatrix_MPIBAIJ_Private() at
/home/edo/software/petsc/src/mat/impls/baij/mpi/mpibaij.c:1987
[3]PETSC ERROR: #2 MatCreateSubMatrix_MPIBAIJ() at
/home/edo/software/petsc/src/mat/impls/baij/mpi/mpibaij.c:1911
[3]PETSC ERROR: #3 MatCreateSubMatrix() at
/home/edo/software/petsc/src/mat/interface/matrix.c:8340
[3]PETSC ERROR: #4 PCSetUp_FieldSplit() at
/home/edo/software/petsc/src/ksp/pc/impls/fieldsplit/fieldsplit.c:657
[3]PETSC ERROR: #5 PCSetUp() at
/home/edo/software/petsc/src/ksp/pc/interface/precon.c:994
[3]PETSC ERROR: #6 KSPSetUp() at
/home/edo/software/petsc/src/ksp/ksp/interface/itfunc.c:406
[3]PETSC ERROR: #7 KSPSolve_Private() at
/home/edo/software/petsc/src/ksp/ksp/interface/itfunc.c:825
[3]PETSC ERROR: #8 KSPSolve() at
/home/edo/software/petsc/src/ksp/ksp/interface/itfunc.c:1071

Do you have any ideas? Probably something missing in my brief
implementation here:




*            call PCSetType(mypc, PCFIELDSPLIT, ierr)              call
PCFieldSplitSetBlockSize(mypc, 4-bdim, ierr)           *






















*            !2D, 3x3 block            if(bdim==1) then
ufields(1) = 0                ufields(2) = 1                pfields(1) = 2
              call PCFieldSplitSetFields(mypc, "u", 2, ufields, ufields,
ierr)                call PCFieldSplitSetFields(mypc, "p", 1, pfields,
pfields, ierr)             ! 3D 4x4 block            else
ufields(1) = 0                ufields(2) = 1                ufields(3) = 2
              pfields(1) = 3                call
PCFieldSplitSetFields(mypc, "u", 3, ufields, ufields, ierr)
call PCFieldSplitSetFields(mypc, "p", 1, pfields, pfields, ierr)
endif                         ! Field split type ADDITIVE, MULTIPLICATIVE
(default), SYMMETRIC_MULTIPLICATIVE, SPECIAL, SCHUR            call
PCFieldSplitSetType(mypc, PC_COMPOSITE_SCHUR, ierr)*

Thanks for the help!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20221109/618059af/attachment.html>


More information about the petsc-users mailing list