Data repository for "Chemical potentials from structure factors: I. Neutral multi-component mixtures"
This repository computes composition-dependent chemical potentials of multicomponent liquids directly from NPT molecular dynamics simulations using the extended-S0 method.
NPT MD → S_αβ(k) → S^0 = S(k→0) → Γ (chemical-potential derivatives) → ∫ → μ_i
(OZ fit) (S0_multi) (GPR_grad)
- Run NPT molecular dynamics simulations over a grid of compositions.
- Compute partial structure factors, Sαβ(k), from the trajectories.
- Extrapolate S_αβ(k) to k→0 to obtain S_αβ^0 (the examples use the OZ matrix fit).
- Calculate chemical-potential derivatives using the S0_multi package.
- Integrate the chemical-potential derivatives using the GPR_grad package with one or more reference chemical potentials.
- Optional: use GPR_grad's CUR point selection to identify additional compositions to simulate, as demonstrated for the Fe–Cu–Ni liquid alloy example.
LiquidAlloyFeCuNi/— MD inputs, simulated S0 data, and stationary GP regression models for the Fe-Cu-Ni system.Paracetamo-Water-Ethanol/— MD inputs, simulated S0 data, and non-stationary GP regression models for the paracetamol–water–ethanol system.
Running the example workflows requires the following Python packages:
- Python 3.10+
- NumPy
- SciPy
- pandas
- matplotlib
- scikit-learn
- mpltern
- PyTorch
The workflow relies on the following companion packages:
| Package | Role | Source |
|---|---|---|
S0_multi (szero) |
Converts fitted S0 values into the Γ matrix of chemical-potential derivatives. |
GitHub |
GPR_grad (gpr_grad) |
PyTorch Gaussian-process regression with function-value and gradient observations; includes CUR point selection. | GitHub |