LAMMPS 专题

LAMMPS 能量体积曲线与平衡晶格

能量体积曲线与平衡晶格,包含可提交输入、实际终端命令、数据和配图。

更新于 2026-10-27约 5 分钟阅读按任务与环境选择适用配置
阅读本篇目录

本文使用鸢算科技集群 LAMMPS 30 Sep 2026 的真实计算。下载输入、参考轨迹、分析脚本与数据图(约 72.5 MB),解压后进入 lammps-examples。cases 保存参考结果,inputs 保存干净输入,使用 new-case.py 创建自己的计算副本。

要完成什么#

在 7 个晶格常数下分别计算同一 FCC 镍的能量,构成 E–V 曲线。每个点保持晶胞固定,只优化内部坐标;如果每个点都使用 box/relax,所有点会回到同一个平衡体积,无法得到扫描曲线。

图中按每原子体积和每原子能量比较,用局部二次式拟合最低点并估算体模量。这个拟合是教学近似,不等同于经过范围和模型检验的 Birch–Murnaghan 状态方程。要换材料,先替换势函数和结构,再检查扫描范围是否包住最低点。

1 准备并提交#

python new-case.py ni-eos-3.42
cd work/ni-eos-3.42
sbatch run.sh

run.sh 是本算例匹配的核时 P100 或 V10016G 模板。套餐用户按自己的权限使用 yskit 生成提交脚本,保留下面的计算命令。完整模拟在计算节点执行。其他例子回到资料包根目录,替换目录名后分别提交。

目录 内容
ni-eos-3.42 独立输入、参考输出和可重跑命令
ni-eos-3.46 独立输入、参考输出和可重跑命令
ni-eos-3.5 独立输入、参考输出和可重跑命令
ni-eos-3.52 独立输入、参考输出和可重跑命令
ni-eos-3.54 独立输入、参考输出和可重跑命令
ni-eos-3.58 独立输入、参考输出和可重跑命令
ni-eos-3.62 独立输入、参考输出和可重跑命令

2 实际计算命令与输入#

ni-eos-3.42#

mpirun -np 1 lmp -sf gpu -pk gpu 1 -in in.lammps > stdout.log 2>&1

ni-eos-3.46#

mpirun -np 1 lmp -sf gpu -pk gpu 1 -in in.lammps > stdout.log 2>&1

ni-eos-3.5#

mpirun -np 1 lmp -sf gpu -pk gpu 1 -in in.lammps > stdout.log 2>&1

ni-eos-3.52#

mpirun -np 1 lmp -sf gpu -pk gpu 1 -in in.lammps > stdout.log 2>&1

ni-eos-3.54#

mpirun -np 1 lmp -sf gpu -pk gpu 1 -in in.lammps > stdout.log 2>&1

ni-eos-3.58#

mpirun -np 1 lmp -sf gpu -pk gpu 1 -in in.lammps > stdout.log 2>&1

ni-eos-3.62#

mpirun -np 1 lmp -sf gpu -pk gpu 1 -in in.lammps > stdout.log 2>&1

下面是 ni-eos-3.42/in.lammps 的完整输入;其他目录的完整输入也在资料包中。

units metal
atom_style atomic
boundary p p p
lattice fcc 3.42
region box block 0 6 0 6 0 6
create_box 1 box
create_atoms 1 box
mass 1 58.6934
pair_style eam
pair_coeff * * Ni_u3.eam
neighbor 0.3 bin
neigh_modify every 1 delay 0 check yes
thermo 100
thermo_style custom step time atoms temp pe ke etotal press vol density
thermo_modify norm no format float %.12g
min_style cg
minimize 1e-12 1e-10 2000 10000
run 0
write_data final.data
write_dump all custom final.dump id type x y z modify sort id

3 查看输出与实际数据#

tail -n 30 stdout.log
ls -lh

stdout.log 是计算输出;轨迹保存在 trajectory.lammpstrj(适用的算例),结构保存在 final.data。静态扫描和 run 0 对照不一定生成动力学轨迹。以下动态均值取最后一个热力学输出块的后半段;静态结果取对应输出,单位随输入确定。

算例 原子数 平均温度 平均密度 最后势能
ni-eos-3.42 864 0 9.74861 -3802.49984
ni-eos-3.46 864 0 9.4144 -3830.12562
ni-eos-3.5 864 0 9.0953 -3843.22872
ni-eos-3.52 864 0 8.94115 -3844.80018
ni-eos-3.54 864 0 8.79045 -3843.28546
ni-eos-3.58 864 0 8.49908 -3831.65647
ni-eos-3.62 864 0 8.22045 -3809.59507

LJ/珠簧例子使用约化单位;metal 为 K、g/cm³、eV;水的 real 单位为 K、g/cm³、kcal/mol。势能列是整个体系的总量,跨不同原子数不可直接相比。

局部二次拟合:平衡晶格常数约 3.52598 Å,体模量约 182.44 GPa。这是指定 EAM 模型与扫描窗口的结果,不是实验测量。

LAMMPS实际结构与计算数据:eos

4 提取数据与重画#

回到附件根目录,使用已经安装的 ASE Python 环境执行真实数据分析脚本:

module load ase/3.29.0
python analyze.py --root .
ls analysis
ls figures

脚本使用 NumPy/Matplotlib,读取参考日志、轨迹和相关函数,生成 CSV 与 PNG。查看 analyze.py 中本篇对应目录的处理段,可以把路径换成你的新结果。完整脚本按本专题的全部参考目录组织,单个新算例不需要假造其他目录来运行;提取对应段即可。

进一步查阅#

需要根据你的体系选择资源?联系讨论计算需求。实际可用软件与权限,以当前账户和运行环境为准。

查看配图

放大后可滚动查看细节,按 Esc 关闭。

100%查看原图 ↗