Supported Structure/Result Formats
NepTrainKit can load and convert multiple common output formats into its internal Structure representation for analysis and plotting. This section summarizes what is supported and any caveats.
NEP datasets (native)
.xyz/.extxyz(train/test)Loader: native EXTXYZ importer
Reads per-frame lattice (if present), species and Cartesian positions
Optional atomic properties such as forces will be used when available
NEP model side files
nep.txt: model descriptor (used to pick result type)energy_*.out,force_*.out,virial_*.out,stress_*.outanddescriptor*.out: results loaded by NEP loaders
VASP
OUTCARLoader: VASP OUTCAR importer (streaming)
Reads per-step lattice, positions, TOTAL-FORCE blocks (DFT), stress in kB (converted to eV/Å^3)
Computes virial from stress (or uses printed virial if present)
Ignores ML POSITION blocks by default to avoid mismatching with TOTEN
XDATCARLoader: XDATCAR importer (streaming)
Reads varying cell per frame, fractional coordinates (converted to Cartesian), species from header
LAMMPS
dump/lammpstrjLoader: LAMMPS dump importer (streaming)
Supports orthogonal and triclinic boxes (xy/xz/yz tilts), columns
x y zorxs ys zs(xu/yu/zu), optionalfx fy fzSpecies: If
elementcolumn is present, uses it; otherwise a popup window will be displayed to let the user enter the element list (corresponding to type 1…N).
ASE trajectories
.trajLoader: ASE trajectory importer (requires ASE)
Uses
ase.io.iread()to iterate frames and converts each Atoms toStructureCaptures lattice, species, positions, optional forces, pbc flags, and stress/virial if present in
atoms
Fallback conversion
When an unrecognized format is selected, NepTrainKit attempts to detect if any registered importer can parse it. If not, no loading occurs. You can always convert your data to EXTXYZ to ensure compatibility.
Cancelation and performance
All stream parsers support a cooperative
cancel_eventused by the UI to stop loading.Rendering decimation is applied for very large datasets to keep the UI responsive; selections operate on the full data regardless of decimation.