Skip to main content
`Ctrl`+`K`

# 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

DM Basics, `DM`, `PetscViewerBinaryOpen()`, `DMView()`, `MatLoad()`, `VecLoad()`

## Level

intermediate

## Location

src/dm/interface/dm.c

## Examples

src/dm/impls/plex/tutorials/ex5.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

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