<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Tahoma
}
--></style>
</head>
<body class='hmmessage'>
Thanks a million.&nbsp;Yes, you are right, it works after included&nbsp;"finclude/petscvec.h90".&nbsp; The previouse code just with petscvec.h, but&nbsp;without petscvec.h90. Therefore, there is not a&nbsp;compiling error,&nbsp; but the runtime&nbsp;error.&nbsp; Thanks again. I&nbsp;had been&nbsp;stuck with this trouble the whole day.&nbsp; No, it is over !! :)<BR>&nbsp;<BR>
&gt; Date: Tue, 4 Jan 2011 17:50:11 -0600<BR>&gt; From: balay@mcs.anl.gov<BR>&gt; To: petsc-users@mcs.anl.gov<BR>&gt; Subject: Re: [petsc-users] error in calling VecGetArrayf90()<BR>&gt; <BR>&gt; Did you included "finclude/petscvec.h90" in your code - as the example did?<BR>&gt; <BR>&gt; satish<BR>&gt; <BR>&gt; On Tue, 4 Jan 2011, Peter Wang wrote:<BR>&gt; <BR>&gt; &gt; <BR>&gt; &gt; I am trying to obtain the value of each element of a solution Vector by KSPsolve(). <BR>&gt; &gt; <BR>&gt; &gt; The variables are defined according the example of ex4f90.F in \petsc-3.1-p5\src\snes\examples\tutorials\ as following,<BR>&gt; &gt; <BR>&gt; &gt; PetscScalar, pointer :: xx_v(:)<BR>&gt; &gt; <BR>&gt; &gt; ...<BR>&gt; &gt; call KSPSolve(ksp,b,x,ierr)<BR>&gt; &gt; call VecView(x,PETSC_VIEWER_STDOUT_WORLD,ierr)<BR>&gt; &gt; <BR>&gt; &gt; call VecGetArrayF90(x,xx_v,ierr)<BR>&gt; &gt; call VecRestoreArrayF90(x,xx_v,ierr)<BR>&gt; &gt; <BR>&gt; &gt; ...<BR>&gt; &gt; <BR>&gt; &gt; But, the error keeps coming out when call VecGetArrayF90(x,xx_v,ierr) and call VecRestoreArrayF90(x,xx_v,ierr) are not commented off.<BR>&gt; &gt; <BR>&gt; &gt; <BR>&gt; &gt; The error information shows:<BR>&gt; &gt; Caught signal number 11 SEGV: Segmentation Violation, probably memory access out of range<BR>&gt; &gt; <BR>&gt; &gt; [0]PETSC ERROR: --------------------- Stack Frames ------------------------------------<BR>&gt; &gt; [0]PETSC ERROR: Note: The EXACT line numbers in the stack are not available,<BR>&gt; &gt; [0]PETSC ERROR: INSTEAD the line number of the start of the function<BR>&gt; &gt; [0]PETSC ERROR: is given.<BR>&gt; &gt; [0]PETSC ERROR: [0] F90Array1dCreate line 52 src/sys/f90-src/f90_cwrap.c<BR>&gt; &gt; [0]PETSC ERROR: --------------------- Error Message ------------------------------------<BR>&gt; &gt; <BR>&gt; &gt; I checked the code according the example, but cannot see any difference to that. Just don't know why the pointer array xx_v doesn't work here? Thanks.<BR>&gt; &gt; <BR>&gt; &gt; <BR>&gt; <BR>                                               </body>
</html>