The error messages were still the same. In original code, I called MatAssemblyBegin and MatAssemblyEnd after I use MatSetValues to evaluate A.
From: Matthew Knepley [mailto:[email protected]] Sent: Wednesday, May 27, 2015 10:04 AM To: Li, Xinya Cc: [email protected] Subject: Re: [petsc-users] Allocation errors On Wed, May 27, 2015 at 11:58 AM, Li, Xinya <[email protected]<mailto:[email protected]>> wrote: Dear Sir/Madam, I am trying to assembling a large sparse complex matrix for parallel computing. I need to pre-allocate for this sparse matrix A. This is what I included in the code *************************************************************************************************** // Allocate A ierr = MatCreate(PETSC_COMM_WORLD,&A); CHKERRQ(ierr); ierr = MatSetSizes(A,PETSC_DECIDE,PETSC_DECIDE,4*ngen,4*ngen); CHKERRQ(ierr); ierr = MatSetFromOptions(A); CHKERRQ(ierr); ierr = MatSetUp(A); CHKERRQ(ierr); ierr = MatGetOwnershipRange(A, &xstart, &xend); CHKERRQ(ierr); if (iteration > 0) { ierr = MatRetrieveValues(A); CHKERRQ(ierr); } Call MatAssemblyBeginEnd(). Thanks, Matt *************************************************************************************************** This is the error message *************************************************************************************************** [0]PETSC ERROR: --------------------- Error Message -------------------------------------------------------------- [0]PETSC ERROR: Object is in wrong state [0]PETSC ERROR: Not for unassembled matrix [0]PETSC ERROR: See http://www.mcs.anl.gov/petsc/documentation/faq.html for trouble shooting. [0]PETSC ERROR: Petsc Release Version 3.5.3, unknown [0]PETSC ERROR: ./dynSim on a arch-complex named olympus.local by lixi729 Wed May 27 09:46:05 2015 [0]PETSC ERROR: Configure options --with-cc=gcc --with-fc=gfortran --with-cxx=g++ --with-scalar-type=complex --with-clanguage=C++ --with-fortran-kernels=generic --with-cxx-dialect=C++11 --download-fblaslapack --download-mpich --download-superlu_dist --download-mumps --download-scalapack --download-parmetis --download-metis --download-elemental [0]PETSC ERROR: #1 MatGetOrdering() line 189 in /people/lixi729/petsc/src/mat/order/sorder.c [0]PETSC ERROR: #2 PCSetUp_ILU() line 196 in /people/lixi729/petsc/src/ksp/pc/impls/factor/ilu/ilu.c [0]PETSC ERROR: #3 PCSetUp() line 902 in /people/lixi729/petsc/src/ksp/pc/interface/precon.c [0]PETSC ERROR: #4 KSPSetUp() line 306 in /people/lixi729/petsc/src/ksp/ksp/interface/itfunc.c [0]PETSC ERROR: #5 KSPSolve() line 418 in /people/lixi729/petsc/src/ksp/ksp/interface/itfunc.c [0]PETSC ERROR: #6 SNESSolve_NEWTONLS() line 232 in /people/lixi729/petsc/src/snes/impls/ls/ls.c [0]PETSC ERROR: #7 SNESSolve() line 3743 in /people/lixi729/petsc/src/snes/interface/snes.c [0]PETSC ERROR: #8 TSStep_Theta() line 194 in /people/lixi729/petsc/src/ts/impls/implicit/theta/theta.c [0]PETSC ERROR: #9 TSStep() line 2629 in /people/lixi729/petsc/src/ts/interface/ts.c [0]PETSC ERROR: #10 TSSolve() line 2748 in /people/lixi729/petsc/src/ts/interface/ts.c [0]PETSC ERROR: #11 simu() line 638 in simulation.C [0]PETSC ERROR: #12 runSimulation() line 99 in dynSim.h **************************************************************************************************** Thank you very much. I really appreciate your help and time. Regards __________________________________________________ Xinya Li Scientist EED/Hydrology Pacific Northwest National Laboratory 902 Battelle Boulevard P.O. Box 999, MSIN K9-33 Richland, WA 99352 USA Tel: 509-372-6248<tel:509-372-6248> Fax: 509-372-6089<tel:509-372-6089> [email protected]<mailto:[email protected]> -- 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
