v2026.11.16174
Reference / File formats / Mesh file

Mesh file

A zCFD mesh is an HDF5 file holding one group, mesh. The group carries two attributes, numCells and numFaces, and the datasets below. Every index counts from zero. Preparing a mesh describes how to convert a mesh into this format.

The group mesh in an HDF5 file, with its two attributes and seven datasets; faceType gives the number of nodes of each face, and so splits faceNodes into one run of node indices per face

Datasets

DatasetShapeContents
nodeVertexnodes × 3, floatthe coordinates of each node, in mesh units
faceTypefaces × 1, integerthe number of nodes of each face
faceNodes(sum of faceType) × 1the node indices of each face in turn, in face order
faceCellfaces × 2, integerthe left and right cell of each face
faceBCfaces × 1, integerthe boundary type code of each face, 0 for an interior face
faceInfofaces × 2, integerthe zone identifier of each face in the first column; the converters write 0 in the second
cellZonecells × 1, integeroptional; the cell zone number of each cell, which a fluid zone's cell zones selects

Cells and faces

The left cell of every face is a real cell, numbered below numCells. The right cell of an interior face is also a real cell. The right cell of a boundary face is a halo cell: halo cells are numbered from numCells upwards, one for each boundary face.

The node order of a face defines its normal by the right-hand rule. That normal must point out of the left cell and into the right cell, so on a boundary face it points out of the domain. A face wound the other way gives its cells wrong volumes.

An interior face between cells 0 and 1, with its normal pointing from cell 0 into cell 1, and a boundary face between cell 1 and a halo cell numbered from numCells, with its normal pointing out of the domain

A boundary condition in the control file names the zones it applies to by the zone identifiers in faceInfo.

Boundary type codes

faceBC holds 0 for an interior face and, for a boundary face, the code of its boundary type:

CodeBoundary type
0interior face
3wall
4inflow
5outflow
7symmetry
9farfield
18periodic
20overset
22sliding

The type of the boundary condition that names a zone decides how the solver treats that zone; the code in the mesh does not.