LAMMPS 专题

LAMMPS 镍熔化与快速冷却实操

用2048原子Ni的真实轨迹学习高温加热、降温、恒温观察,以及固定晶核与移动原子的分组。

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

本篇用 2048 原子 Ni 跑通 FCC 晶胞 → 高温加热 → 快速降温 → 恒温观察 → 表格与结构图。下一篇继续用 OVITO 统计局部结构与连通晶簇,比较晶核何时释放。

所有结构、曲线与输入都来自鸢算科技集群实际运行。本例使用经典 EAM、固定体积、短时间小胞;4000 K 是加热设置,材料熔点需要更系统的两相共存等计算确定。

1. 下载与先看实际数据#

下载完整输入、原生轨迹、三组对照与分析包:

python3 -m zipfile -e lammps-Ni-melt-cooling-wave556-558-ad5a30a6549d.zip Ni-melt-cooling
cd Ni-melt-cooling
bash analyze.sh

这条命令分析配套的 reference/,不提交新作业,输出 tables/ 与 figures/。其中既保留有序结构明显长大的案例,也保留提前释放晶核后没有达到长大条件的结果。

head -n 4 tables/p100-unseeded-seed556001-cooling.csv

2. 体系、时间和三组对照#

项目 设置
模型 FCC Ni,a=3.52 Å,8×8×8 常规胞,共 2048 原子
晶胞 28.16×28.16×28.16 Å,xyz 全周期,固定尺寸
相互作用 Ni_u3.eam,Ni EAM 经典势,质量 58.71 u
时间步 0.001 ps,即 1 fs
加热阶段 移动原子在 4000 K 控温 10000 步=10 ps
降温阶段 4000→800 K,10000 步=10 ps
后续观察 800 K 再运行 30000 步=30 ps
输出 每 1000 步=1 ps 保存一次;加热 11 帧,冷却/观察 41 帧
对照 P100/V100 16G,两种随机种子 556001/556002

三组的区别为:

组别 加热时 降温时 800 K 观察时
无预设晶核 全部原子移动 全部移动 全部移动
提前释放 中央小晶体保持固定 在 4000 K 就释放 全部移动
保留至目标温度 中央小晶体保持固定 继续固定到 800 K 到 800 K 后释放

人工保留的小晶体由初始中心半径 6 Å 球内的 79 个原子组成。这是一种指定初始结构与约束的操作方法;用它观察晶体结构长大时,要把约束何时解除写清楚。

3. 默认新跑一对保留晶核案例#

bash run.sh

默认新计算是 seed556001 的一对保留晶核案例,分别用 P100 与 V100 16G,从新建 FCC 结构开始完整运行 50000 步。每份 Slurm 任务用 1 GPU、2 个申请的 CPU 核心、1 MPI、1 OpenMP 线程,需要对应两个分区权限。脚本排除 TC 分区成员和 V100 32G,不直接 SSH 到 GPU 节点。

结束后自动生成 tables-new/ 和 figures-new/your-seeded-cooling.png。新轨迹与提供的参考结果分别保存,避免把新数据覆盖到原对照中。

cat tables-new/final-structures.csv

作业号在 new-work/SUBMISSIONS.json。终端中断后先查作业号和 squeue;新一轮完整计算使用新解压目录。不同轨迹在这段有限时间内的结构比例可以不同,应保留未达到长大条件的情况并延长观察。

4. 完整输入怎么读#

cat input-example.lmp

默认保留晶核案例的输入为:

units metal
atom_style atomic
boundary p p p
lattice fcc 3.52
region box block 0 8 0 8 0 8
create_box 1 box
create_atoms 1 box
mass 1 58.71
pair_style eam
pair_coeff * * ../Ni_u3.eam
neighbor 2.0 bin
neigh_modify every 1 delay 0 check yes
min_style cg
minimize 0 0.002 2000 20000
region seedregion sphere 14.08 14.08 14.08 6.0 units box
group seed region seedregion
group mobile subtract all seed
variable isseed atom gmask(seed)
velocity seed set 0 0 0
fix raw all store/force
fix held seed setforce 0 0 0
velocity mobile create 4000 556001 mom yes rot no dist gaussian
compute Tmobile mobile temp
compute e all pe/atom
compute atomK all ke/atom
variable Nseed equal count(seed)
variable Nmobile equal count(mobile)
timestep 0.001
reset_timestep 0
fix bath mobile nvt temp 4000 4000 0.1
thermo 1000
thermo_style custom step atoms temp c_Tmobile pe ke etotal v_Nseed v_Nmobile lx ly lz
thermo_modify norm no format float %.16g
dump dm all custom 1000 melt.dump id type x y z vx vy vz fx fy fz f_raw[1] f_raw[2] f_raw[3] c_e c_atomK v_isseed
dump_modify dm sort id format float %.16g
print BEGIN_MELT
run 10000
undump dm
write_data melted.data nocoeff
unfix bath
velocity mobile zero linear
reset_timestep 0
fix bath mobile nvt temp 4000 800 0.1
dump dc all custom 1000 cooling.dump id type x y z vx vy vz fx fy fz f_raw[1] f_raw[2] f_raw[3] c_e c_atomK v_isseed
dump_modify dc sort id format float %.16g
print BEGIN_COOLING
run 10000
unfix bath
unfix held
velocity seed create 800 556101 mom yes rot no dist gaussian
velocity all zero linear
fix bath all nvt temp 800 800 0.1
run 30000
write_data final.data nocoeff

前半段用 group mobile subtract all seed 分组。种子原子速度置零、fix held seed setforce 0 0 0,并且只对 mobile 施加积分/温控。只清零力、却仍让该组带着非零速度积分,不能保证晶核位置固定。

4000→800 K 阶段继续让种子不参与积分;温控对象仍是 mobile。到 800 K 后,unfix held 解除约束,给种子生成 800 K 速度,去掉一次整体质心平移,再对全体原子控温观察。

reset_timestep 0 仅把冷却阶段计数归零。fix nvt 同时控制温度和积分,不能再叠加另一份 fix nve 给同一组重复积分。

5. 看温度与势能#

三种操作下的真实温度与每原子势能

固定晶核阶段,all 温度包含静止种子,而 mobile 只统计移动原子,两者会不同。图中的温控目标对应当时参与温控的组,不能要求所有曲线每一点都等于目标值。

势能变化同时受温度和结构影响。控温过程中与热浴交换能量,不适合按 NVE 能量守恒来判断这一阶段是否正确。图中保留晶核的案例在后期出现更明显的势能降低;还要结合下一篇的结构统计一起看。

真实中央z截面的加热末态与冷却末态

图中蓝色为 PTM 的 FCC、金色为 HCP,灰色包含其余局部环境;紫色轮廓标记最初的种子原子 ID。这里只投影中间约 7.04 Å 厚的 z 区间,完整三维坐标均在原始轨迹中。提前释放与保留两组从同一份加热末态出发,所以其上排种子图相同;后续处理不同。

参考数据包含 8 个原始完整计算,以及从其中 4 个已有加热检查点补做的保留晶核冷却计算。补算复用已算好的加热阶段,没有再次加热。默认 run.sh 则从头执行一对完整新案例。

软件为 LAMMPS 30Sep2026,GCC 13.3、CUDA 12.8、OpenMPI 5.0.10、Kokkos 5.2.1;势函数为 Foiles 等 Ni EAM,Phys. Rev. B 33, 7983 (1986)。

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

查看配图

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

100%查看原图 ↗