量子力学定律在模拟中在哪里失效?

计算科学 量子力学 模拟
2021-11-28 20:17:31

作为拥有物理学学士学位的人,当我开始从事分子模拟工作时,我感到有些震惊。发现即使是最详细且计算成本最高的模拟也无法从第一原理定量再现水的全部行为,这有点令人震惊。

以前,我的印象是量子力学的基本定律是一个已解决的问题(除了引力,它通常被认为在分子尺度上无关紧要)。然而,似乎一旦你试图扩大这些定律并将它们应用于比氢原子更大或更复杂的任何事物,它们的预测能力就会开始崩溃。

从数学的角度来看,我知道波函数很快变得太复杂而无法求解,并且需要近似值(例如 Born-Oppenheimer)来使波函数更易于处理。我也明白,这些近似值会引入误差,随着所研究系统的时间和空间尺度的增加,这些误差会越来越远。

这些近似误差中最大和最重要的性质是什么?我如何才能直观地了解这些错误?最重要的是,我们如何才能转向一种从头算方法,使我们能够准确地模拟整个分子和分子群?阻碍人们开发此类模拟的最大未解决问题是什么?

4个回答

据我所知,最准确的静态计算方法是具有完全相对论的四分量狄拉克哈密顿量和“足够完整”的基组的完全配置交互。我不是这个特定领域的专家,但根据我对方法的了解,使用变分方法(而不是基于蒙特卡洛的方法)解决它的规模非常糟糕,因为我认为你拥有的 Slater 行列式的数量在你的矩阵中包含类似 $O(^{n_{orbs}}C_{n_e})$ 的东西。(这里有一篇关于计算成本的文章。)相关的 Monte-Carlo 方法和基于它们的使用“walkers”和行列式网络的方法可以更快地给出结果,但如上所述,不是变分的。而且仍然非常昂贵。O(norbsCne). (There's an article on the computational cost

目前仅用于两个以上原子的能量的近似值包括:

  • 正如您所说,Born Oppenheimer:除非您的系统涉及氢原子隧穿,或者除非您非常接近状态交叉/避免交叉,否则这几乎从来都不是问题。(例如,参见锥形交叉点。)从概念上讲,波函数/密度有非绝热方法,包括 CPMD,还有可以解释核隧道效应的路径积分 MD。
  • 非相对论计算和狄拉克方程的二分量近似:您可以获得狄拉克方程的精确二分量公式,但更实用的是零阶正则近似(参见 Lenthe 等人,JChemPhys,1993)或道格拉斯方程Kroll-Hess Hamiltonian(参见 Reiher,ComputMolSci,2012)是常用的,并且经常(可能通常)忽略自旋轨道耦合。
  • 基组和 LCAO:基组并不完美,但您始终可以使它们更完整。
  • DFT 泛函,倾向于尝试在交换和关联方面提供足够好的尝试,而无需以下更高级方法的计算成本。(并且有几个不同的近似级别。LDA 是入门级的,GGA、metaGGA 和包括精确交换比这更进一步,就我而言,包括 RPA 仍然是一种相当昂贵和新奇的技术'我知道。还有一些泛函使用不同的技术作为分离的函数,还有一些使用涡度,我认为这在磁性或芳香性研究中有应用。)(B3LYP,一些人喜欢和一些人喜欢讨厌的泛函,是一个 GGA,包括一定比例的准确交换。)
  • 配置交互截断:CIS、CISD、CISDT、CISD(T)、CASSCF、RASSCF 等。这些都是 CI 的近似值,假设最重要的激发决定因素是最不激发的决定因素。
  • 多参考配置交互(截断):同上,但有几个不同的起始参考状态。
  • Coupled-Cluster 方法:我不会假装正确理解它是如何工作的,但它获得了与配置交互截断类似的结果,并具有大小一致性的好处(即 $E(H_2) \times 2 = E((H_2)_2 $(大分离))。E(H2)×2=E((H2)2 (at large separation)).

对于动力学,许多近似值指的是诸如易处理系统的有限大小和实际时间步长选择之类的东西——这在数值时间模拟领域是非常标准的东西。还有温度维持(参见 Nose-Hoover 或 Langevin 恒温器)。不过,据我所知,这主要是一组统计力学问题。

无论如何,如果你有物理学头脑,你可以通过查看这些方法的公式和论文来很好地了解被忽视的内容:最常用的方法至少会有一两篇不是原始规范的论文解释他们的配方及其包含的内容。或者你可以和使用它们的人交谈。(用 DFT 研究周期系统的人总是在抱怨不同的泛函做什么,不包括和解释什么。)很少有方法有特定的令人惊讶的遗漏或故障模式。最困难的问题似乎是对电子相关性的正确处理,而在 Hartree-Fock 方法之上的任何东西,根本没有考虑到它,是试图包含它。

据我了解,如果不大幅重新发明(或丢弃)我们目前使用的算法,那么通过完整的基组获得完全相对论 CI 的准确性永远不会便宜。(对于那些说 DFT 是解决所有问题的方法的人,我正在等待你的纯密度无轨道公式。)

还有一个问题是,通过包含更多贡献和更复杂的公式来进行模拟越准确,实际做任何事情就越困难。例如,有时避免自旋轨道耦合仅仅是因为它使分析变得更加复杂(但有时也因为它的影响可以忽略不计),而规范的 Hartree-Fock 或 Kohn-Sham 轨道对于理解一个定性特征非常有用系统无需对更高级方法的附加输出进行分层。

(我希望其中一些有意义,它可能有点参差不齐。而且我可能错过了某人最喜欢的近似值或琐事。)

量子力学计算的基本挑战是它们不能很好地缩放——据我回忆,目前的最佳情况缩放约为 $O(N_e^{3.7})$,其中 $N_e$ 是包含的电子数在系统中。因此,13 个水分子将缩放为具有 $N_e = 104$ 个电子,而不仅仅是 $N = 39$ 个原子。(这是近 40 倍。)对于较重的原子,差异变得更大。O(Ne3.7), where Ne is the number of Ne=104 electrons instead of just N=39 atoms. (That's a factor of nearly 40.) For heavier atoms, the discrepancy becomes even greater.

主要问题是,除了增加计算能力之外,您还需要提出更好的算法,将 3.7 指数降低到更易于管理的程度。

这个问题大致相当于经典计算机和量子计算机之间的区别。经典计算机一次处理单个值,因为一个确定性输入只能有一个未来/历史。但是,量子计算机可以同时对每个可能的输入进行操作,因为它可以置于所有可能状态的叠加中。

同样,经典计算机必须单独计算每个属性,但它所模拟的量子系统具有宇宙的所有定律,可以同时计算所有属性。

我们必须几乎串行地通过一个 CPU 或最多几千个 CPU 传递数据的方式加剧了这个问题。相比之下,宇宙有几乎无限的同时进行的计算。

以盒子中的 3 个电子为例。计算机必须选择一个时间步长(第一个近似值),并通过有限数量的 CPU 不断重新计算每个电子与其他电子的相互作用。实际上,电子在传输过程中具有不可知数量的真实和虚拟交换粒子,被吸收和发射,作为一个连续的过程。空间中的每个粒子和点都有一些相互作用,这需要一台计算机来模拟。

模拟实际上是选择近似值和算法以尽可能利用可用资源对主题进行建模的艺术。如果你想要完美,恐怕就是真空中球形鸡的数学;我们只能完美地模拟非常简单的。

我不知道以下内容是否有帮助,但对我来说,可视化量子系统的缩放行为非常有见地:

主要问题来自这样一个事实,即量子态的希尔伯特空间随粒子数量呈指数增长。这在离散系统中很容易看到。想想几个相互连接的潜在井,可能只有两个:井 1 和井 2。现在添加玻色子(例如,铷 87,仅作为示例),起初只有一个。有多少个可能的基向量?

  • 基向量 1:井 1 中的玻色子
  • 基向量 2:井 2 中的玻色子

它们可以写成 $\left|1,0 \right\rangle$ 和 $\left|0,1 \right\rangle$|1,0 and |0,1

现在假设玻色子可以从一口井跳到另一口井。然后可以将描述系统的哈密顿量写成矩阵表示法

H^=(ϵ1ttϵ2)

其中$\epsilon_{1,2}$ 分别是井 1 和井 2 中玻色子的能量,t是隧穿幅度。该系统的完整解,即包含在任何给定时间点(给定初始条件)计算系统状态所需的所有信息的解,由特征态和特征值给出。特征态是基向量的线性叠加(在本例中为 $\left|1,0 \right\rangle$ 和 $\left|0,1 \right\rangle$)。ϵ1,2 are just the energies of the boson in well 1 and 2, respectively, and |1,0 and |0,1).

这个问题很简单,用手就能解决。

现在假设我们有更多的势阱和更多的玻色子,例如,在四个带有两个玻色子的阱的情况下,有 10 种不同的可能性将玻色子分布在各个阱中。那么哈密顿量将有 10x10=100 个元素和 10 个本征态。

可以很快看出,特征态数由二项式系数给出: $$ \text{特征态数}=\pmatrix{\text{井数} + \text{玻色子数} - 1 \\ \text {玻色子数}} $$

number of eigenstates=(number of wells+number of bosons1number of bosons)

因此,即使对于“仅”十个玻色子和十个不同的势阱(一个非常小的系统),我们也会有 92,378 个本征态。哈密​​顿量的大小为 $92,378^2$(约 85亿个元素)。在计算机中,它们会占用(取决于您的系统)大约 70 GB 的 RAM,因此在大多数计算机上可能无法解决。92,3782 (approximately 8.5

现在让我们假设我们有一个连续的系统(即没有潜在的井,但有自由空间)和 13 个水分子(为简单起见,我将它们中的每一个都视为一个粒子)。现在在计算机中,我们仍然可以使用许多微小的势阱对自由空间进行建模(我们将空间离散化......这没问题,只要相关物理发生在更大的长度尺度上,然后是离散化长度)。假设每个分子在 x、y 和 z 方向上都有 100 个不同的可能位置。所以我们最终得到 100*100*100 = 1,000,000 个小盒子。那么我们将有超过 $2.7 \cdot 10^{53}$ 的基向量,哈密顿量将有近 $10^{107}$ 的元素,占据如此多的空间,以至于我们需要来自像我们这样的 1000 万个宇宙的所有粒子只是为了编码该信息。2.71053 basis vectors, the Hamiltonian would have almost 10107 elements, occupying so much space that we'd need all the particles from 10 million universes like ours just to encode that information.