Data and scripts accompanying the manuscript "OptiMat Alloys: a FAIR-aligned living database of multi-principal element alloys enabled by a conversational agent".
(zip root)/
├── README.md # this file
├── OptiMat Alloys Demo.mp4 # screencast of the live agent (Fig. 2)
├── agent_database/ # the agent's structure database
├── vasp_validation/ # DFT validation calculations; CoCrFeNi elastic tensors (Table 3)
├── umlip_benchmarks/ # U-MLIP single points on external DFT datasets (SI Figs. S5-S7)
├── effective_pair_interactions/ # pair-interaction fits and SRO check (SI Figs. S8-S9)
├── agent_evaluation/ # agent-layer evaluation screenshots (SI Section S6)
├── llm_backbone_evaluation/ # LLM backbone comparison (SI Section S3)
├── runtime_benchmarks/ # U-MLIP and VASP timings (Table 2, SI Table S8)
├── thermophysical_benchmarks/ # bulk modulus, thermal expansion, heat capacity (SI Tables S12-S15)
└── umlip_weights/ # U-MLIP checkpoint files used for the results
agent_database/database.db: ASE SQLite database of the agent, with the 491 structures it
generated, relaxed or evaluated and their metadata (calculator, composition,
energies, formation energies). Read with
ase.db.connect("agent_database/database.db").
vasp_validation/VASP 6.5.0 calculations with the PAW-PBE (v54) potentials and the OMat24 settings.
| Folder | Content |
|--------|---------|
| alloys/ | 29 relaxations of MLIP-relaxed alloy supercells (32-108 atoms): the 28 alloys of SI Fig. S2 and the 108-atom CoCrFeNi cell of Table 3 (206a646188604a2b9ed5ac6835840047). Each folder is named by the unique_id of the structure in agent_database/database.db. |
| elements/ | 64 elemental relaxations named <Element>_<structure>, used as references for formation energies. The *_hcp_ideal folders hold HCP cells at the ideal c/a and are not used as references. |
| cocrfeni_elastic_dft/ | The three DFT elastic tensors of FCC CoCrFeNi in Table 3 (see below). |
Each folder in alloys/ and elements/ contains INCAR, KPOINTS, POSCAR,
CONTCAR, OUTCAR, the SLURM script run.sh, POTCAR.spec and
metadata.json (source structure, calculator, MLIP energies). Formation
energies per atom are E_f = E_alloy/N - sum_i x_i E_i, with E_i from the
elements/ references.
cocrfeni_elastic_dft/:
| Folder | Table 3 | Content |
|--------|---------|---------|
| cocrfeni_elastic_dft/ | a | 108-atom SQS, element-specific ferromagnetic initial moments; 24 strained cells in deformations/. Its parent relaxation is alloys/206a646188604a2b9ed5ac6835840047/. |
| cocrfeni_relax_magmom5/, cocrfeni_elastic_dft_magmom5/ | g | The same SQS with uniform initial moments of 5 muB: relaxation and 24 strained cells. |
| cocrfeni_relax_256/, cocrfeni_elastic_dft_256/ | h | An independent 256-atom SQS: relaxation and 24 strained cells. |
Each tensor is a stress-strain fit over 24 strained cells (normal strains
+/-0.005 and +/-0.010, shear strains +/-0.03 and +/-0.06), with the atoms
relaxed in each. Each elastic folder contains generate_deformations.py
(writes the strained cells), postprocess_elastic.py (fits the tensor) and
elastic_results.json (full tensor, C11, C12, C44 and Voigt-Reuss-Hill
moduli). analyze_magnetization_and_moduli.py reads the OUTCARs and the
fitted tensors and writes magnetization_and_moduli.json (net magnetization
per atom, antiparallel Cr moments, elastic constants of the three cases).
VASP POTCAR files are licensed and not included. POTCAR.spec lists the
potentials used, in POSCAR order (e.g. PAW_PBE Cu 22Jun2005); the POTCAR is
the concatenation of $VASP_PP_PATH/potpaw_PBE.54/<label>/POTCAR for these
labels.
umlip_benchmarks/Single-point energies and forces of ORB v3 (orb-v3-conservative-inf-omat),
MACE omat-0-medium and NequIP oam-xl at the DFT geometries of three external
datasets, with the DFT reference values.
| File | SI | Source dataset (licence) | Frames |
|------|----|--------------------------|-------:|
| mueller2025_singlepoint.extxyz | Fig. S5 | Mueller & Natarajan, Materials Cloud 10.24435/materialscloud:gn-xa (CC BY 4.0): Cr-Mo-Nb-Ta-V-W BCC orderings | 1,317 |
| omat24_rattled_magnetic_singlepoint.extxyz | Fig. S6 | OMat24 (Barroso-Luque et al., CC BY 4.0): rattled validation subsets, metallic frames with Cr, Mn, Fe, Co or Ni | 13,782 |
| li2024_hea_magnetic_singlepoint.extxyz | Fig. S7 | Li et al., Zenodo 10854500 (CC BY 4.0): magnetic high-entropy alloys | 1,713 |
Each frame stores the source identifier, the DFT and predicted total
energies (energy_dft_eV, energy_<calculator>_eV) and forces
(forces_<calculator>_eV_per_A, and forces_dft_eV_per_A where available).
Read with ase.io.read(file, index=":"). Each .extxyz has a .csv with one
row per frame (identifier, formula, number of atoms, energies).
effective_pair_interactions/Effective-pair-interaction (EPI) fits to the 600 equiatomic Cr-Mo-Nb-Ta-V-W orderings of Mueller & Natarajan and the comparison with their short-range order (SI Section S4.3.4).
| File | Content |
|------|---------|
| mueller2025/data.json | Structures and DFT energies, from Materials Cloud 10.24435/materialscloud:gn-xa (CC BY 4.0). |
| mueller2025/relax.py | Relaxes each ordering with one U-MLIP. |
| mueller2025/results-{orb,mace-omat,nequip-oam-xl}.jsonl | Relaxed energies and volumes. |
| step3_muller_vs_umlip_relaxed.py | Fits the EPIs to each potential's relaxed energies (uses helpers from step3_muller_vs_umlip_same_configs.py). |
| step3_muller_umlip_relaxed_V_1NN.{json,csv} | Fitted EPIs, R^2 and RMSE per potential. |
| sro_consistency_check.py, .json | Compares the sign of the nearest-neighbour EPIs with the Monte Carlo short-range order. |
| plot_step3_V_1NN_vs_muller_sro.py, plot_step3_fit_parity.py | Plot SI Figs. S8 and S9. |
Run order: step3_muller_vs_umlip_relaxed.py, sro_consistency_check.py,
then the plot scripts. Requires numpy, ASE, pymatgen and matplotlib.
agent_evaluation/Screenshots of the agent-layer evaluation, one folder per request:
failure_test/ (Table S21), reproducibility/ (Table S23), ambiguity/
(Table S24) and parity/ (Table S25). Some folders also contain
body_text.txt, the text of the chat page. agent_evaluation/README.md
lists the request behind every folder.
llm_backbone_evaluation/FREE_MODEL_EVALUATION.md: the LLM backbone evaluation behind SI Tables S4
and S5 (test suite, scoring rubric and results per model).
runtime_benchmarks/| File | Content |
|------|---------|
| forward_pass_cocrfeni_default.csv | U-MLIP forward-pass times (energy and forces) on FCC CoCrFeNi supercells, default installation (Table 2). |
| forward_pass_cocrfeni_with_cueq.csv | The same with cuEquivariance (SI Table S8); see README_benchmark_notes.md for the columns. |
| bench_forward_pass_cocrfeni.py | Benchmark script; it imports the calculator loaders of OptiMat Alloys, so run it from scripts/benchmarks/ in a clone of https://github.com/OptiMat-Chat/OptiMat-Alloys. |
| fit_scaling_exponents.py | Power-law fits of time against atom count (SI Section S4.2). |
| vasp_gpu/ | VASP GPU runs behind the VASP column of Table 2: inputs, OUTCAR and POTCAR.spec per supercell, and vasp_timings_from_outcar.py, which extracts the timings. |
| vasp_gpu_timings_summary.csv | The VASP column of Table 2. |
thermophysical_benchmarks/| Path | Content |
|------|---------|
| elemental_qha/qha_results_elements.json | QHA results at 300 K (B, alpha, Cp, imaginary-mode flag, minimum phonon frequency) of the 28 elemental metals with four potentials: the values of Tables S12, S14 and S15. Entries with printed_in_tables = false are dashed in the tables. |
| elemental_qha/compute_elemental_qha.py | Batch QHA driver. |
| elemental_qha/qha_single_entry.py | QHA of one metal and potential, fitted with all 11 volumes and without the volumes that show imaginary modes. Computes the entries of Tables S12, S14 and S15 not produced by the batch run, including the refits without the volumes with imaginary modes. |
| dft_references/ | Materials Project and JARVIS-DFT bulk moduli of the elements, with the query and extraction scripts (the MP query needs an API key in MP_API_KEY). |
| intermetallics/qha_results_intermetallics.json | QHA bulk moduli at 300 K of the 29 intermetallics with four potentials (Table S13), with per-volume imaginary-mode counts and relaxed structures. |
| intermetallics/bulk_moduli_experiment_dft.csv | Experimental bulk moduli with their references, and the Materials Project DFT values. |
| intermetallics/mp_alloy_elastic.csv | Materials Project elastic data from which the DFT values are taken. |
| intermetallics/intermetallics_29_mp.extxyz, complist_29.csv | The 29 input structures. |
| intermetallics/compute_intermetallic_qha.py | QHA driver for the intermetallics (Table S13 used QHA_FZ=1 QHA_COUNT=1). |
QHA settings: 11 volumes within +/-10%, Vinet equation of state, values at
300 K. Elemental metals: cubic cells relaxed hydrostatically, HCP cells fully;
3x3x3 (FCC, BCC) and 3x3x2 (HCP) supercells with 20x20x20 and 20x20x12 meshes.
Intermetallics: full relaxation; supercells and meshes scaled to each cell;
forces of the undisplaced supercell subtracted before the force constants are
built (QHA_FZ=1; not applied to the elemental metals, where these forces
vanish by symmetry).
Imaginary modes: a volume shows imaginary modes when more than 3 mesh modes
have frequency <= 0 (the rule of phonopy-qha --exclude_imaginary). One or
two such volumes are left out of the fit (listed in
volumes_excluded_from_fit); with three or more the entry is dashed. The
flags has_imaginary_modes / dynamically_stable mark a mesh frequency below
-0.1 THz at any of the 11 volumes, i.e. somewhere in the strained range, not
necessarily at equilibrium. Field definitions are also given in the results
files.
Experimental values: elemental bulk moduli from Simmons and Wang, thermal
expansion from Touloukian et al., heat capacity from the NIST-JANAF tables;
intermetallic values from the sources in bulk_moduli_experiment_dft.csv.
The QHA scripts import modules of OptiMat Alloys
(https://github.com/OptiMat-Chat/OptiMat-Alloys): place its source in a folder
OptiMat-Chat/ next to thermophysical_benchmarks/.
umlip_weights/Checkpoint files of the U-MLIPs used for the reported results, copied
unmodified from the developers' releases: ORB v3 conservative and direct
(orb_v3/), MACE mpa-0-medium (mace/), and NequIP oam-xl, oam-l and mp-l
(nequip/), each with its licence. umlip_weights/README.md lists the
SHA-256 checksum and original source of every file. The MACE omat-0
checkpoints are not included (Academic Software License); their sources and
checksums are listed in the same README.