怎么用
- 下载 —— 点案例卡片里的文件链接,或直接下载全部打包的 zip。
- 就位 —— 把案例目录整个放到一个路径里没有空格和中文的位置,例如
D:\md。
- 运行 —— 双击
run-serial.bat,或者打开 LAMMPS Shell 后执行本案例的输入命令。
第一次使用请先做 案例 01-01 环境自检:它会检查 LAMMPS 是否装好、势函数路径是否正确、MS-MPI 是否就位。这一项通过了,后面所有算例才会顺利。
第 1 章 · 案例目录
在做任何一个算例之前,先用它把运行环境查一遍:lmp 能不能用、版本横幅长什么样、势函数目录在哪、Microsoft MPI 是否就位。五项检查一路看下来,后面报错的可能性就少一大半。
下载文件
双击 check-env.bat,或在本目录下执行 check-env.bat
要点
- 第 1 项 找到
lmp,说明安装成功、环境变量已生效 —— 这一项是 [OK] 就可以开始做算例 01-02 与 01-03。 - 第 2 项 会打印命令行选项列表和版本横幅;任何一次运行的开头都会打印版本横幅,看到它就说明程序正常启动。
- 第 3 项
LAMMPS_POTENTIALS 指向随安装包发布的势函数目录,算例 01-03 用的 Cu_u3.eam 就来自那里。 - 第 4、5 项 只影响并行(
run-mpi.bat);它们显示 [--] 时,串行算例照跑不误。
注意
- 若第 1 项是
[--]:最省事的办法是从「开始」菜单打开 LAMMPS Shell,再在它的窗口里运行本脚本。 - MS-MPI 装完 必须关掉所有旧的命令行窗口再重开,否则第 4、5 项仍会显示
[--]。
讲义里逐行讲过的那份 22 行脚本,一字未改。Lennard-Jones 流体没有真实材料与之对应,但它跑通了,整条「写脚本 → 运行 → 读输出 → 看轨迹」的链路就都通了。
下载文件
lmp -in in.lj 或直接双击 run-serial.bat
要点
- 体系规模:
lattice fcc 0.8442 铺 10×10×10 个晶胞 → 4000 个原子。 units lj 是约化单位,所以温度写 1.44、时间步写 0.005,都不带物理单位。- 第 0 步的
Temp 必定显示 1.44 —— 因为 velocity create 1.44 刚给完全体原子这样一份初速度。 run 1000 × timestep 0.005 = 模拟 5 个约化时间单位。- 关键检查点:
TotEng(总能量)只做小幅涨落即为正常;若持续单调上升,多半是时间步过大、能量不守恒。 - 四段式的好处在这里最明显:想让体系变成铜或水,只需替换第 ③ 段 —— 见案例 01-03。
运行后产生
- log.lammps —— 完整日志,含每 50 步的热力学量
- dump.lj —— 轨迹文件,每 100 步一帧,可用 OVITO 打开
注意
- 报
Unknown command 或 Illegal ... 时,先查四段的顺序:units 必须在一切数值之前,create_box 必须在 create_atoms 之前。 run-mpi.bat 需要 MSMPI 版的 LAMMPS 加已装好的 MS-MPI;本课程默认安装的 GUI 版不含 MPI,用它只能跑 run-serial.bat。
把同一个盒子从「假想的 LJ 流体」换成「真实的铜」,改动集中在第 ③ 段与单位制。in.cu 与 in.lj 逐行对齐,用文本比较一看就知道改了哪几行。
下载文件
lmp -in in.cu 或直接双击 run-serial.bat
要点
- 相对
in.lj 只改了 8 行:units、lattice、mass、pair_style、pair_coeff、velocity、timestep、dump。 units metal 是有量纲的:长度 Å、能量 eV、时间 ps、质量 g/mol、温度 K。lattice fcc 3.615 用的是铜的真实晶格常数 3.615 Å。pair_style eam 与 pair_coeff * * Cu_u3.eam 一读一用:前者选势的类型,后者给势的文件名。pair_coeff 后面没有元素名,这是由文件格式决定的 —— Cu_u3.eam 是 setfl 格式,文件里没有元素名表,所以只能配 eam;写成 eam/alloy 并附上 Cu 会直接报错(详见注意事项)。timestep 0.001 ps = 1 fs。金属原子振动比 LJ 流体快,时间步要更小。- 盒子仍是 10×10×10 个晶胞,边长 36.15 Å,同样 4000 个原子 —— 换了材料,规模却没变,这样才比得出来。
运行后产生
- log.lammps —— 完整日志
- dump.cu —— 轨迹文件,可用 OVITO 打开
注意
- 势函数的两种文件格式别记混:
.eam(setfl 格式,如 Cu_u3.eam)配 pair_style eam,pair_coeff 末尾不写元素名;.eam.alloy(合金格式,如 AlCu.eam.alloy)配 pair_style eam/alloy,pair_coeff 末尾要按文件里的元素顺序写出元素名。配错了 LAMMPS 会报 “Not a valid integer number” 之类的读文件错误。 - 势函数文件必须能被找到:本目录下已附带
Cu_u3.eam。若不小心删掉,可以从 %LAMMPS_POTENTIALS% 里拷回来。 - 换别的金属,只动三处:
lattice、mass、势函数。到 %LAMMPS_POTENTIALS% 目录里挑文件,例如银有 Ag_u3.eam(同样配 eam)。 - EAM 势的计算量比 LJ 略大,但 4000 原子跑 1000 步仍然是几秒钟的事。