温度与量子化学、分子动力学的关系
温度的本质,是分子、原子的内部振动的动能,以及整体的平移运动的动能。温度越高,振动越剧烈,平移运动的速度也越快。当然有平移的运动,就有分子间的撞击,这种撞击,既改变两个分子的平移运动的速度,也改变两个分子内部振动。正是通过这种方式,实现气体和液体分子的热传导,达到热平衡,也就是在统计上,每个分子的内部振动的动能,以及整体的平移运动的动能大致差不多——更详细的,则是动能的大小几率,按照玻尔兹曼函数分布。真正理解温度,可能需要一定的物理基础,但笼统而言,清楚如下的事实即可:
键能,是一个与温度无关的量,无论温度为多少,只要分子结构是一样的,键能就是一样的。但温度越高,内部振动也越剧烈,可以认为如果剧烈到一定程度,振动的动能能够与键能相当的时候,就有可能引起断裂——但应该记住,键能只与瞬间的分子构型有关,和原子的运动速度没有关系,也就是和温度没有关系。
能垒,也是一个与温度无关的量,一个化学反应,不管温度为多少,只要走的是同一个反应通道,能垒都是一样的。当然,不同的温度,也就有了不同的动能,这些动能,能够帮助分子越过能垒,因此使得反应更容易——但这绝不是指温度升高导致能垒降低!
激发态、激发能,原理上也与温度无关。也只与瞬间的分子结构有关。但不同温度下,分子的平衡结构有一定的变化,甚至会停留在不同的亚稳态结构,这就导致出现了温度影响了激发态的假象。
分子的振动,计算振动的原理也非常简单,也就是在平衡位置(能量最低点)对结构进行微小改变,这样得到能量与结构的变化趋势,也就是得到能量与键长键角的关系(一阶梯度、二阶梯度,其中二阶梯度就是力),当然也可以用解析的方式,通过公式推导得到能量的梯度,梯度得到之后,就得到振动谱。需要注意的是,这个计算过程,和温度没有任何关系。而温度的本质,无非就是温度越高,振幅越大,振动能量越大而已,反过来说,振动越剧烈,导致所谓的温度越高。因此可以计算不同温度下的热力学性质,这些热力学性质,实际上就是在不同温度下,振动的剧烈程度。简而言之,振动谱和温度没有关系,热力学性质由振动谱决定,与温度有关系——是通过玻尔兹曼分布对振动剧烈程度进行分布,玻尔兹曼分布是和温度有关的一个分布函数,通过这种分布,将温度考虑进来。用一个形象的比喻:理想的弹簧的振动性质,实际上只和弹簧的弹性系数有关,理想弹簧的弹性系数和温度没有关系,但温度越高,弹簧弹的越剧烈,具体有多剧烈,就是用玻尔兹曼分布公式来确定。
能量分解,是与温度无关的一个东西。就好像势能面是与温度无关,一样的道理。之所以升温容易反应,只不过是热量提供了能量,使得分子到达了能量较高的结构而已。并不是说温度不同,所以势能面不同了。无论多少度的能量分解,都是一样。电子的能量,只与分子结构有关,和分子的热运动的能量(振动情况)无关。在热运动(振动)过程中,分子的结构每一刹那都在改变。每一刹那的能量分解都不同,并且只依赖当时那一刹那的结构。
总的来说,量子化学计算,都是基于一个静态的结构。而实际上,原子总是在运动的,即使是在绝对零度,原子也是在运动的。只不过温度越低,运动越是缓慢、幅度越微弱。所以即使是在绝对零度,量子化学计算的也只是在运动中的某一个瞬间的结构的性质。通常,我们做能量最小化,得到的结构就是绝对零度的时候的振动的一个平衡位置,形象的说,一个弹簧在振动的时候,有一个状态是平衡状态,与这个状态相比,拉长会有回缩的趋势,压缩会有伸长的趋势。
而分子动力学模拟,本身原理非常简单,在给定一个原子的分布之后,软件通常会随机地给这些原子一个初始的速度,同时计算出在这个情况下,每个原子的受力,这样原子的初始坐标、初始速度、力(也就得到了加速度)都有了,因此接下来如何运动,就确定了。在这样的加速度下运动一个时间段(在分子动力学模拟中,叫做时间步长time step),然后再次计算每个原子的坐标、速度、力(加速度)。如此重复。在time step以内,认为加速度不变,这实际上是一个粗糙的近似,因为只要在运动,力肯定是变化的,也就是说加速度是变化的。但真正完全精确的连续精确地处理加速度,这不现实,也没有必要。因为力场本身就不精确。
因此,如果使用的力场是绝对精确的,那么time step越小,结果越精确,但time step越小计算量越大;同时力场本身就不是精确的,所以time step过小没有意义,并不会增大精度,但也不能过大,过大会带来很大的误差(原因如上一段所说)。一般合金块体材料,time step大约为1~2fs,而涉及化学反应的模拟,一般time step不能太大,0.25fs是合适的。