用户工具

站点工具

本页面的其他翻译:
  • zh

atk:用分子动力学方法模拟液体的粘度

这是本文档旧的修订版!


用分子动力学方法模拟液体的粘度

版本:P-2019.03

在本教程中,您将以液态甲醇为例学习如何采用分子动力学(MD)模拟计算不同液体的粘度。理解粘度对许多工业化学过程的设计至关重要,因为粘度描述了液体的流动。本教程演示了您将如何利用 QuantumATK 工具模拟简单液体的粘性。该方法也可以应用于许多更为复杂和混合的液体。

为了模拟液体甲醇的行为,我们采用经典的分子动力学生成分子的运动轨迹。这些轨迹提供了统计计算液体综合性能所需的必要信息。本教程还演示了如何设置和使用为这类分子问题创建的特定键合力场。

理论

分子粘性

粘度是液体中的分子相互通过时摩擦力的量度。有许多方法可以估算这种摩擦[1],但常用的一种方法是 Einstein 关系式,其中粘度 $\eta$ 可以表示为[2]

$$\begin{split}\eta = \lim_{t \to \infty} \frac{V}{2tk_BT}\left<\left( \int_0^t \tau_{\alpha\beta}(t') dt' \right)^2 \right>\end{split}$$

这里积分的量是压力张量的非对角线元素。标注的 $\alpha$ 和 $\beta$ 指代这些元素。此处其他的量代表的是时间 $t$、温度 $T$、体积 $V$ 和玻尔兹曼常数 $k_B$。

另外一种计算粘度的方法是通过 Green-Kubo 关系式[3]

$$\begin{split}\eta = \frac{V}{k_BT} \int_0^\infty \left< \tau_{\alpha\beta}(t_0) \tau_{\alpha\beta}(t) \right> dt\end{split}$$

这里尖括号中的数量是压力张量的自相关函数。由于该自相关函数在长时间尺度下会衰减为零,因此积分收敛可以得出流体粘度。

这两个方程都可以产生相似的结果。对于具有大量数据点的轨迹,Green-Kubo 表达式可能在计算上消耗过大。计算自相关函数尺度 $O(N^2)$ 中 $N$ 就是数据点的数量。Einstein 关系式的尺度仅仅只是 $O(N)$。由于计算粘度需要查看大量数据点,因此将把重点放在 Einstein 关系式上。

压力张量本身是由原子运动和原子与模拟中的边界条件相互作用两部分组成。压力张量可以表示为:

$$\tau_{\alpha\beta} = \sum_i m_i v_{i,\alpha} v_{i,\beta} - \frac{dE}{d\varepsilon_{\alpha\beta}}$$

在这里,$m_i$ 是原子 $i$ 的质量,$v_{i,\alpha}$ 是原子 $i$ 在笛卡尔坐标 $\alpha$ 方向的粘度,$E$ 是系统的能量,随应力 $\varepsilon_{\alpha\beta}$ 变化会有差异。

力场

经典力场的原理是用被设计为近似总能量的简单函数代替计算上消耗过大的电子结构计算。这种方法可以确保有效地模拟更大的系统,远远超出了电子结构计算所能实现的。该方法的主要挑战之一是为替换函数拟合参数,以便它们能够准确地预测能量。

一种方法是将分子分成许多化学类型。然后使用这些类型找到不同类型交互作用的特定参数。例如,乙烷中的 sp3 碳将与苯环中的 sp2 碳具有不同的关联势。由于将根据类型的定义排除一些组合,这就限制了需要找到参数的数量。因为参数适用于特定的原子类型和函数,这些势的类型通常会更准确。相对地,这些势往往更难以设置,因为每个原子的化学类型需要被结构指定。这种类型的势也不能模拟反应,因为需要原子连接来确定化学类型。

在本教程中,您将使用 OPLS-AA 力场模拟甲醇[4]。OPLS-AA 力场为这些类型使用了具有特定拟合势的原子类型。本教程将介绍如何使用这些类型的力场设置计算。

计算步骤

构建初始分子构型

打开 Builder ,选择 Add From Database。将数据库中甲醇的分子结构添加到 Stash,确保通过点击 Databases Molecules 选择分子数据库。

现在需要为每个原子指定化学类型。OPLS 甲醇有 4 种类型:

  • 'CT' 为四面体碳
  • 'HC' 为附着在碳上的氢
  • 'OH' 为乙醇氧
  • 'HO' 为乙醇氢

选择附着在碳上的三个氢原子,通过 Selection Tools Tags 将其类型设置为 'HC',并输入标签 'HC'。您现在应该可以使用标记选择这些原子。对其他三种原子类型重复此过程。

提示

选中原子时,按住 Ctrl 键可将该原子添加到当前的选择中,而按住 Shift 键可将其删除。

接下来,选择 Builders Packmol 创建液态甲醇的块体模型。将甲醇分子从 stash 拖入分子类型栏,选择 250 个分子,晶胞长度设置为 28Å。点击 Create。

将鼠标悬停在新结构中的原子上,检查标签是否反映了每个原子的类型。

为计算添加力场

原子标签

键合

键角
扭转
范德瓦尔斯
静电

弛豫起始结构

优化结构
获得合适的密度

平衡结构

设置生成计算

修改脚本

添加扭转项
定义 hook 函数
在分子动力学模拟中使用 hook 函数

运行计算

结果分析

观察压力变化

由 Einstein 关系式计算粘度

由 Green-Kubo 关系式计算粘度

扩展结果

运行更多独立轨迹

提高准确性

atk/用分子动力学方法模拟液体的粘度.1569762685.txt.gz · 最后更改: 2019/09/29 21:11 由 xie.congwei

© 2014-2022 费米科技(京ICP备14023855号