<div dir="ltr"><div>I have a simple script (see below) by just calling PetscOptionsGetRealArray. I run the program like this: mpirun -np 1 runarraytest -myarray 1,2,3,4,5. However, the output is always "the length of input myarray is 0".</div>
<div><br></div><div>Can you produce the correct result? Thank you.</div><div><br></div><div><br></div><div>Below is the script I use:</div><div><br></div><div><br></div><div>#include <petsc.h></div><div><br></div><div>
int main(int argc, char **argv)</div><div>{</div><div>  PetscInitialize(&argc, &argv, PETSC_NULL, PETSC_NULL);</div><div><br></div><div>  double myarray[10];</div><div>  int nmax;</div><div>  PetscBool flg;</div><div>
<br></div><div>  PetscOptionsGetRealArray(NULL,"-myarray",myarray,&nmax,&flg);</div><div><br></div><div>  printf("the length of input myarray is %d \n",nmax);</div><div>  </div><div>  int i;</div>
<div>  for(i=0;i<nmax;++i)</div><div>    {</div><div>      printf(" %g\n",myarray[i]);</div><div>    }</div><div><br></div><div>  PetscFinalize();</div><div>  return 0;  </div><div>}</div><div><br></div></div>
<div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Feb 14, 2014 at 3:47 PM, Jed Brown <span dir="ltr"><<a href="mailto:jed@jedbrown.org" target="_blank">jed@jedbrown.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="">Xiangdong <<a href="mailto:epscodes@gmail.com">epscodes@gmail.com</a>> writes:<br>
> Now I see some random behavior. After compiling the code, for the same<br>
> command line input, the output sometimes are correct (print values<br>
> 1,2,3,4,5 with nmax=5), but sometime output all zeros (nmax is zero). I did<br>
> not change anything, but just running same input many times.<br>
><br>
> Any hints for this random behavior? Thank you.<br>
<br>
</div>Run with valgrind.  It is probably some other memory corruption interfering.<br>
</blockquote></div><br></div>