Dune Core Modules (2.9.0)
facility for writing and reading grids More...
#include <dune/grid/common/backuprestore.hh>
Static Public Member Functions | |
static void | backup (const Grid &grid, const std::string &filename) |
write a hierarchic grid to disk More... | |
static void | backup (const Grid &grid, std::ostream &stream) |
write a hierarchic grid into a stream More... | |
static Grid * | restore (const std::string &filename) |
read a hierarchic grid from disk More... | |
static Grid * | restore (std::istream &stream) |
read a hierarchic grid from a stream More... | |
Detailed Description
class Dune::BackupRestoreFacility< Grid >
facility for writing and reading grids
facility for writing and reading a SPGrid
The BackupRestoreFacility allows writing hierarchic grids to disk and reading them back into another program.
It is guaranteed that all index sets and id sets are preserved by the backup / restore process. The result of restore is undefined, if the number of processes in a parallel program differs from the number of processes used on backup.
There are two pairs of backup / restore methods:
- methods writing into one or more dedicated files,
- methods operating on a std::stream.
These techniques may not be mixed, i.e., you cannot write the grid into files and read it back from a stream or vice versa. While operating on a std::stream might be convenient, a grid written in another language than C++ might need to emulate this method by writing through a temporary file.
- Note
- The backup and restore methods might not be implemented for each grid. In this case one can catch the Dune::NotImplemented exception and do something else.
- Template Parameters
-
Grid type of grid
The BackupRestoreFacility allows writing hierarchic grids to disk and reading them back into another program.
It is guaranteed that all index sets and id sets are preserved by the backup / restore process. The result of restore is undefined, if the number of processes in a parallel program differs from the number of processes used on backup.
There are two pairs of backup / restore methods:
- methods writing into one or more dedicated files,
- methods operating on a std::stream.
These techniques may not be mixed, i.e., you cannot write the grid into files and read it back from a stream or vice versa.
- Template Parameters
-
Grid type of grid
Member Function Documentation
◆ backup() [1/2]
|
inlinestatic |
write a hierarchic grid to disk
- Parameters
-
[in] grid grid to write [in] filename filename of the file to create
- Note
- This method might create multiple files based on the filename plus internal extension.
References DUNE_THROW.
Referenced by Dune::BackupRestoreFacility< Dune::YaspGrid< dim, Coordinates > >::backup(), Dune::BackupRestoreFacility< YaspGrid< dim, TensorProductCoordinates< ctype, dim > > >::backup(), and Dune::BackupRestoreFacility< ALUGrid< dim, dimworld, elType, refineType, Comm > >::backup().
◆ backup() [2/2]
|
inlinestatic |
write a hierarchic grid into a stream
- Parameters
-
[in] grid grid to write [in] stream std::stream to write the grid to
- Note
- While operating on a std::ostream might be convenient, a grid written in another language than C++ might need to emulate this method by writing through a temporary file.
References DUNE_THROW.
◆ restore() [1/2]
|
inlinestatic |
read a hierarchic grid from disk
- Parameters
-
[in] filename filename of the file to read
- Returns
- a pointer to the grid (allocated by new)
- Note
- This method might require multiple files based on the filename plus some extension.
References DUNE_THROW.
Referenced by Dune::BackupRestoreFacility< ALUGrid< dim, dimworld, elType, refineType, Comm > >::restore(), Dune::BackupRestoreFacility< Dune::YaspGrid< dim, Coordinates > >::restore(), and Dune::BackupRestoreFacility< YaspGrid< dim, TensorProductCoordinates< ctype, dim > > >::restore().
◆ restore() [2/2]
|
inlinestatic |
read a hierarchic grid from a stream
- Parameters
-
[in] stream std::stream to read the grid from
- Note
- While operating on a std::istream might be convenient, a grid written in another language than C++ might need to emulate this method by writing through a temporary file.
References DUNE_THROW.
The documentation for this class was generated from the following file:
- dune/grid/common/backuprestore.hh