论文部分内容阅读
价键方法作为重要的多组态量子化学计算方法,凭借其清晰的物理图像以及与经典化学概念相吻合的特征,在揭示化学键的本质,描述键的形成与断裂等方面有着无可比拟的优越性。但是,由于价键理论中使用非正交轨道,导致其计算量较大,其应用范围亦受到了一定限制。而近年来,电子计算机技术的发展突飞猛进。无论是处理器速度的指数级增长,还是存储容量的成倍提升,以及各种使用了新技术和高效算法的软件包的层出不穷,都为人们的日常生活带来了翻天覆地的变化,也为量子化学家的研究工作带来了新的可能性,以前无法完成的计算任务现如今也许已经不再是难事。本文尝试利用计算机程序设计方面的技巧与新技术,包括代码生成技术,GPU计算技术等,进一步提高价键计算特别是价键轨道优化的效率。 第一章对价键方法作了简要的介绍。 第二章简要介绍了张量的基础知识,并使用张量表示推导基于非正交轨道的二次量子化方法与增强Wick定理。基于增强Wick定理,我们能够轻松地推导内收缩价键激发组态间的矩阵元表达式。 第三章介绍了自动公式/代码生成器的设计与实现。基于非正交轨道的二次量子化方法与增强Wick定理,我们开发了一套自动公式/代码生成器,用于自动推导内收缩价键激发组态间的矩阵元表达式,并自动产生相应的Fortran代码。由于这些矩阵元表达式往往非常复杂,手动推导公式和程序化的过程不但冗长乏味而且很容易出错,而自动公式/代码生成器克服了这个困难从而大大的缩短了方法开发所需的时间。同时,我们还使用了一系列方法来对自动公式/代码生成器进行优化,使其产生更有效率的代码。 第四章讲述了如何在自动公式/代码生成器的帮助下,完成价键解析能量Hessian矩阵的表达式推导以及程序化。我们使用自动公式/代码生成器推导了VBSCF方法中Hessian矩阵计算所需要的几类矩阵元的表达式,并自动产生了对应的代码,并基于此发展了VBSCF轨道的牛顿优化方法。测试结果表明,新优化方法具有很好的收敛行为和相对于原有的基于梯度的优化方法更高的效率。 第五章介绍了如何使用广义Fock算符作为Hamitonian算符的近似,构造近似Hessian矩阵,并使用近似Hessian矩阵实现价键轨道的牛顿优化方法。通过使用近似Hessian矩阵,矩阵元的计算得到了极大的简化,构造矩阵元所需要的电子积分也能够简化到和使用梯度的优化方法一致。更进一步地,通过分块虚轨道的构造和去除冗余激发,我们就不必使用对角化Hessian矩阵的方法来去除这些冗余变量,进而就可以使用标准的迭代方法来求解线性方程组。这样一来,就大大缩短了优化方法中单步迭代的计算量,又保持了较好的收敛行为。 第六章说明了如何将GPU计算技术应用于XMVB软件包,并成功地将XMVB中较为耗时的积分变换子程序移植到GPU上运行。为了让移植后的CUDA-C语言编写的子程序能正确地与Fortran语言编写的XMVB软件包的其它部分编译到一起,实现时使用了Fortran-C混合编译技术。测试结果表明,移植到GPU上的子程序较原有的CPU代码有一定程度的性能提升。 附录中列出了牛顿优化方法中需要的矩阵元结果表达式,并描述了自动公式/代码生成器的部分实现细节。