Quickstart
Prerequisites
This package requires:
python >= 3.10
parsl >= 2025.3.24
numpy >= 2.0
scipy >= 1.0.0
ase >= 3.24.0
Additionally:
Ensure you have a working LAMMPS installation
Ensure you have prepared the initial crystal structures in the Crystallographic Information File (CIF) format or the Vienna Ab initio Simulation Package (VASP) format
Installation
Option A — From Release (preferred)
Install the packaged wheel (activate your Conda env first if you use Conda):
pip install ".../exa_pd-0.1.0-py3-none-any.whl"
Quick check:
exa_pd --help
Option B — From source (Conda-only)
Create/activate the environment, then run from the repo:
conda env create -f exa_pd_env.yml
conda activate exa_pd_env
# from the repository root
python run.py --help
Using a JSON Configuration File
The recommended way to configure exa-PD is through a JSON configuration file. It specifies all the required and optional parameters for running the workflow.
Here is an example configuration file for the Perlmutter system:
{
"general" : {
"system" : "Cu Zr",
"mass" : [63.546, 91.224],
"dir" : "./test",
"pair_style" : "eam/fs",
"pair_coeff" : "* * ./example/v10_5_CuZr_B2.eam.fs Cu Zr",
"run" : 50000
},
"run" : {
"ngpu" : 2,
"ncpu" : 2,
"gpu_schedule_option" : [
"#SBATCH -C gpu",
"#SBATCH -t 01:00:00",
"#SBATCH -A m4802",
"#SBATCH --gpus-per-node=4",
"#SBATCH -q premium"
],
"cpu_schedule_option" : [
"#SBATCH -C cpu",
"#SBATCH -t 01:00:00",
"#SBATCH -A m4802",
"#SBATCH -q premium"
],
"gpu_exe" : "/path/to/lmp_serial -sf gpu -pk gpu 1",
"cpu_exe" : "lmp",
"parsl_config" : "perlmutter"
},
"solid" : {
"phases" : [
"./phases/Cu.cif",
"./phases/Zr3Cu8.poscar",
"./phases/Zr7Cu10.cif",
"./phases/Zr2Cu.poscar",
"./phases/ZrCu.cif",
"./phases/Zr.poscar"
],
"Tmin" : 300,
"Tmax" : 1500,
"dT" : 50,
"Tlist" : [2000],
"ntarget" : 4000
},
"liquid" : {
"data_in" : "./example/liq.lammps",
"initial_comp" : [1, 0],
"final_comp" : [0, 1],
"ncomp" : 10,
"ref_pair_style" : "eam/fs",
"ref_pair_coeff" : "* * ./example/v10_5_CuZr_B2.eam.fs Cu Cu",
"dlbd" : 0.05,
"Tmin" : 700,
"Tmax" : 2000,
"dT" : 50
}
}