[petsc-users] MatNest with pc_fieldsplit_type multiplicative yields PetscLayoutSetUp error

Nate Sime nsime at carnegiescience.edu
Tue Oct 2 17:47:11 CDT 2018


Initially, I apologise for not being able to provide a minimal working 
example.

I have a system of 4 PDEs defined in 2 spatial dimensions which I have 
discretised by the FEM.

This includes a Taylor-Hood Stokes system, a modified Helmholtz type 
problem, and a nonlinear advection equation.

I assemble each of the blocks of this 4x4 system into Mats and then put 
those into a MatNest.

Additionally I assemble a 4x4 block preconditioner in the same manner, 
using the standard pressure mass matrix for the continuity equation block.

I am using the following simple options:

-ksp_type fgmres
-pc_type fieldsplit
-pc_fieldsplit_type multiplicative

-fieldsplit_0_ksp_type preonly
-fieldsplit_0_pc_type hypre

-fieldsplit_1_ksp_type preonly
-fieldsplit_1_pc_type hypre

-fieldsplit_2_ksp_type preonly
-fieldsplit_2_pc_type hypre

-fieldsplit_3_ksp_type preonly
-fieldsplit_3_pc_type hypre


Solving the system works and scales reasonably well up until the problem 
extends beyond a size of approximately 50e6 DoF with 192 processes 
across 4 nodes.

Beyond that, I run into the following error with PetscLayoutFindOwner 
which I have attached the error message at the end of the email.

Tracing through the PETSc source, I find that the error arises dealing 
with -pc_fieldsplit_type multiplicative.

Changing to -pc_fieldsplit_type additive, I am able to continue my 
scaling experiments beyond 50e6 with no problem so far.

I was hoping someone may have some basic insight into what I may have 
done naively and incorrectly to cause this issue.

Additionally, please let me know what I have inevitably neglected to 
provide for elucidation.

Nate.


[0]PETSC ERROR: --------------------- Error Message 
--------------------------------------------------------------
[0]PETSC ERROR: Object is in wrong state
[0]PETSC ERROR: PetscLayoutSetUp() must be called first
[0]PETSC ERROR: See http://www.mcs.anl.gov/petsc/documentation/faq.html 
for trouble shooting.
[0]PETSC ERROR: Petsc Release Version 3.10.0, unknown
[0]PETSC ERROR: Unknown Name on a  named 
c456-101.stampede2.tacc.utexas.edu by Tue Oct  2 17:11:27 2018
[0]PETSC ERROR: --------------------- Error Message 
--------------------------------------------------------------
[0]PETSC ERROR: #1 PetscLayoutFindOwner() line 246 in 
petsc/petsc/include/petscis.h
[0]PETSC ERROR: #2 PetscSFSetGraphLayout() line 511 in 
petsc/petsc/src/vec/is/utils/pmap.c
[0]PETSC ERROR: #3 MatNestCreateAggregateL2G_Private() line 1188 in 
petsc/petsc/src/mat/impls/nest/matnest.c
[0]PETSC ERROR: #4 MatSetUp_NestIS_Private() line 1336 in 
petsc/petsc/src/mat/impls/nest/matnest.c
[0]PETSC ERROR: #5 MatNestSetSubMats_Nest() line 1073 in 
petsc/petsc/src/mat/impls/nest/matnest.c
[0]PETSC ERROR: #6 MatNestSetSubMats() line 1130 in 
petsc/petsc/src/mat/impls/nest/matnest.c
[0]PETSC ERROR: #7 MatCreateNest() line 1400 in 
petsc/petsc/src/mat/impls/nest/matnest.c
[0]PETSC ERROR: #8 MatNestGetRow() line 360 in 
petsc/petsc/src/mat/impls/nest/matnest.c
[0]PETSC ERROR: #9 MatNestFindSubMat() line 398 in 
petsc/petsc/src/mat/impls/nest/matnest.c
[0]PETSC ERROR: #10 MatCreateSubMatrix_Nest() line 425 in 
petsc/petsc/src/mat/impls/nest/matnest.c
[0]PETSC ERROR: #11 MatCreateSubMatrix() line 8023 in 
petsc/petsc/src/mat/interface/matrix.c
[0]PETSC ERROR: #12 PCSetUp_FieldSplit() line 649 in 
petsc/petsc/src/ksp/pc/impls/fieldsplit/fieldsplit.c
[0]PETSC ERROR: #13 PCSetUp() line 932 in 
petsc/petsc/src/ksp/pc/interface/precon.c
[0]PETSC ERROR: #14 KSPSetUp() line 391 in 
petsc/petsc/src/ksp/ksp/interface/itfunc.c
[0]PETSC ERROR: #15 KSPSolve() line 723 in 
petsc/petsc/src/ksp/ksp/interface/itfunc.c




More information about the petsc-users mailing list