:orphan:
# DMLoad
Loads a DM that has been stored in binary with `DMView()`.
## Synopsis
```
#include "petscdm.h"
#include "petscdmlabel.h"
#include "petscds.h"
PetscErrorCode DMLoad(DM newdm, PetscViewer viewer)
```
Collective
## Input Parameters
- ***newdm -*** the newly loaded `DM`, this needs to have been created with `DMCreate()` or
some related function before a call to `DMLoad()`.
- ***viewer -*** binary file viewer, obtained from `PetscViewerBinaryOpen()` or
`PETSCVIEWERHDF5` file viewer, obtained from `PetscViewerHDF5Open()`
## Notes
The type is determined by the data in the file, any type set into the DM before this call is ignored.
Using `PETSCVIEWERHDF5` type with `PETSC_VIEWER_HDF5_PETSC` format, one can save multiple `DMPLEX`
meshes in a single HDF5 file. This in turn requires one to name the `DMPLEX` object with `PetscObjectSetName()`
before saving it with `DMView()` and before loading it with `DMLoad()` for identification of the mesh object.
## See Also
[](ch_dmbase), `DM`, `PetscViewerBinaryOpen()`, `DMView()`, `MatLoad()`, `VecLoad()`
## Level
intermediate
## Location
src/dm/interface/dm.c
## Examples
src/dm/impls/plex/tutorials/ex5.c
src/tao/tutorials/ex3.c
## Implementations
DMLoad_DA in src/dm/impls/da/dacreate.c
DMLoad_Plex in src/dm/impls/plex/plex.c
DMLoad_Shell in src/dm/impls/shell/dmshell.c
---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/dm/interface/dm.c)
[Index of all DM routines](index.md)
[Table of Contents for all manual pages](/manualpages/index.md)
[Index of all manual pages](/manualpages/singleindex.md)