[petsc-users] Vec is locked read only

Rongliang Chen rl.chen at siat.ac.cn
Sat Apr 2 04:18:45 CDT 2016


Hi Shri,

Thanks for your reply.

Do you mean that I need to change the VecGetArrary() in 
/home/rlchen/soft/petsc-3.6.3/src/dm/interface/dm.c to VecGetArrayRead()?

I tried it and I got a warning when I make the petsc:

/home/rlchen/soft/petsc-3.6.3/src/dm/interface/dm.c: In function 
‘DMLocalToGlobalBegin’:
/home/rlchen/soft/petsc-3.6.3/src/dm/interface/dm.c:1913:5: warning: 
passing argument 2 of ‘VecGetArrayRead’ from incompatible pointer type 
[enabled by default]
In file included from /home/rlchen/soft/petsc-3.6.3/include/petscmat.h:6:0,
from /home/rlchen/soft/petsc-3.6.3/include/petscdm.h:6,
from /home/rlchen/soft/petsc-3.6.3/include/petsc/private/dmimpl.h:6,
from /home/rlchen/soft/petsc-3.6.3/src/dm/interface/dm.c:1:
/home/rlchen/soft/petsc-3.6.3/include/petscvec.h:420:29: note: expected 
‘const PetscScalar **’ but argument is of type ‘PetscScalar **’

Best regards,
Rongliang

---------------------
Rongliang Chen,   PhD
Associate Professor

Laboratory for Engineering and Scientific Computing
Shenzhen Institutes of Advanced Technology
Chinese Academy of Sciences
Address: 1068 Xueyuan Avenue, Shenzhen University Town, Shenzhen, Guangdong (518055), P. R. China
E-mail:  rl.chen at siat.ac.cn
Phone: +86-755-86392312

On 04/02/2016 05:03 PM, Abhyankar, Shrirang G. wrote:
> Use VecGetArrayRead instead of VecGetArray
>
> http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Vec/VecGetArray
> Read.html
>
>
> Shri
>
> -----Original Message-----
> From: Rongliang Chen <rl.chen at siat.ac.cn>
> Date: Saturday, April 2, 2016 at 3:51 AM
> To: PETSc users list <petsc-users at mcs.anl.gov>, "rongliang.chan at gmail.com"
> <rongliang.chan at gmail.com>
> Subject: [petsc-users] Vec is locked read only
>
>> Dear All,
>>
>> My code got the following error messages, but the code works well for
>> the petsc optimized version (--with-debugging=0). Anyone can tell me how
>> to fix this problem?
>>
>> Best regards,
>> Rongliang
>>
>>
>> [0]PETSC ERROR: --------------------- Error Message
>> --------------------------------------------------------------
>> [0]PETSC ERROR: Object is in wrong state
>> [0]PETSC ERROR:  Vec is locked read only, argument # 1
>> [0]PETSC ERROR: See http://www.mcs.anl.gov/petsc/documentation/faq.html
>> for trouble shooting.
>> [0]PETSC ERROR: Petsc Release Version 3.6.3, Dec, 03, 2015
>> [0]PETSC ERROR: ./Nwtun on a 64bit-debug named rlchen by rlchen Sat Apr
>> 2 15:40:32 2016
>> [0]PETSC ERROR: Configure options --download-blacs --download-scalapack
>> --download-metis --download-parmetis --download-exodusii
>> --download-netcdf --download-hdf5
>> --with-mpi-dir=/home/rlchen/soft/Program/mpich2-shared
>> --with-debugging=1 --download-fblaslapack --download-chaco
>> [0]PETSC ERROR: #1 VecGetArray() line 1646 in
>> /home/rlchen/soft/petsc-3.6.3/src/vec/vec/interface/rvector.c
>> [0]PETSC ERROR: #2 DMLocalToGlobalBegin() line 1913 in
>> /home/rlchen/soft/petsc-3.6.3/src/dm/interface/dm.c
>> [0]PETSC ERROR: #3 FormMassTimeStepFunction() line 191 in
>> /home/rlchen/soft/3D_fluid/FiniteVolumeMethod/PETScCodes/codefor3.6/SetupF
>> unctions.c
>> [0]PETSC ERROR: #4 FormFunction() line 46 in
>> /home/rlchen/soft/3D_fluid/FiniteVolumeMethod/PETScCodes/codefor3.6/SetupF
>> unctions.c
>> [0]PETSC ERROR: #5 SNESComputeFunction() line 2067 in
>> /home/rlchen/soft/petsc-3.6.3/src/snes/interface/snes.c
>> [0]PETSC ERROR: #6 SNESSolve_NEWTONLS() line 184 in
>> /home/rlchen/soft/petsc-3.6.3/src/snes/impls/ls/ls.c
>> [0]PETSC ERROR: #7 SNESSolve() line 3906 in
>> /home/rlchen/soft/petsc-3.6.3/src/snes/interface/snes.c
>> [0]PETSC ERROR: #8 SolveTimeDependent() line 843 in
>> /home/rlchen/soft/3D_fluid/FiniteVolumeMethod/PETScCodes/codefor3.6/Nwtun.
>> c
>> [0]PETSC ERROR: #9 main() line 452 in
>> /home/rlchen/soft/3D_fluid/FiniteVolumeMethod/PETScCodes/codefor3.6/Nwtun.
>> c
>>
>>
>




More information about the petsc-users mailing list