Input/Output (large-file I/O) strategy
This page collects some ideas and requirements for software design of file-based input and output of large field data.
At this time, the plan is to keep it simple, and only support a Cartesian mesh for structured grid-applications and pure-tetrahedron unstructured meshes. Examples of supported mesh generators are at a MeshConv.
- Checkpoint-Restart (field output, combined with existing support in Charm++)
- Diagnostics (small text of integral data)
- New time step overwrites existing file
- Multiple files for multiple time step data
- Store time evolution in single file
- For large binary fields I/O we use ExodusII HDF5, single file and multiple files, if the mesh changes, e.g., due to mesh refinement or arbitrary-Lagrangian-Eulerian mesh motion.
- For Exodus I/O we use the Seacas/ExodusII library in Trilinos.