Chaste File Formats
General
- .dat
-
Primarily used for the fixed-width space-separated column data file format, written by the ColumnDataWriter class, and compatible with Gnuplot.
- First line is a header, of the form Name1(units1) Name2(units2) ... NameN(unitsN).
- Subsequent lines give the data. Columns are padded with spaces to a fixed width, determined by the precision argument to the writer constructor.
Other parts of the code do write files with a .dat extension which don't follow this rigid format.
They are all, however, data files with a similar structure suitable for plotting with Gnuplot.
- .edge
-
Edge file for Triangle or Tetgen format meshes.
- First line: <number of edges> <number of boundary markers (0 or 1)>
- Optional marker BIN at the end of the first line indicates
that all following data are presented as raw binary data with no
whitespace (this is a Chaste modification of the Triangle format)
- Following lines: <edge number> <endpoint node> <endpoint node> [boundary marker]
- Lines starting with a hash (#) are comments
- .ele
-
Element file for Triangle or Tetgen format meshes.
- First line: <number of elements> <nodes per element> <numer of attributes>
- Optional marker BIN at the end of the first line indicates
that all following data are presented as raw binary data with no
whitespace (this is a Chaste modification of the Triangle format)
- Remaining lines: <element number> <node> <node> <node> ... [attributes]
- Lines starting with a hash (#) are comments
- .exnode
-
CMGUI node format, see the Cmgui guide.
- .exelem
-
CMGUI element format, see the Cmgui guide.
- .face
-
Faces file for Tetgen format meshes.
- First line: <number of faces> <boundary marker (0 or 1)>
- Optional marker BIN at the end of the first line indicates
that all following data are presented as raw binary data with no
whitespace (this is a Chaste modification of the Triangle format)
- Remaining lines: <face number> <node> <node> <node> [boundary marker]
- Lines starting with a hash (#) are comments
- .h5
-
HDF5 format used for cardiac simulation results. HDF5 represents data in a hierarchical way. Each file contains different datasets, with each dataset containing dataspaces and attributes. Every HDF5 file generated by Chaste defines two main datasets:
- Data, containing:
- A 3D array with the simulation results. First dimension being timestep number, second node number, and third variable index.
- Variable Details: attribute with the variable names and units.
- IsDataComplete: attribute to say whether the file contains information for all the nodes in the mesh or only for a subset.
- Chaste Provenance: attribute giving provenance information (Chaste release, time, OS and machine built on).
- Time, containing:
- A 1D array with the time at the end of each timestep.
- Unit: attribute with the unit of time.
The program h5dump (if installed) can be used to view the contents of small HDF5 files. Larger datasets can be converted to Meshalyzer, CMGUI or VTK readable files using the classes Hdf5ToMeshalyzerConverter, Hdf5ToCmguiConverter or Hdf5ToVtkConverter. One of these is generally called at the end of a cardiac simulation that writes HDF5 data.
- .info
-
There are 3 different sorts of .info file:
- archive.info is read and written by the cardiac archiving code, and is not for user consumption.
- The ColumnDataWriter also creates a .info file, to tell it how many variables of different types there are.
- The final kind, named "something_times.info", is created by the cardiac post-processing code, to give a human readable summary of the timesteps used.
- .log
-
Used for test output.
- .ncl
-
Node connectivity file for Triangle or Tetgen format meshes. For each mesh node, records which elements contain the node. Note that this file format is not part of the standard Triangle or Tetgen format, but can be created by Chaste and then used to make the mesh load faster in parallel.
- First line: <number of nodes> <maximum number of containing elements>
- Marker BIN at the end of the first line indicates
that all following data are presented as raw binary data with no
whitespace (this is a Chaste modification of the Triangle format).
All .ncl files are binary.
- Remaining lines: <node number> <element> <element> <element> ... [padding to ensure all lines are equal length]
- .node
-
Nodes file for Triangle or Tetgen format meshes.
- First line: <number of nodes> <space dimension> <number of attributes> <number of boundary markers (0 or 1)>
- Optional marker BIN at the end of the first line indicates
that all following data are presented as raw binary data with no
whitespace (this is a Chaste modification of the Triangle format)
- Remaining lines: <node number> <x> [<y>] [<z>] [attributes] [boundary marker]
- Lines starting with a hash (#) are comments
- .vtu
-
An XML file format used to visualize simulation results in a VTK visualizer. The file format represents a Chaste mesh as a vtkUnstructuredGrid, with each variable represented as point data. The file consists of:
- XML headers that define the data structure (vtkUnstructuredGrid), the number of nodes (called points in VTK) and elements (called cells in VTK) in the grid and the point data defined on it.
- Data as a sequence of ASCII characters.
Cardiac
- .axi
-
Defines the fibre direction for each element (used for setting up axisymmetric (transversely isotropic) conductivity tensors).
- First line: <number of elements>
- Following lines give the primary (longitudinal) fibre direction vector for each element
- .epi
-
Used to specify a list of node numbers (one column) of the nodes belonging to the epicardial surface.
- .endo
-
Used to specify a list of node numbers (one column) of the nodes belonging to the endocardial surface.
- .mid
-
Used to specify a list of node numbers (one column) of the nodes belonging to the midmyocardial surface.
- .ortho
-
Defines the fibre, sheet and normal directions for each element (used for setting up orthotropic (anisotropic) conductivity tensors).
- First line: <number of elements>
- Following lines give the fibre direction vectors for each element,
primary/longitudinal direction, then transverse/laminar direction, then normal, i.e. fibre1 fibre2 fibre3 sheet1 sheet2 sheet3 normal1 normal2 normal3
- .pts
-
Meshalyzer (used for visualisation) nodes format. First line is <number of nodes>. Following lines are the nodal coordinates.
- .tri
-
Meshalyzer (used for visualisation) triangles format. Represents elements in 2D, and boundary elements in 3D.
- .tetra
-
Meshalyzer (used for visualisation) elements format.
Cell-based
- .viz*
-
General format of results files written by cell_based chaste for the Visualize2dCells.java program.
- .vizancestors
-
The ancestor index of each cell at each time step in a TissueSimulation. Each line has the form time ancestor_1 ancestor_2 ... ancestor_n.
- .vizbetacatenin
-
The levels of membrane-bound, cytoplasmic and nuclear beta-catenin in each cell at each time step in a CryptSimulation2d.
Each line has the form time location_index_1 x_1 y_1 b_cat_membrane_1 b_cat_cytoplasm_1 b_cat_nuclear_1 ...
location_index_n x_n y_n b_cat_membrane_n b_cat_cytoplasm_n b_cat_nuclear_n.
- .vizboundarynodes
-
Whether each node at each time step in a TissueSimulation is a boundary node. Each line has the form time bool_1 bool_2 ... bool_n.
- .vizcelltypes
-
The cell type of each cell at each time step in a TissueSimulation. Each line has the form time c_1 c_2 ... c_n.
- .vizelements
-
The nodes associated with each element at each time step in a TissueSimulation. Each line has the form time element1_node1 element1_node2 element1_node3 ... elementn_node1 elementn_node2 elementn_node3.
- .viznodes
-
The position of each node at each time step in a TissueSimulation. Each line has the form time x_1 ... x_n in 1D, time x_1 y_1 ... x_n y_n in 2D and time x_1 y_1 z_1... x_n y_n z_n in 3D.
- .vizsetup
-
The cell_based visualiser setup file. This contains such things as mesh_width for periodic simulations.