附中科普2026 · 2026年9月17日 · Windows 并行 LAMMPS
只用三个文件,让镍晶界动起来
本课用真实的分子动力学模拟,观察两个镍晶粒在剪切加载下的运动。先最小化消除初始坏接触,再升温、恒温平衡,最后反复“施加一小步位移 → 运行一段动力学”。假设已经安装 Windows 并行版 LAMMPS,不需要安装 Python,也没有其他启动脚本。
| 文件 | 用途 |
|---|---|
| 操作说明.html | 当前说明,可离线打开;下方可以直接绘制输出数据。 |
| in.ni_shear.lmp | LAMMPS 输入脚本。参数、逐段原理、数据解释和练习均写在中文注释中。 |
| Ni.eam.alloy | 镍的 EAM 势函数。不要编辑或改名。 |
1 准备一个自己的实验文件夹
- 新建一个文件夹,例如
E:\MD_class\trial_01,把这三个文件一起复制进去。建议实验路径使用英文,减少不同 Windows 软件的路径编码问题。 - 在资源管理器中显示“文件扩展名”,确认输入文件没有变成
in.ni_shear.lmp.txt。 - 右键输入脚本,用记事本或代码编辑器打开。不要用 Word 编辑。中文注释以
#开头,不参与计算。 - 第一次保持默认参数。每次新实验都另建文件夹、复制三个文件;同目录重复运行会覆盖同名结果,改变输出频率还可能留下旧帧。
2 从 PowerShell 启动
在实验文件夹的资源管理器地址栏输入 powershell 并回车。先输入下面的命令,确认当前位置和文件:
Get-Location Get-ChildItem
如果安装时已经把程序加入 PATH,执行:
mpiexec -n 4 lmp -in in.ni_shear.lmp
-n 4 表示使用四个 MPI 进程。第一次可以用 2;建议给电脑保留至少一到两个 CPU 核心。如果命令提示找不到程序,用自己电脑的实际安装路径执行:
& 'C:\Program Files\Microsoft MPI\Bin\mpiexec.exe' -n 4 ` 'C:\你的LAMMPS安装目录\bin\lmp.exe' -in in.ni_shear.lmp
上面第二个路径是占位示例,必须替换。可以在 LAMMPS 快捷方式的属性中查看目标路径,或者在安装目录找到 lmp.exe。反引号是 PowerShell 换行符,其后不要留空格;也可以把命令写成一整行。
屏幕开始打印原子数、最小化信息和热力学数据后,等待命令提示符重新出现。默认模型约 4992 个原子,模拟物理时间 135 ps;实际等待时间取决于电脑性能。完成后检查 log.lammps 末尾,确认没有 ERROR,并确认生成 final.data 和 final.restart。
3 修改哪些参数
打开脚本顶部“第一课”参数区,只修改每行 equal 后面的数值。每次先改一个因素,再对照运行;解释和单位可直接看行尾中文注释。
| 想改变什么 | 变量 | 默认与示例 |
|---|---|---|
| 体系尺寸 | nx、ny、nz | 3、4、4;可把 ny 改为 6,增加厚度。 |
| 目标温度 | Ttarget | 300 K;可比较 100、300、600 K。 |
| 加载总位移 | total | 16 Å;改为 8 Å 时加载次数减半。 |
| 每次位移 | dx | 0.1 Å;总位移必须是它的整数倍。 |
| 加载间隔 | hold | 0.5 ps;改成 1 ps 后平均加载速度减半。 |
| 升温与平衡时间 | warm、equil | 5、50 ps;判断平衡应观察统计量,不只看是否达到目标温度。 |
| 时间步与输出频率 | dt、sample、average、frames | 详细限制写在脚本中;不熟悉时保持默认。 |
加载次数 = total / dx;平均加载速度 = dx / hold;平均应变率 = dx / (hold × 初始标距)。例如把 hold 加倍,加载过程的物理时长也加倍。增大厚度后,同一总位移对应的工程应变会变小。
仅检查流程时,可设 warm=0.1、equil=0.2、total=0.2、hold=0.1、frames=100,其余不变。这个极短试算不能用于判断平衡或得出迁移机制结论。正式实验请恢复默认时长。
4 结果在哪里、看什么
所有输出直接位于本次实验文件夹内,文件名都是英文。文件会明显增多,这是模拟生成的结果,并非额外的运行依赖。
| 文件 | 用途 |
|---|---|
| log.lammps | 运行记录;发生错误时从末尾查找具体提示。 |
| equilibration.txt | 升温和平衡阶段的平均温度、压力、标距数据。 |
| loading_monitor.txt | 加载时的窗口平均温度、应力、应变和位移。 |
| stress_strain.csv | 每次加载弛豫结束时的瞬时应力应变;可用 Excel 打开。 |
| equilibration.*.cfg、equilibrated.*.cfg | 平衡过程各帧,以及最终平衡结构。 |
| loading.时间步.cfg | 加载过程结构序列,含零次加载的初态。 |
| minimized.data、equilibrated.data、final.data | 最小化后、平衡后和加载后的 LAMMPS 结构文件。 |
| gauge_length.txt、final.restart | 参考标距和二进制重启文件;初学者不需要编辑。 |
5 在本页面查看曲线
选择本地输出文件即可绘图,数据只在本浏览器内处理,不上传、不需要网络。温度和压力选择 equilibration.txt;应力应变选择 stress_strain.csv。按钮可以播放温压曲线逐渐形成的过程,也可以保存当前曲线为 PNG。
尚未选择数据。两类数据可以分别载入。
应力应变曲线使用加载周期末态瞬时值;需要平滑统计时,另用 loading_monitor.txt 的窗口平均结果。平均会影响峰值,不可混为同一种测量。
6 在 OVITO 查看原子和晶界
- 打开 OVITO,把
loading.时间步.cfg拖入窗口,加载对应loading.*.cfg文件序列;确认帧按时间步的数值顺序排列,第一帧是加载前初态。只看初态或末态时可以打开单个 CFG。 - 在 Simulation cell 中关闭 y 方向的周期边界,保持 x 和 z 为周期。CFG 的边界标记不能替代本模型的实际边界条件。
- 调整到沿 z 方向观察,看清上下自由表面及中间晶界;用底部时间滑块播放加载序列。
- 用 Color coding 选择势能
c_peatom、动能c_keatom、剪切应力v_sxy或结构编号。某些版本显示属性名时格式略有区别,查看实际属性列表。 - CFG 已保存 CNA 和 PTM 结果。PTM 的
c_ptm_1是结构类别,c_ptm_4至c_ptm_7是取向四元数。需要 OVITO 的标准结构颜色和取向显示时,可以添加其 Polyhedral template matching 修改器,启用取向输出。 - 观察两个晶粒当前取向区域的分界是否沿 y 移动。原始 type 标签不会随晶界迁移变化,所以只按 type 着色不能证明晶界迁移。
要制作结构动画,可使用 OVITO 的 Render 设置渲染文件序列或该版本支持的视频格式。本精简版不带自动 GIF 后处理程序,不自动测量晶界位置,也不自动导出 GIF;温压过程可在上面的本地曲线查看器中播放。
7 怎样判断结果合理
默认模型为 FCC 镍的 Σ13 <100>{320} 对称倾斜晶界,只有一个内部晶界。下方三层原子完全固定;上方三层限制 x 自由度,y/z 可运动。每次给上层施加 x 位移后继续做动力学,内部原子在加载阶段按 y/z 温度控温,避免直接消除 x 向剪切运动。
温度围绕目标值波动是正常现象。本例不控制零压,压力不会必然回到零,还可能存在声学振荡。判断平衡要比较后段多个时间窗口的均值和趋势。自由表面、固定夹层和真空都会影响压力的定义;本页显示脚本采用材料参考体积计算的压力。
原子应力使用固定参考体积 a³/4,单位 GPa;这不代表每个晶界或表面原子都具有这一真实局部体积。剪切耦合迁移需要结合取向变化、晶界位置变化、剪切响应和其他可能的塑性机制判断,不能只凭颜色或一张曲线下结论。原子属性、符号约定、约束和练习题的进一步解释都在脚本中文注释中。
8 遇到问题时
| 现象 | 处理 |
|---|---|
| 找不到 lmp 或 mpiexec | 使用第 2 节的完整路径命令,确认安装位置。 |
| Cannot open potential file | 确认 Ni.eam.alloy 与脚本在当前目录,先用 Get-Location 检查工作目录。 |
| Unknown compute style ptm/atom | 当前 LAMMPS 缺少 PTM 功能,向老师反馈版本和错误信息;不要删掉相关命令后仍宣称输出了 PTM。 |
| 参数区 quit 后退出 | 检查正数、整数周期及时间是否整除。warm、equil、hold 都必须是 sample × average × dt 的整数倍。 |
| Lost atoms、温度发散 | 停止解释结果,检查时间步、单次位移及温度;先恢复默认参数,在新目录重试。 |
| 只看到两个颜色块,没有清晰迁移 | 确认加载的是完整序列,查看当前晶体取向;type 是初始标签,不会更新为当前晶粒。 |
势函数来源信息见 Ni.eam.alloy 文件头。技术命令说明可查阅 LAMMPS CFG 输出文档、PTM 文档及 原子应力文档。