Hi all,

In a variational approach of brittle fracture setting, I try to solve a bound 
constraint minimization problem using TAO. I checkout on the main branch of 
Petsc. Minimization with respect to the bounded variable (damage) is achieved 
through the Bounded Newton Trust Region (TAOBNTR). All other TAO parameters are 
set by default. On a Linux machine, I get the following error with a 4 
processors run:

[3]PETSC ERROR: --------------------- Error Message 
--------------------------------------------------------------
[3]PETSC ERROR: Nonconforming object sizes
[3]PETSC ERROR: Preconditioner number of local rows 1122 does not equal input 
vector size 1161
[3]PETSC ERROR: See https://petsc.org/release/faq/ for trouble shooting.
[3]PETSC ERROR: Petsc Development GIT revision: v3.18.3-342-gdab44c92d91  GIT 
Date: 2023-01-04 13:37:04 +0000
[3]PETSC ERROR: /home/marboeua/Developpement/mef90/arch-darwin-c/bin/vDefTAO on 
a arch-darwin-c named bb01 by marboeua Thu Jan 12 16:55:18 2023
[2]PETSC ERROR: --------------------- Error Message 
--------------------------------------------------------------
[3]PETSC ERROR: Configure options --FFLAGS=-ffree-line-length-none 
--COPTFLAGS="-O3 -march=znver3 -g" --CXXOPTFLAGS="-O3 -march=znver3 -g" 
--FOPTFLAGS="-O3 -march=znver3 -g" --download-fblaslapack=1 --download-mumps=1 
--download-chaco=1 --download-exodusii=1 --download-hypre=1 --download-ml=1 
--download-triangle --download-scalapack=1 --download-superlu=1 
--download-sowing=1 --download-sowing-cc=/opt/rh/devtoolset-9/root/usr/bin/gcc 
--download-sowing-cxx=/opt/rh/devtoolset-9/root/usr/bin/g++ 
--download-sowing-cpp=/opt/rh/devtoolset-9/root/usr/bin/cpp 
--download-sowing-cxxcpp=/opt/rh/devtoolset-9/root/usr/bin/cpp 
--download-yaml=1 --download-bison=1 --download-hdf5=1 --download-metis=1 
--download-parmetis=1 --download-netcdf=1 --download-pnetcdf=1 
--download-zlib=1 --with-cmake=1 --with-debugging=0 
--with-mpi-dir=/opt/HPC/mvapich2/2.3.7-gcc11.2.1 --with-ranlib=ranlib 
--with-shared-libraries=1 --with-sieve=1 --download-p4est=1 --with-pic 
--with-mpiexec=srun --with-x11=0 PETSC_ARCH=arch-darwin-c
[3]PETSC ERROR: #1 PCApply() at 
/1/home/marboeua/Developpement/petsc/src/ksp/pc/interface/precon.c:434
[3]PETSC ERROR: #2 KSP_PCApply() at 
/home/marboeua/Developpement/petsc/include/petsc/private/kspimpl.h:380
[3]PETSC ERROR: #3 KSPCGSolve_STCG() at 
/1/home/marboeua/Developpement/petsc/src/ksp/ksp/impls/cg/stcg/stcg.c:76
[3]PETSC ERROR: #4 KSPSolve_Private() at 
/1/home/marboeua/Developpement/petsc/src/ksp/ksp/interface/itfunc.c:898
[3]PETSC ERROR: #5 KSPSolve() at 
/1/home/marboeua/Developpement/petsc/src/ksp/ksp/interface/itfunc.c:1070
[3]PETSC ERROR: #6 TaoBNKComputeStep() at 
/1/home/marboeua/Developpement/petsc/src/tao/bound/impls/bnk/bnk.c:459
[3]PETSC ERROR: #7 TaoSolve_BNTR() at 
/1/home/marboeua/Developpement/petsc/src/tao/bound/impls/bnk/bntr.c:138
[3]PETSC ERROR: #8 TaoSolve() at 
/1/home/marboeua/Developpement/petsc/src/tao/interface/taosolver.c:177
[2]PETSC ERROR: Nonconforming object sizes
[2]PETSC ERROR: Preconditioner number of local rows 1229 does not equal input 
vector size 1254
[2]PETSC ERROR: See https://petsc.org/release/faq/ for trouble shooting.
[2]PETSC ERROR: Petsc Development GIT revision: v3.18.3-342-gdab44c92d91  GIT 
Date: 2023-01-04 13:37:04 +0000
[2]PETSC ERROR: /home/marboeua/Developpement/mef90/arch-darwin-c/bin/vDefTAO on 
a arch-darwin-c named bb01 by marboeua Thu Jan 12 16:55:18 2023
[2]PETSC ERROR: Configure options --FFLAGS=-ffree-line-length-none 
--COPTFLAGS="-O3 -march=znver3 -g" --CXXOPTFLAGS="-O3 -march=znver3 -g" 
--FOPTFLAGS="-O3 -march=znver3 -g" --download-fblaslapack=1 --download-mumps=1 
--download-chaco=1 --download-exodusii=1 --download-hypre=1 --download-ml=1 
--download-triangle --download-scalapack=1 --download-superlu=1 
--download-sowing=1 --download-sowing-cc=/opt/rh/devtoolset-9/root/usr/bin/gcc 
--download-sowing-cxx=/opt/rh/devtoolset-9/root/usr/bin/g++ 
--download-sowing-cpp=/opt/rh/devtoolset-9/root/usr/bin/cpp 
--download-sowing-cxxcpp=/opt/rh/devtoolset-9/root/usr/bin/cpp 
--download-yaml=1 --download-bison=1 --download-hdf5=1 --download-metis=1 
--download-parmetis=1 --download-netcdf=1 --download-pnetcdf=1 
--download-zlib=1 --with-cmake=1 --with-debugging=0 
--with-mpi-dir=/opt/HPC/mvapich2/2.3.7-gcc11.2.1 --with-ranlib=ranlib 
--with-shared-libraries=1 --with-sieve=1 --download-p4est=1 --with-pic 
--with-mpiexec=srun --with-x11=0 PETSC_ARCH=arch-darwin-c
[2]PETSC ERROR: #1 PCApply() at 
/1/home/marboeua/Developpement/petsc/src/ksp/pc/interface/precon.c:434
[2]PETSC ERROR: #2 KSP_PCApply() at 
/home/marboeua/Developpement/petsc/include/petsc/private/kspimpl.h:380
[2]PETSC ERROR: #3 KSPCGSolve_STCG() at 
/1/home/marboeua/Developpement/petsc/src/ksp/ksp/impls/cg/stcg/stcg.c:76
[2]PETSC ERROR: #4 KSPSolve_Private() at 
/1/home/marboeua/Developpement/petsc/src/ksp/ksp/interface/itfunc.c:898
[2]PETSC ERROR: #5 KSPSolve() at 
/1/home/marboeua/Developpement/petsc/src/ksp/ksp/interface/itfunc.c:1070
[2]PETSC ERROR: #6 TaoBNKComputeStep() at 
/1/home/marboeua/Developpement/petsc/src/tao/bound/impls/bnk/bnk.c:459
[2]PETSC ERROR: #7 TaoSolve_BNTR() at 
/1/home/marboeua/Developpement/petsc/src/tao/bound/impls/bnk/bntr.c:138
[2]PETSC ERROR: #8 TaoSolve() at 
/1/home/marboeua/Developpement/petsc/src/tao/interface/taosolver.c:177
[3]PETSC ERROR: #9 /home/marboeua/Developpement/mef90/vDef/vDefTAO.F90:370
application called MPI_Abort(MPI_COMM_SELF, 60) - process 0
[2]PETSC ERROR: #9 /home/marboeua/Developpement/mef90/vDef/vDefTAO.F90:370
application called MPI_Abort(MPI_COMM_SELF, 60) - process 0
slurmstepd: error: *** STEP 5034.0 ON bb01 CANCELLED AT 2023-01-12T17:21:07 ***
srun: Job step aborted: Waiting up to 32 seconds for job step to finish.
srun: error: bb01: tasks 0-1: Killed
srun: error: bb01: tasks 2-3: Exited with exit code 1

The error is raised in the middle of the computation after many successful 
calls of TAOSolve and TAO iterations. My guess is that TAO computes the 
preconditioner during its first iteration with all variables in the active set. 
But the preconditioner is never updated when some variables are moved to the 
inactive set during the next TAO iterations. Am I right? Can you help me with 
that?

Thanks a lot for your help and your time.
Regards,
Alexis

Reply via email to