用户工具

站点工具

本页面的其他翻译:
  • 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}$ 变化会有差异。

力场

计算步骤

构建初始分子构型

为计算添加力场

原子标签

键合

键角
扭转
范德瓦尔斯
静电

弛豫起始结构

优化结构
获得合适的密度

平衡结构

设置生成计算

修改脚本

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

运行计算

结果分析

观察压力变化

由 Einstein 关系式计算粘度

由 Green-Kubo 关系式计算粘度

扩展结果

运行更多独立轨迹

提高准确性

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

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