LAMMPS是材料科学领域使用最广泛的MD软件——免费、开源、并行效率高、力场支持全面。但LAMMPS的学习曲线陡峭,输入脚本语法复杂,很多新手在第一步就被劝退。本文从实际项目出发,分享LAMMPS模拟的全流程经验,重点是”怎么设参数才靠谱”。

一个完整的LAMMPS输入文件包含:
| 单位制 | 长度 | 时间 | 能量 | 温度 | 适用 |
|---|---|---|---|---|---|
| metal | Å | ps | eV | K | 金属/材料(最常用) |
| real | Å | fs | kcal/mol | K | 生物/有机 |
| si | m | s | J | K | 工程尺度(极少用) |
| lj | σ | τ | ε | 1 | 无量纲 |
经验:90%的材料模拟用metal单位。注意metal单位的时间步长是ps,如果用real单位则是fs——别搞混了。
# 创建FCC Cu超胞
lattice fcc 3.615
region box block 0 20 0 20 0 20
create_box 1 box
create_atoms 1 box
| 工具 | 用途 | 输出格式 |
|---|---|---|
| Atomsk | 晶体/缺陷/界面建模 | LAMMPS data |
| OVITO | 可视化+结构编辑 | 多格式 |
| VMD | 生物分子建模 | LAMMPS data |
| MS | 图形界面建模 | 导出data文件 |
| Packmol | 液体/混合体系 | 坐标文件 |
经验:Atomsk是LAMMPS建模的神器——一行命令创建位错、晶界、层错等缺陷结构:
atomsk --create fcc 3.615 Cu Cu.lmp
atomsk initial.lmp -dislocation 0.5*box 0.5*box 1 0 0 0.5 0.5 final.lmp
踩坑经验:LAMMPS找不到力场文件是最常见的报错。解决方法:
pair_coeff * * /home/user/potentials/Cu_u3.eam.alloy Culmp -in in.run -var potfile Cu_u3.eam.alloytimestep 0.001 # metal单位: 0.001 ps = 1 fs
| 体系 | 步长(fs) | 说明 |
|---|---|---|
| 金属(无H) | 1-2 | 标准选择 |
| 含C/O | 1.0 | 通用 |
| 含H | 0.5 | C-H振动 |
| 高温 | 0.5 | 剧烈振动 |
| ReaxFF | 0.25 | 化学反应 |
# NVT (Nose-Hoover)
fix 1 all nvt temp 300 300 0.1
# NPT (Nose-Hoover)
fix 1 all npt temp 300 300 0.1 iso 0.0 0.0 1.0
# Berendsen (平衡阶段)
fix 1 all temp/berendsen 300 300 0.1
fix 2 all press/berendsen iso 0.0 0.0 1.0
经验:
# 热力学信息输出
thermo 100 # 每100步输出
thermo_style custom step temp pe ke etotal press vol density
# 轨迹输出
dump 1 all custom 1000 dump.lammpstrj id type x y z vx vy vz
# 重启文件
restart 10000 restart.*.bin
参考价:3000-5000元
参考价:2000-4000元
# 分为热源/热库/中间区
region hot block INF INF INF INF 0 2
region cold block INF INF INF INF 18 20
group hot region hot
group cold region cold
# NVE + 温度重标
fix 1 all nve
fix 2 hot temp/rescale 1 310 310 1 1
fix 3 cold temp/rescale 1 290 290 1 1
# 计算温度梯度
compute chunks all chunk/atom bin/1d z 0.5
fix 4 all ave/chunk 100 1000 100000 chunks temp file temp_profile.txt
run 1000000 # 1 ns
参考价:4000-8000元
compute rdf all rdf 100
fix 1 all ave/time 100 100 10000 c_rdf file rdf.txt mode vector
compute msd all msd
fix 1 all ave/time 100 1 100 c_msd[4] file msd.txt
经验:扩散系数D = MSD斜率/6。在LAMMPS中也可以直接用:
compute 1 all msd
fix 2 all ave/time 1 1 1000 c_1[4] file msd.txt
# 后处理: D = slope(msd vs t) / 6
OVITO是LAMMPS轨迹分析的最佳工具:
# MPI并行
mpirun -np 32 lmp -in in.run
# 按原子分区
# LAMMPS自动按空间分区,不需要手动设置
经验:
# LAMMPS GPU包
package gpu force/neigh 1
pair_style gpu/lj/cut 10.0
经验:GPU加速对短程力(LJ/EAM)效果3-5倍,对长程力(PME)效果不大。
| 项目类型 | 体系大小 | 模拟时间 | 参考价 |
|---|---|---|---|
| 结构优化+RDF | <5000原子 | 100-500ps | 1500-3000元 |
| 熔化/凝固模拟 | <10000原子 | 500ps-1ns | 3000-5000元 |
| 拉伸/压缩模拟 | <5000原子 | 200-500ps | 2000-4000元 |
| 扩散系数 | <10000原子 | 1-5ns | 3000-6000元 |
| 热导率(NEMD) | <10000原子 | 1-5ns | 4000-8000元 |
| ReaxFF反应模拟 | <3000原子 | 100-500ps | 5000-10000元 |
| 完整材料研究 | 不限 | 1-10ns | 5000-15000元 |
LAMMPS的核心经验是:”输入文件写对,力场选对,平衡做好”。建议新手从金属Cu体相模拟练手,熟悉语法和流程后再做复杂体系。力场验证是必做步骤,不能跳过。如有LAMMPS计算需求,欢迎联系我们获取从建模到分析的完整技术支持。
Gromacs模拟计算:从建模到自由能的完整经验指南
GROMACS分子动力学模拟:生物分子实战经验全分享
材料拉伸计算:有限元方法与力学性能分析
GROMACS分子动力学模拟:从力场选择到自由能计算的完整工作流
GROMACS计算自由能:FEP全流程参数优化与膜蛋白体系的特殊处理
分子动力学模拟GROMACS完整流程:力场选择、平衡与轨迹分析方法
GROMACS计算自由能:膜蛋白-配体FEP结合能中电荷-范德华解耦与BAR收敛
分子动力学模拟计算:GROMACS蛋白质-配体复合物稳定性验证全流程
LAMMPS模拟计算:从输入文件到结果分析的全流程经验
LAMMPS计算势函数:力场选择与参数标定实战经验
LAMMPS计算自由能:自由能微扰与积分方法
径向分布函数理论计算:RDF的计算方法与应用
LAMMPS粗粒化建模:粗粒化分子动力学方法
LAMMPS代算声子谱:分子动力学声子谱计算方法
lammps计算弹性模量:从原子势函数到应力应变曲线的实践路径
LAMMPS计算揭示纳米晶铜拉伸变形:位错演化与晶界行为的原子尺度分析
模拟计算分子动力学:从入门到精通的实战经验
MS分子动力学模拟:Forcite模块实战经验指南
VASP计算分子动力学模拟:AIMD实战经验全分享
均方根偏差计算:RMSD在分子模拟中的应用
VASP怎么计算:从输入文件到结果分析的完整入门指南
分子动力学计算模拟:力场选取、系综控制与结果验证的实践指南
VASP计算结合能:从参数设置到结果验证的完整流程
vasp计算自由能:振动熵贡献与准谐近似的精度路径