Structure input formats¶
eOn reads .con and .convel files through readcon. Builds that link
chemfiles also read .xyz, .extxyz, .pdb,
.cif, .gro, LAMMPS data, POSCAR and the other chemfiles formats. Output
stays .con, so restarts and the server keep working unchanged.
Install¶
The pixi environment carries chemfiles-lib. The default
-Dwith_chemfiles=auto finds it, and builds the bundled CMake wrap when the
environment lacks it.
pixi shell
meson setup bbdir --prefix=$CONDA_PREFIX --libdir=lib --buildtype=release \
--force-fallback-for=nlohmann_json,hwy -Drgpot:with_mpi=enabled
meson compile -C bbdir
meson test -C bbdir --suite eon
Pass -Dwith_chemfiles=enabled to stop configure when chemfiles is missing,
or -Dwith_chemfiles=disabled for a .con-only client. A client without
chemfiles refuses a foreign file with a message saying how to enable it.
Usage¶
The extension picks the reader. .con, .convel and their .gz/.zst
forms go to readcon. Known chemfiles extensions (.xyz, .extxyz, .pdb,
.cif, .gro, .data, .lmp, .mol2, .sdf, .vasp, plus POSCAR and
CONTCAR names) go to chemfiles.
Jobs name their inputs pos.con or reactant.con. Set
input_format and eOn reads pos.xyz in place of pos.con whenever
pos.xyz exists:
[Main]
job = minimization
input_format = xyz
The job writes min.con as before.
What gets mapped¶
Positions, elements, masses, and velocities when the file has them.
Fixed atoms from
.extxyzper-atom properties:fixed(true means frozen) or ASE’smove_mask(true means free). A three-column property freezes each direction on its own.
Cell¶
A cell in the file wins, such as the
.extxyzLattice=or a.pdbCRYST1record. The system then runs periodic.With no cell in the file,
[Main] cellsupplies one: three numbersa b cfor an orthorhombic box, or nine for the lattice vectors as rows.[Main] pbc(defaulttrue) sets periodicity.With neither, eOn logs a warning that names the file and these keys, then builds a non-periodic orthorhombic box around the atoms with
[Main] default_vacuum(default 10 Å) on every side and shifts the atoms into it.
[Main]
input_format = xyz
cell = 20 20 20
pbc = true
default_vacuum = 10.0