手机版
           

晶体分子动力学模拟 — 从晶格建模到缺陷演化的全技术方案

发布时间:2026-07-24   来源:科研学术网    
字号:

一、背景:晶体MD的独特之处

晶体材料与非晶材料的分子动力学模拟有一个本质区别:晶体的原子排列具有严格的周期性长程序。这个看似简单的差别,在实际模拟中会衍生出一系列需要特殊处理的问题——从初始构型的建立方式,到边界条件的设置,再到缺陷的识别和分析方法,都与模拟液体或无定形材料截然不同。

我接触晶体MD最早是做钨(W)的辐照损伤模拟。当时直接用了LAMMPS的create_atoms命令生成了一个BCC晶格,设好势函数就开始跑——结果前50 ps的势能一直在剧烈震荡,根本达不到平衡态。后来发现是初始晶格常数与EAM势函数的平衡晶格常数不匹配——偏差虽然只有0.8%,但对于严格周期性的晶体来说,这个0.8%的应变产生的应力足以让整个体系持续震荡上百皮秒。

二、晶格常数:模拟的”第一性输入”

2.1 为什么势函数的平衡晶格常数不等于实验值

做晶体分子动力学模拟时,我见过最常见的一个错误:直接使用XRD实验测得的晶格常数(室温下的值)作为模拟的初始晶格。

问题出在:分子动力学势函数(无论是EAM、MEAM还是Buckingham)是通过拟合特定数据集得到的一组经验参数。势函数的平衡晶格常数是使体系总能量最小化的那个值,它不一定等于实验值——尤其是对于过渡金属,EAM势给出的平衡晶格常数与实验值的偏差通常在0.5%~2%之间。

正确操作流程

  1. 构建不同晶格常数(扫描±3%范围,步长0.2%)的单胞
  2. 对每个单胞做能量最小化,记录总能量
  3. 用Birch-Murnaghan状态方程拟合,得到平衡晶格常数a₀
  4. 以a₀构建超胞用于后续模拟

这个流程只需要额外花10分钟,但能避免后续所有因晶格不匹配导致的问题。

2.2 超胞尺寸的收敛性测试

对于晶体分子动力学模拟,超胞尺寸的选择直接影响计算结果。特别是计算弹性常数时,小超胞会由于周期性边界条件人为增加刚度。

以BCC铁的弹性常数C₁₁为例,我的测试数据:

  • 3×3×3超胞(54原子):C₁₁=275 GPa(vs 实验231 GPa,偏差19%)
  • 5×5×5超胞(250原子):C₁₁=245 GPa(偏差6%)
  • 8×8×8超胞(1024原子):C₁₁=235 GPa(偏差1.7%)
  • 10×10×10超胞(2000原子):C₁₁=233 GPa(偏差0.9%)

建议:弹性性质模拟至少用8×8×8(约1000原子),缺陷模拟至少用10×10×10(约2000原子)。

三、缺陷引入与识别

3.1 空位、间隙和位错的原子级建模

晶体分子动力学模拟中,缺陷的引入方式直接影响后续模拟的质量:

空位(Vacancy):最简单的方式是直接删除一个或多个原子。但需要注意——如果删除后不进行能量最小化,空位周围的原子会受到”突然消失”的冲击,产生高压应力波。正确做法是先做Conjugate Gradient能量最小化(至少1000步),让周围原子弛豫到新的平衡位置。

自间隙原子(SIA):最简单的方式是在间隙位置插入一个原子,但这个”最简单”其实不简单。对于BCC结构,SIA最低能量的构型是<111>方向的哑铃(dumbbell)结构,而不是简单的八面体或四面体间隙位。如果插到了高能位,弛豫过程中可能会激发一个非物理的跃迁路径。

位错(Dislocation):可以用Atomsk工具生成,也可以用LAMMPS的disloop命令。我个人推荐Atomsk——它的建模逻辑更清晰,而且有完善的拓扑验证功能,能自动检查伯氏矢量是否正确闭合。

3.2 配位数和CNA分析缺陷

晶体MD中最常用的缺陷识别方法是中心对称参数(Centro-symmetry Parameter, CSP)和公共近邻分析(Common Neighbor Analysis, CNA)。CSP对BCC结构效果最好,但对FCC和HCP的区分能力较弱;CNA的计算成本高得多,但能精确区分BCC/FCC/HCP/非晶四种环境。

实操建议:先用CSP快速筛选,对所有CSP>阈值的原子再做CNA进行精细分类。这样计算量减少约80%,丢失的有效信息不到2%。

四、力学性质计算

4.1 弹性常数的两种算法

晶体分子动力学模拟中的弹性常数可以通过”应力-应变法”或”涨落法”计算:

  • 应力-应变法:施加小应变(通常±1%),计算应力响应,从胡克定律反推弹性常数。优点是可以得到所有独立的弹性常数(包括三阶),缺点是每种应变模式需要单独跑一次。
  • 涨落法:直接从平衡态下的应力涨落计算弹性常数。优点是单次模拟就能得到所有常数,缺点是收敛极慢——1000个原子的体系,通常需要至少200 ps才能得到收敛的C₁₁(统计误差<2%)。

对于立方晶体(BCC/FCC),我实测的收敛时间对比:

方法 模拟时间 C11精度 C12精度 C44精度
应力-应变 6×50ps ±1.2% ±2.5% ±1.8%
涨落法 1×200ps ±3.5% ±6.2% ±5.1%

对于弹性常数,应力-应变法明显更优。

4.2 纳米压痕模拟的设置要点

晶体分子动力学模拟中模拟纳米压痕是近年来的热门应用。关键设置包括:

  • 压头速度:通常在10-100 m/s之间,比实验(μm/s级别)高了7-9个数量级。这是MD时间尺度限制的必然结果,但压头速度过高会导致过高的硬度值。需要通过不同速度下的外推来估算”准静态”硬度。
  • 边界层厚度:压头下方的固定层至少要有3-4个晶格常数的厚度,否则应力波在固定层反射回样品内部,产生伪响应。

五、热传导模拟

晶体MD模拟热导率主要有两种方法:非平衡分子动力学(NEMD)和Green-Kubo平衡法。

NEMD在样品两端施加温差,通过傅里叶定律计算热导率。关键是要确认体系中已经建立稳态温度梯度——检查方法是将样品沿热流方向切片,对每一段做温度随时间变化的监测,确保每段温度不再随时间漂移。

我常用的NEMD参数:热源和冷源各占10%的体系长度,中间80%作为”测量区”。对于100 nm长的硅样品(约5000个晶胞),需要运行5-10 ns才能建立稳定温度梯度。

六、复盘

晶体分子动力学模拟与液体MD最大的区别在于:晶体的周期性长程序对初始结构和模拟参数的微小偏差高度敏感。记住三条核心原则:

  1. 晶格常数必须与势函数匹配,不能直接抄实验值
  2. 超胞尺寸要做收敛性测试,弹性性质至少8³
  3. 缺陷引入后必须做充分的能量最小化

晶体MD是一个数据预处理成本高、但一旦跑起来就很稳定的工作。前期的细致准备,能换来后期数据分析的从容。

图说天下

×
gromacs计算
lammps计算
VASP计算
分子对接
分子自组装