http://www.mcs.anl.gov/petsc/petsc-2/snapshots/petsc-current/src/mat/examples/tutorials/ex5.c.html
Hi All, I am tring to read through an example about PetscBinaryRead. It looks like the matrix is reading from a CRS matrix object descriptor "fd1, or fd2". I have difficulty of understand the line 50: +++++++++++++++++++++++++++++ 50: PetscBinaryRead(fd2,(char *)header,4,PETSC_INT); +++++++++++++++++++++++++++++ >From the context, my guess is: header[0] unknown header[1] contains the info of how many rows of matrix stored on this processor header[2] contains the info of how many global columns of the matrix header[3] unknown and line: ++++++++++++++++++++++++++++ 86: PetscBinaryRead(fd1,ourlens,m,PETSC_INT); 101: PetscBinaryRead(fd1,mycols,ourlens[i],PETSC_INT); +++++++++++++++++++++++++++++++ >From the context, my guess is: ourlens[i] stores the length of the ith local row for the "local" portion of the matrix. mycols is an array storing the column indices of the nonzero entries of the ith local row for the "local" portion of the matrix(include diagonal and off diagonal). Is there any pointer to the definition of the struct descriptor. Can anyone confirm my guess and provide a pointer or example? How does the PetscBinaryRead() switch smoothly between reading different informations with the same parameter list. Thank you very much, Yan -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20090712/d4289578/attachment.htm>
