DFT计算涉及到求解Kohn-Sham方程 该方程是非常复杂的非线性动力学方程组 为了求解这个方程,通常需要将其转化为一个线性代数问题 对角化后,可以获得Kohn-Sham方程的本征值(即能级)和对应的本征向量(即波函数) 然后通过对角化来求解,对角化可以将复杂的方程组转化为矩阵的本征值问题 从而简化求解步骤,那么我们再了解一下什么是对角化 为啥叫迭代对角化 是因为Kohn-Sham方程的非线性特性、高维度和缺乏解析解 直接使用对角化后会有N个本征值和本征矢 而被电子占据的能带只占其中的一小部分 为了避免对高纬度矩阵的直接对角化 我们可以专注于最低的n个能带的精度 一种合理的方法是针对于给定的能带 首先给出近似的本征值和本征矢 将其代入本征值方程,以得到改进的结果 使上述过程迭代进行,直至结果的精度达到要求 需要使用迭代方法来求解 同时,迭代对角化方法也具有较好的计算效率和收敛速度 可以有效地解决大规模的问题 常见的迭代化对角方法包括Lanczos方法,Davidson方法 和RMM-DIIS方法(残差矢量最小化方法) 在求解KS方程中,进行迭代求解对角化时 需要进行一个本征波函数的初猜 这个初猜并不会影响计算效率 文章来源:《计算材料学-从算法原理到代码实现》作者:单斌/陈征征/陈蓉 建议b站关注搜索:stanfordbshan 单老师有讲解 主要有两种SCF的收敛算法,一种是基于轨道变换(OT)的算法 一种是基于对角化(DIAG)的算法 如果体系有较大带隙的,如为半导体或者绝缘体等,推荐使用OT算法,收敛速度比较快 如果体系中HOMO-LUMO 带隙很小或者几乎没有,如金属体系 则建议使用对角化的方法进行计算,并使用smear方法 这个也是CP2K为啥可以计算的数目较多的原因 OT方法有自身的局限性 OT它是基于能量泛函的最小化,使用一组新的变量来执行轨道变换 这种方法保证了波函数的收敛性 构建了具有不同计算成本和效率的预调节器 根据预条件的不同,该方法需要大量的迭代 这与已建立的对角化- diis方法非常相似,在后者收敛良好的情况下 避免了Kohn-Sham矩阵的对角化,利用了重叠矩阵和Kohn-Sham矩阵的稀疏性 OT方法具体原理参考文献 An efficient orbital transformation method for electronic structure calculations |
Powered by Discuz! X3.5
© 2001-2024 Discuz! Team.