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.

Input format requirements

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.

File output types

  1. Eulerian-mesh
  2. Checkpoint-Restart (field output, combined with existing support in Charm++)
  3. Diagnostics (small text of integral data)

Output policies

  1. New time step overwrites existing file
  2. Multiple files for multiple time step data
  3. Store time evolution in single file

Input/Output requirements for large Euler mesh-based field output

  1. 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.
  2. For Exodus I/O we use the Seacas/ExodusII library in Trilinos.