# VecLoad

Loads a vector that has been stored in binary format with VecView().

### Synopsis

    #include "petscvec.h"
    PetscErrorCode  VecLoad(PetscViewer viewer, VecType outtype,Vec *newvec)

Collective on PetscViewer

### Input Parameters

| viewer | - binary file viewer, obtained from PetscViewerBinaryOpen() or NetCDF file viewer, obtained from PetscViewerNetcdfOpen()
| outtype | - the type of vector VECSEQ or VECMPI or PETSC_NULL (which indicates using VECSEQ if the communicator in the Viewer is of size 1; otherwise use VECMPI).

### Output Parameter

newvec -the newly loaded vector

### Notes

The input file must contain the full global vector, as written by the routine VecView().

### Notes for advanced users

Most users should not need to know the details of the binary storage format, since VecLoad() and VecView() completely hide these details. But for anyone who's interested, the standard binary matrix storage format is

         int    VEC_FILE_COOKIE
         int    number of rows
         PetscScalar *values of all nonzeros

Note for Cray users, the int's stored in the binary file are 32 bit integers; not 64 as they are represented in the memory, so if you write your own routines to read/write these binary files from the Cray you need to adjust the integer sizes that you read in, see PetscBinaryRead() and PetscBinaryWrite() to see how this may be done.

In addition, PETSc automatically does the byte swapping for machines that store the bytes reversed, e.g. DEC alpha, freebsd, linux, Windows and the paragon; thus if you write your own binary read/write routines you have to swap the bytes; see PetscBinaryRead() and PetscBinaryWrite() to see how this may be done.

### See Also

PetscViewerBinaryOpen(), VecView(), MatLoad(), VecLoadIntoVector()

Level:intermediate
Location:src/vec/vec/utils/vecio.c
Index of all Vec routines
Table of Contents for all manual pages
Index of all manual pages

### Examples

src/vec/vec/examples/tutorials/ex5.c.html
src/ksp/ksp/examples/tutorials/ex10.c.html
src/ksp/ksp/examples/tutorials/ex27.c.html
src/snes/examples/tutorials/ex26.c.html