Skip to main content
`Ctrl`+`K`

# PetscViewerBinaryOpen

Opens a file for binary input/output.

## Synopsis

    #include "petscviewer.h"
    PetscErrorCode PetscViewerBinaryOpen(MPI_Comm comm, const char name[], PetscFileMode mode, PetscViewer *viewer)

Collective

## Input Parameters

- comm - MPI communicator

- name - name of file

- mode - open mode of file

        FILE_MODE_WRITE - create new file for binary output
        FILE_MODE_READ - open existing file for binary input
        FILE_MODE_APPEND - open existing file for binary output

## Output Parameter

- viewer - PetscViewer for binary input/output to use with the specified file

## Options Database Keys

- -viewer_binary_filename name - name of file to use

- -viewer_binary_skip_info - true to skip opening an info file

- -viewer_binary_skip_options - true to not use options database while creating viewer

- -viewer_binary_skip_header - true to skip output object headers to the file

- -viewer_binary_mpiio - true to use MPI-IO for input and output to the file (more scalable for large problems)

## Note

This `PetscViewer` should be destroyed with `PetscViewerDestroy()`.

For reading files, the filename may begin with ftp:// or http:// and/or end with .gz; in this case file is brought over and uncompressed.

For creating files, if the file name ends with .gz it is automatically compressed when closed.

## See Also

Viewers: Looking at PETSc Objects, `PETSCVIEWERBINARY`, `PetscViewerASCIIOpen()`, `PetscViewerPushFormat()`, `PetscViewerDestroy()`, `VecView()`, `MatView()`, `VecLoad()`, `MatLoad()`, `PetscViewerBinaryGetDescriptor()`, `PetscViewerBinaryGetInfoPointer()`, `PetscFileMode`, `PetscViewer`, `PetscViewerBinaryRead()`, `PetscViewerBinarySetUseMPIIO()`, `PetscViewerBinaryGetUseMPIIO()`, `PetscViewerBinaryGetMPIIOOffset()`

## Level

beginner

## Location

src/sys/classes/viewer/impls/binary/binv.c

## Examples

src/dm/tutorials/ex7.c
src/ksp/ksp/tutorials/ex27.c
src/ksp/ksp/tutorials/ex10.c
src/ksp/ksp/tutorials/ex77.c
src/ksp/ksp/tutorials/ex72.c
src/ksp/ksp/tutorials/ex42.c
src/ksp/ksp/tutorials/ex75f.F90
src/ksp/ksp/tutorials/ex75.c
src/ksp/ksp/tutorials/ex54f.F90
src/ksp/ksp/tutorials/ex76f.F90

Index of all Viewer routines
Table of Contents for all manual pages
Index of all manual pages