Each row in the table below is an example of the use of Silo to represent a different kind of scientific data. Each example shows a picture of the data (visualized with VisIt), describes some of the key concepts the example demonstrates, lists the set of Silo functions the example uses and provides links to both C or C++ source code used to generate the data as well as the resulting Silo data file. Almost all of the examples here use the Silo functions DBCreate, DBClose and so those calls are not explicitly mentioned.
Key concepts: Representation of Constructive Solid Geometry (CSG) meshes, variables and materials defined on CSG meshes and multiple meshes in a single file, error controls.
Silo calls: DBAddOption, DBClose, DBFreeOptlist, DBPutCSGZonelist, DBPutCsgmesh, DBPutCsgvar, DBPutMaterial, DBShowErrors, DBMakeOptlist.
Key concepts: Representation of the same mesh data on both quadrilateral (Quad) and unstructured (UCD) meshes, quadrilateral mesh with deformed (nonlinear) coordinates, representation of materials and mixing materials and material species.
Silo calls: DBAddOption, DBFreeOptlist, DBPutMaterial, DBPutMatspecies, DBPutQuadmesh, DBPutZonelist, DBMakeOptlist.
Key concepts: Representation of parallel decomposition of data using multi-block objects, grouping of blocks into 'groups' using '_visit_domain_groups' convention and other conventions, use of directories.
Silo calls: DBAddOption, DBFreeOptlist, DBMkDir, DBPutMaterial, DBPutMultimat, DBPutMultimesh, DBPutMultivar, DBPutQuadmesh, DBSetDir, DBWrite, DBMakeOptlist.
Key concepts: Point (gridless) meshes and variables, use of directories, quadrilateral meshes and variables.
Silo calls: DBAddOption, DBFreeOptlist, DBMkDir, DBPutMaterial, DBPutPointmesh, DBPutPointvar, DBPutQuadmesh, DBPutQuadvar, DBWrite, DBMakeOptlist.
Key concepts: Unstructured cell data (UCD) meshes with ordinary 'zoo type' elements and arbitrary polyhedral elements.
Silo calls: DBAddOption, DBFreeFacelist, DBFreeOptlist, DBPutFacelist, DBPutMaterial, DBPutMatspecies, DBPutQuadmesh, DBPutUcdmesh, DBPutUcdvar, DBPutZonelist, DBShowErrors, DBWrite, DBMakeOptlist, DBCalcExternalFacelist.
Key concepts: Adaptive Mesh Refinement (AMR) meshes, Quadmeshes, Mesh Region Grouping trees (Mrgtrees) and variables (Mrgvars), Grouping Element Maps (Groupelmaps).
Without Mrgtrees, a multiblock mesh of Quadmeshes representing the different patches of an AMR hierarchy is not properly organized into an AMR hierarchy. The Silo file examples provided here contain two multi-block representations of the meshes, one without an Mrgtree and one with, so you can understand the difference and what the Mrgtree information is doing.
Silo calls: DBMkMrtree, DBAddRegion, DBAddRegionArray, DBPutMrgtree DBPutGroupelmap, DBPutMrgvar.