I don't know how you got your _test file but it is the wrong size

$ ls -l _test
-rw-r--r--@ 1 barrysmith  staff  6 Feb 18 21:25 _test
~/Src/petsc/test-dir (maint=) arch-basic

it only has 6 bytes but to hold a PETSC_SCALAR (when PetscScalar is real) it 
should have 8 bytes. For example the code

  PetscViewer viewer;
  PetscScalar v;
  int fd;
  
      PetscViewerBinaryOpen(PETSC_COMM_WORLD, "joe", FILE_MODE_WRITE, &viewer);
    PetscViewerBinaryGetDescriptor(viewer, &fd);
    PetscBinaryWrite(fd, &value, 1, PETSC_SCALAR,PETSC_FALSE);
    PetscViewerDestroy(&viewer);

produces a file with 8 bytes in it

$ ls -l joe
-rw-r--r--  1 barrysmith  staff  8 Feb 18 22:03 joe

which can be read in by your program.

> On Feb 18, 2019, at 9:23 PM, Yuyun Yang <[email protected]> wrote:
> 
> I used FILE_MODE_READ. Please see attached file (the function is part of 
> another file therefore all the other include statements; I've extracted it 
> here). The test file only contains one number. My directory is hard-coded 
> into the main function.
> 
> Thanks a lot!
> Yuyun
> 
> -----Original Message-----
> From: Smith, Barry F. <[email protected]> 
> Sent: Monday, February 18, 2019 6:41 PM
> To: Yuyun Yang <[email protected]>
> Cc: [email protected]
> Subject: Re: [petsc-users] PetscBinaryRead fails
> 
> 
>  Send program and data file if you cannot get it to work.
> 
> 
>> On Feb 18, 2019, at 8:08 PM, Yuyun Yang via petsc-users 
>> <[email protected]> wrote:
>> 
>> Hello,
>> 
>> I am writing a very simple function just to read in a single value from an 
>> input file (which also just contains one single scalar value). Using 
>> PetscBinaryRead(fd, &value, 1, PETSC_SCALAR) gives me the following error. 
>> Could you help me figure out why?
>> 
>> [0]PETSC ERROR: --------------------- Error Message 
>> --------------------------------------------------------------
>> [0]PETSC ERROR: Read from file failed
>> [0]PETSC ERROR: Read past end of file
>> [0]PETSC ERROR: See http://www.mcs.anl.gov/petsc/documentation/faq.html for 
>> trouble shooting.
>> [0]PETSC ERROR: Petsc Release Version 3.10.3, unknown [0]PETSC ERROR: 
>> ./output on a arch-linux2-c-debug named DESKTOP-02K82L1.stanford.edu 
>> by yyy910805 Mon Feb 18 17:58:30 2019 [0]PETSC ERROR: Configure options 
>> --with-cc=gcc --with-cxx=g++ --with-shared-libraries=1 --download-hdf5 
>> --download-metis --download-parmetis --download-hypre --download-superlu 
>> --download-mumps --download-scalapack --download-mpich 
>> --download-mpich-configure-arguments="--enable-error-messages=all --enable-g"
>> [0]PETSC ERROR: #1 PetscBinaryRead() line 276 in 
>> /home/yyy910805/petsc/src/sys/fileio/sysio.c
>> 0.000000
>> 
>> Thanks a lot!
>> Yuyun
> 
> <testCheckpointLoadVal.cpp><_test>

Reply via email to