CON and convel file format specification¶
1 Overview¶
The CON file format originated in the eOn (Evolving Objects on Networks) saddle-point search code. It stores atomic configurations for molecular dynamics and transition-state search simulations. The convel extension adds per-atom velocity data.
2 File extensions¶
.conCoordinate-only configuration files.
.convelConfiguration files with velocity sections appended after each frame’s coordinate blocks.
3 Header (9 lines)¶
Every frame begins with a 9-line header:
Line |
Content |
Example |
|---|---|---|
1 |
Comment (often “Random Number Seed”) |
|
2 |
Comment (often “Time”) |
|
3 |
Cell dimensions: Lx Ly Lz |
|
4 |
Cell angles: alpha beta gamma |
|
5 |
Comment (reserved) |
|
6 |
Comment (reserved) |
|
7 |
Number of atom types (N) |
|
8 |
Atoms per type (N integers) |
|
9 |
Mass per type (N floats) |
|
Cell dimensions and angles are whitespace-separated floating-point values. Tabs and spaces are both valid separators throughout the format.
4 Coordinate blocks¶
After the header, for each atom type i (1 to N):
Symbol line :: The chemical symbol for this type (e.g.,
Cu,H).Label line ::
Coordinates of Component iAtom lines :: One line per atom:
x y z fixed_flag atom_id
Where:
x,y,zare floating-point Cartesian coordinates.fixed_flagis0(free) or1(fixed/frozen).atom_idis a non-negative integer identifier.
Atoms within a type block appear in order of their atom_id.
5 Velocity blocks (convel only)¶
In .convel files, a velocity section follows the coordinate blocks
of each frame. The structure is:
Blank separator line :: An empty line (or whitespace-only) marking the start of the velocity section.
For each atom type i (1 to N): a. Symbol line :: Same chemical symbol as in the coordinate block. b. Label line ::
Velocities of Component ic. Atom lines :: One line per atom:vx vy vz fixed_flag atom_id
The velocity fields vx, vy, vz are floating-point velocity
components. The fixed_flag and atom_id match those in the
corresponding coordinate block.
If no blank line follows the coordinate blocks, the frame has no
velocity data (standard .con behavior).
6 Multi-frame files¶
Multiple frames are concatenated directly with no separator. The parser detects a new frame by encountering a valid 9-line header after the previous frame’s data (coordinate blocks, and velocity blocks if present).
7 Data types¶
- Floating-point values
Written with at least 6 decimal places of precision. Parsers should accept any valid floating-point representation.
- Integer values
fixed_flagis 0 or 1.atom_idandnatm_typesare non-negative integers.natms_per_typevalues are positive integers.
8 Constraints¶
Atoms must be grouped by type in the order declared in the header.
Component numbering starts at 1.
The total number of atoms equals the sum of
natms_per_type.Maximum 100 atom types (practical limit from eOn).
Symbol strings should match standard chemical element symbols.