Chaste File Formats
General
- .cable
-
File defining 1D elements that can be used in a MixedDimensionMesh. It has almost the same format as a .ele file.
The difference is that the attribute field (rightmost column) of the .cab file is a floating point number (rather than a
non-negative integer). This attribute represents the radius of the cable element.
- .dat
-
This extension is used as a flexible format for several purposes.
- Simulation statistics. The structure of each file varies depending on the data they contain. The structure should be described by comments in the methods which write these data.
An example is the CellAgesWriter class:
- The output is a single value [current simulation time], followed by a tab, followed by a sequence of space-separated values.
- This sequence has the form '...[location index] [x-pos] [y-pos] [z-pos] [cell age] ...' where [y-pos] and [z-pos] are included for 2 and 3 dimensional simulations, respectively.
- Also 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.
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
For the binary version
- First line: <number of elements> BIN
- The following line gives the primary (longitudinal) fibre direction vector for each element as raw binary
- .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
For the binary version
- First line: <number of elements> BIN
- The following line gives the primary/longitudinal fibre direction, then transverse/laminar direction, then normal vector for each element as raw binary
- .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
- *.arch
-
File format for a saved (archived) simulation.
- build.info
-
Details of computer setup for a particular cell_based chaste simulation. This contains information on versions of libraries used and the revision of the Chaste code.
- results.parameters
-
Details of all the classes and parameters used in a cell_based chaste simulation.
- *.dat
-
General format of results files written by cell writer classes, which include a range of different properties of cells at each printing timestep. These take different
formats but, as a representative example, the file cellages.dat (which is written using the class CellAgesWriter) consists of space-separated lines of the form
[time] [location index] [cell 0 x-pos] [cell 0 y-pos] [cell 0 z-pos] [cell 0 age] [cell 1 x-pos] [cell 1 y-pos] [cell 1 z-pos] [cell 1 age].... Note that if
VTK output is switched on, then cell writer objects also output VTK data for the cell population at each printing timestep.
- .viz*
-
General format of results files written by cell_based chaste for the Visualize2dCentreCells.java and Visualize2dVertexCells.java programs.
- .vizancestors
-
The ancestor index of each cell at each timestep in a CellBasedSimulation. 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 timestep 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 timestep in a CellBasedSimulation 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 timestep in a CellBasedSimulation. Each line has the form time c_1 c_2 ... c_n.
- .vizcellphases
-
The cell cycle phase that each cell is in at each timestep in a CellBasedSimulation. Each line has the form time p_1 p_2 ... p_n.
- .vizcoarsepdesolution
-
The solution to a PDE, associated with a CellBasedSimulation, which is solved on a 'coarse' mesh for efficiency. In 2D, each line has the form time coarse_mesh_node_index_1 coarse_mesh_node_x_1 coarse_mesh_node_y_1 solution_at_coarse_mesh_node_1 ... coarse_mesh_node_index_n coarse_mesh_node_x_n coarse_mesh_node_y_n solution_at_coarse_mesh_node_n.
- .vizelements
-
The nodes associated with each element at each timestep in
a CellBasedSimulation.
For a mesh-based simulation
(visualised with Visualize2dCentreCells) where elements have
exactly 3 nodes, each line has the form time element1_node1 element1_node2 element1_node3 ... elementn_node1 elementn_node2 elementn_node3.
For a vertex or Potts simulation
(visualised with Visualize2dVertexCells) where elements have varying
numbers of node, each line has the form time element1_size
element1_node1 element1_node2 element1_node3 element1_node4 ... elementn_size elementn_node1 elementn_node2 elementn_node3.
- .vizlocationindices
-
The location of each cell each timestep in a CaBasedCellPopulation, which allows for multiple occupancy of lattice sites. Each line has the form time location_index_1 ... location_index_n
Also used in MeshBasedCellPopulationWithGhostNodes to indicate which nodes have cells attached.
- .viznodes
-
The position of each node at each timestep in a CellBasedSimulation. 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.
- .vizpdesolution
-
The solution to a PDE, associated with a CellBasedSimulation, which is solved on a 'coarse' mesh for efficiency. In 2D, each line has the form time location_index_1 x_1 y_1 solution_1 ... location_index_n x_n y_n solution_n.
- .vizsetup
-
The cell_based visualiser setup file. This contains such things as mesh_width for periodic simulations.
- .vizstress
-
The stress distribution in a MeshBasedCellPopulation, measured by the extremal normal forces on each cell. Each line has the form time location_index_1 x_1 y_1 minimum_normal_force_1 maximum_normal_force_1 ... location_index_n x_n y_n minimum_normal_force_n maximum_normal_force_n.