Dear Petsc developers, Is the use of VecNest format supported for field-split type preconditioner or for use with MatNest formats ? A quick change to example snes/tutorials/ex70.c seems to suggest that it is not possible.
For example the changes : Vec subx[2], subb[2]; (declared in Stokes struct) In routine StokesSetupVectors(Stokes *s) : MatCreateVecs(s->subA[0], &s->subx[0], &s->subb[0]); MatCreateVecs(s->subA[3], &s->subx[1], &s->subb[1]); // IS is_rows[2]; MatNestGetISs(s->A, is_rows, NULL); // VecCreateNest(PETSC_COMM_WORLD, 2, is_rows, s->subx, &s->x); VecCreateNest(PETSC_COMM_WORLD, 2, is_rows, s->subb, &s->b); VecAssemblyBegin(s->x); VecAssemblyEnd(s->x); VecAssemblyBegin(s->b); VecAssemblyEnd(s->b); .... The serial case runs fine but the parallel with np = 2 fails with the error message copied below. Could you find out what I am doing wrong ? In th error message, which vector(s) needs assembling ? I would normally not use VecNest but many finite element packages that allow hooking up with petsc seem to have their block vectors of Petsc VecType VecNest Any help/insights would be appreciated. Regards, Rochan [0]PETSC ERROR: --------------------- Error Message -------------------------------------------------------------- [0]PETSC ERROR: Object is in wrong state [0]PETSC ERROR: Not for unassembled vector, did you call VecAssemblyBegin()/VecAssemblyEnd()? [0]PETSC ERROR: See https://petsc.org/release/faq/ for trouble shooting. [0]PETSC ERROR: Petsc Release Version 3.19.3, Jun 29, 2023 [0]PETSC ERROR: ./ex70 on a named localhost.localdomain by user Sat Jul 15 17:51:01 2023 [0]PETSC ERROR: Configure options --with-clean=yes --with-debugging=no --with-mpi=1 --with-mpi-dir=/home/user/software_installs/mpich-4.0.2/ --prefix=/home/user/software_installs/petsc-3.19.3/ --PETSC_ARCH=linux-gnu-opt --PETSC_DIR=/home/user/software_downloads/petsc-3.19.3/ --with-cxx-dialect=C++11 --with-hypre=1 --download-hypre=yes --with-suitesparse=1 --download-suitesparse=yes --with-metis=1 --download-metis=yes --with-shared-libraries=1 --with-zlib=1 --download-zlib=no --with-superlu_dist=1 --download-superlu_dist=yes --with-mumps=1 --download-mumps=yes --with-parmetis=1 --download-parmetis=yes --with-hdf5=yes --download-hdf5=1 --with-chaco=1 --download-chaco=yes --with-scalapack=1 --download-scalapack=yes --with-p4est=1 --download-p4est=yes --download-fblaslapack=1 --with-strumpack=1 --download-strumpack=yes [0]PETSC ERROR: #1 VecCopy() at /home/user/software_downloads/petsc-3.19.3/src/vec/vec/interface/vector.c:1684 [0]PETSC ERROR: #2 VecCopy_Nest() at /home/user/software_downloads/petsc-3.19.3/src/vec/vec/impls/nest/vecnest.c:58 [0]PETSC ERROR: #3 VecCopy() at /home/user/software_downloads/petsc-3.19.3/src/vec/vec/interface/vector.c:1723 [0]PETSC ERROR: #4 KSPInitialResidual() at /home/user/software_downloads/petsc-3.19.3/src/ksp/ksp/interface/itres.c:60 [0]PETSC ERROR: #5 KSPSolve_GMRES() at /home/user/software_downloads/petsc-3.19.3/src/ksp/ksp/impls/gmres/gmres.c:226 [0]PETSC ERROR: #6 KSPSolve_Private() at /home/user/software_downloads/petsc-3.19.3/src/ksp/ksp/interface/itfunc.c:898 [0]PETSC ERROR: #7 KSPSolve() at /home/user/software_downloads/petsc-3.19.3/src/ksp/ksp/interface/itfunc.c:1070 [0]PETSC ERROR: #8 main() at /home/user/Projects/Misc/Petsc/SNES/ex70.c:684 [0]PETSC ERROR: PETSc Option Table entries: [0]PETSC ERROR: -ksp_monitor (source: command line) [0]PETSC ERROR: -nx 4 (source: command line) [0]PETSC ERROR: -ny 8 (source: command line) [0]PETSC ERROR: ----------------End of Error Message -------send entire error message to petsc-ma...@mcs.anl.gov---------- Abort(73) on node 0 (rank 0 in comm 16): application called MPI_Abort(MPI_COMM_SELF, 73) - process 0