LAMMPS三种EAM格式实操
真实Ni与Fe晶体的funcfl、setfl和Finnis–Sinclair输入、元素映射及普通/GPU能量体积扫描。
阅读本篇目录
EAM势不仅有一种文件格式。选择pair_style时,要同时核对势文件布局和元素映射。本篇分别使用Ni的funcfl、Ni的setfl以及Fe的Finnis–Sinclair文件,实际运行晶格体积扫描。
下载五种势模型输入、冻结势文件、实际EOS和压力数据、ASE分析脚本,解压进入run.sh目录。
1 提交整套流程#
sbatch submit.slurm
模板申请核时P100分区1GPU1CPU,顺序完成五种势的普通EOS、三种EAM的GPU对照及五组普通路径压力差分。共有8个EOS后端运行、每个9个体积点,另有5个压力检查、每个3点,共87次固定结构能量与压力求值;按五个势模型工作流组织。
套餐用户用yskit生成所属分区脚本,在已分配资源中执行bash run.sh;不要在登录节点计算。多卡仅使用分配的CUDA可见设备和CPU亲和范围,每卡一个势模型工作流,每程序1MPI1OMP。已有work请重新解压。
LAMMPS30Sep2026、GNU C++13.3.0/C++17、Open MPI5.0.10、CUDA GPU包混合精度;分析ASE3.29.0。普通路径在同一P100节点运行,不是CPU专用节点的性能数据。inputs保存新输入、DATA为本例势文件、reference为实际原始输出、work为新计算。
2 势文件与输入一一对应#
| 工作流 | 元素与结构 | pair_style | pair_coeff * *后面的参数 |
|---|---|---|---|
| eam-funcfl | Ni FCC | eam | ../DATA/Ni_u3.eam |
| eam-alloy | Ni FCC | eam/alloy | ../DATA/CuNi.eam.alloy Ni |
| eam-fs | Fe BCC | eam/fs | ../DATA/Fe_mm.eam.fs Fe |
funcfl是单元素DYNAMO格式;eam/alloy读取setfl文件,后面按LAMMPS原子类型顺序列出元素;eam/fs使用相应Finnis–Sinclair格式。不能只改文件后缀就把一种格式变成另一种。
CuNi.eam.alloy包含Ni和Cu,但本例只建立一种Ni原子类型,所以映射只写一个Ni;使用多元素势文件并不要求模型包含文件中全部元素。真正的合金计算需按自己的原子类型逐一写出映射,并采用经过对应组分验证的参数。
EAM能量含电子密度相关的嵌入项,属于多体模型;两原子曲线不能代替实际晶体、配位和密度环境的检查。截断与函数表由势文件给出,不在pair_style后面另填一个LJ式截断。
3 Ni funcfl完整输入#
units metal
atom_style atomic
boundary p p p
lattice fcc 3.52
region box block 0 4 0 4 0 4
create_box 1 box
create_atoms 1 box
pair_style eam
pair_coeff * * ../DATA/Ni_u3.eam
neighbor 0.3 bin
thermo_style custom step atoms pe vol press
thermo_modify norm no format float %.16g
variable a index 3.3792 3.4144 3.4496 3.4848 3.52 3.5552 3.5904 3.6256 3.6608
label scan
change_box all x final 0 $(4*v_a) y final 0 $(4*v_a) z final 0 $(4*v_a) remap units box
run 0
print "EOS ${a} $(vol:%.16g) $(pe:%.16g) $(press:%.16g) $(atoms:%.0f)" append eos.dat screen no
write_dump all custom atoms-${a}.dump id type x y z fx fy fz modify sort id format float %.16g
next a
jump SELF scan
本例建立4×4×4个常规FCC晶胞,共256原子。change_box ... remap在每个格常数下均匀改变盒和原子位置,run 0求该构型的能量、体积和压力,随后写出结构。
Ni基准格常数3.52Å,扫描±4%的9点;Fe基准2.86Å,同样扫描9点,4×4×4个BCC晶胞共128原子。这里沿立方格常数改变体积,原子仿射随盒缩放,不是任意畸变晶胞或缺陷模型的全自由度优化。
4 GPU路径与实际曲线#
三个EAM样式在本构建中都有相应GPU实现。配套gpu目录在建盒前加入package gpu 1 neigh no、suffix gpu和newton off;其余结构、势文件和体积点相同。
head -n 4 DATA/Ni_u3.eam
head -n 6 DATA/CuNi.eam.alloy
head -n 6 DATA/Fe_mm.eam.fs
cat work/cases/eam-alloy-cpu/eos.dat
cat work/cases/eam-alloy-gpu/eos.dat

同为Ni的两个势文件也有不同参数来源,不用它们的绝对能量给方法准确度排名。选择实际材料势,应核对原作者、文献、适用组分与训练/拟合范围;本包保留来自已安装LAMMPS发行材料的原始文件头与来源哈希。
提取与重画#
module load ase/3.29.0
python analyze.py work
python plot_results.py work
python check_results.py work
cat work/analysis/eos-fits.csv
cat work/analysis/pressure-check.csv
eos-fits.csv包含局部五点与完整九点两种拟合的晶格常数、每原子体积、能量、体积模量和拟合残差;pressure-check.csv保存原生压力与独立能量差分。JSON还保存所有原始扫描值和GPU对照。查看本文数据时将work改成reference。
完整格式说明:LAMMPS EAM官方手册。继续看EOS与晶格体积。