一种分子电子能量计算方法及系统
技术领域
本发明涉及馏份油加氢催化剂研究技术领域,具体涉及一种分子电子能量计算方法及系统。
背景技术
石油化工的重要任务之一是通过加氢反应将低品质、高杂质含量高干点的大分子的原油或其它预处理馏份油进行加工,以生成高品质、低杂质含量、高附加值的各类馏份油产品及下游石油化工产品的原料。仅就油品加工所涉及的催化过程而言,该过程是在化学反应过程中借助催化剂,对化学反应进行选择、调控的化学过程。
在研究过程中可将催化剂作为一个“赝分子”,根据“前线轨道理论”,反应物分子跟这个“赝分子”的相互作用(成键或弱相互作用)要遵循轨道的“对称性匹配”和“能量匹配”法则。这种成键的强弱决定于反应物分子相关轨道与代表催化剂的“赝分子”轨道的能量匹配程度。因此,催化剂设计最本质的基础和依据是有针对性的基于反应物分子的“前线轨道”能量分布,调变相关代表催化剂的“赝分子”的前线轨道能量分布以便实现催化剂体系与反应物体系的“能量匹配”。因此反应物前线轨道能量对于催化剂的设计具有深刻的指导意义。
对于反应物和催化剂体系“前线轨道能量”计算的最有效方法就是量子化学计算方法。在量子化学计算的诸多方法中,从头算方法是最精确而严格的,除了涉及到原子种类的信息,它不需要任何实验参数的输入。该方法理论上对包括反应物分子及催化剂体系的化学团簇系统的前线轨道能量计算均有对应的算法支撑。
不幸的是,该类算法在实际计算过程中的积分计算及FOCK矩阵对角化两个过程计算量十分巨大。仅就在实际计算过程中涉及的积分计算而言,一般该类计算包含体系的电子交互积分计算、电子动能积分计算和电子核吸引积分计算,以上三类积分的计算开销均(二元及三元序组数量)与计算过程中所采用基组函数数量的平方成正比;而在计算过程中涉及的电子互斥积分的计算开销(四元序组数量)则与计算过程中所采用基组函数数量的四次方成正比。
因此,化学团簇体系的计算开销与计算体系规模(主要指计算体系电子数量)的关系严重限制了该方法对于大尺度化学团簇前线轨道信息的描述和分析!石油化学的研究结果表明一般原料油馏分馏出温度越高其对应的烃类分子分子量也越大,也即油品烃分子包含的碳氢原子数越多,通过实验估算大于500℃的馏分油其对应的烃分子中碳原子数目一般不小于35个。随着原料油品重质化程度的不断增加,炼油过程催化反应所需处理的烃及其衍生物分子的尺度规模也不断增加。这些特点更增加了对于相应烃及其衍生物分子能量计算的复杂性。大分子烃及其衍生物分子能量计算对相关催化剂的设计虽然具有至关重要的意义,但现有理论及计算对于大分子烃及其衍生物分子能量的计算确受到了很大的限制!
发明内容
针对现有技术的不足,本发明提供一种分子电子能量计算方法及系统。
第一方面,本发明实施例提供一种分子电子能量计算方法,所述方法包括:
对待计算的分子体系所涉及的全部电子轨道进行编号,并根据所述分子体系的原子轨道截断半径计算所述全部电子轨道的二元编号序组A和四元编号序组B;
按照预设算法分别对所述二元编号序组A和所述四元编号序组B进行缩减,得到缩减后的二元编号序组A1和缩减后的四元编号序组B1;
根据所述分子体系的空间对称信息,对所述四元编号序组B1进行缩减,得到缩减后的四元编号序组B2;
根据所述二元编号序组A1、三元编号序组D1和所述四元编号序组B2并行计算所述分子体系的电子交互积分、电子动能积分、电子核吸引积分和电子互斥积分,并将相应的积分计算值分别作为电子交互积分矩阵、电子动能积分矩阵、电子核吸引积分矩阵和电子互斥积分矩阵的部分矩阵元;其中,所述三元编号序组D1是根据所述二元编号序组A1计算得到的;
根据所述二元编号序组A1对应的积分计算值以及所述二元编号序组A与所述二元编号序组A1之间的映射关系数组C1,还原出所述电子交互积分矩阵和所述电子动能积分矩阵的全部矩阵元,并生成所述电子交互积分矩阵和所述电子动能积分矩阵;
根据所述三元编号序组D1对应的积分计算值以及对应的映射关系数组,还原出所述电子核吸引积分矩阵的全部矩阵元,并生成所述电子核吸引积分矩阵;
根据所述四元编号序组B2对应的积分计算值、所述四元编号序组B与所述四元编号序组B1之间的映射关系数组C2以及所述四元编号序组B1与所述四元编号序组B2之间的映射关系数组C3,还原出所述电子互斥积分矩阵的全部矩阵元,并生成电子互斥积分向量;
根据所述电子互斥积分向量、所述四元编号序组B以及所述四元编号序组B对应的数据结构BB,构造二维电子排斥矩阵;其中,所述数据结构BB包括:所述四元编号序组B的第一列元素、第二列元素,以及所述第一列元素和所述第二列元素在所述四元编号序组B中对应的位置编号;
根据预设的初始密度矩阵、Hamilton矩阵以及Fock矩阵,计算所述分子体系的密度矩阵,并根据所述分子体系的密度矩阵计算所述分子体系的电子性质及其他物理量;其中,所述Hamilton矩阵是根据所述电子动能积分矩阵和所述电子核吸引积分矩阵得到的,所述Fock矩阵是根据所述Hamilton矩阵和所述二维电子排斥矩阵得到的。
第二方面,本发明实施例提供一种分子电子能量计算系统,所述系统包括:
第一计算模块,用于对待计算的分子体系所涉及的全部电子轨道进行编号,并根据所述分子体系的原子轨道截断半径计算所述全部电子轨道的二元编号序组A和四元编号序组B;
第一缩减模块,用于按照预设算法分别对所述二元编号序组A和所述四元编号序组B进行缩减,得到缩减后的二元编号序组A1和缩减后的四元编号序组B1;
第二缩减模块,用于根据所述分子体系的空间对称信息,对所述四元编号序组B1进行缩减,得到缩减后的四元编号序组B2;
积分模块,用于根据所述二元编号序组A1、三元编号序组D1和所述四元编号序组B2并行计算所述分子体系的电子交互积分、电子动能积分、电子核吸引积分和电子互斥积分,并将相应的积分计算值分别作为电子交互积分矩阵、电子动能积分矩阵、电子核吸引积分矩阵和电子互斥积分矩阵的部分矩阵元;其中,所述三元编号序组D1是根据所述二元编号序组A1计算得到的;
第一还原模块,用于根据所述二元编号序组A1对应的积分计算值以及所述二元编号序组A与所述二元编号序组A1之间的映射关系数组C1,还原出所述电子交互积分矩阵和所述电子动能积分矩阵的全部矩阵元,并生成所述电子交互积分矩阵和所述电子动能积分矩阵;
第二还原模块,用于根据所述三元编号序组D1对应的积分计算值以及对应的映射关系数组,还原出所述电子核吸引积分矩阵的全部矩阵元,并生成所述电子核吸引积分矩阵;
第三还原模块,用于根据所述四元编号序组B2对应的积分计算值、所述四元编号序组B与所述四元编号序组B1之间的映射关系数组C2以及所述四元编号序组B1与所述四元编号序组B2之间的映射关系数组C3,还原出所述电子互斥积分矩阵的全部矩阵元,并生成电子互斥积分向量;
构造模块,用于根据所述电子互斥积分向量、所述四元编号序组B以及所述四元编号序组B对应的数据结构BB,构造二维电子排斥矩阵;其中,所述数据结构BB包括:所述四元编号序组B的第一列元素、第二列元素,以及所述第一列元素和所述第二列元素在所述四元编号序组B中对应的位置编号;
第二计算模块,用于根据预设的初始密度矩阵、Hamilton矩阵以及Fock矩阵,计算所述分子体系的密度矩阵,并根据所述分子体系的密度矩阵计算所述分子体系的电子性质及其他物理量;其中,所述Hamilton矩阵是根据所述电子动能积分矩阵和所述电子核吸引积分矩阵得到的,所述Fock矩阵是根据所述Hamilton矩阵和所述二维电子排斥矩阵得到的。
第三方面,本发明实施例提供一种电子设备,所述设备包括存储器和处理器,所述处理器和所述存储器通过总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行上述分子电子能量计算方法。
第四方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述分子电子能量计算方法。
本发明实施例提供的分子电子能量计算方法及系统,通过根据待计算的分子体系的原子轨道截断半径计算全部电子轨道的二元编号序组A和四元编号序组B,按照预设算法分别对二元编号序组A和四元编号序组B进行缩减,得到缩减后的二元编号序组A1和缩减后的四元编号序组B1,根据分子体系的空间对称信息,对四元编号序组B1进行缩减,得到缩减后的四元编号序组B2,在构造二维电子排斥矩阵时利用了四元编号序组B对应的数据结构BB,可以大幅度减少整个计算过程的时间开销,同时也能在相同的计算时间内完成对更大尺度分子的电子能量信息的计算评估。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的分子电子能量计算方法流程图;
图2是本发明实施例提供的分子电子能量计算系统的结构示意图;
图3是本发明实施例提供的电子设备的结构示意图;
图4是本发明实施例提供的积分区域划分过程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明实施例提供的分子电子能量计算方法流程图,如图1所示,所述方法包括:
步骤1、对待计算的分子体系所涉及的全部电子轨道进行编号,并根据所述分子体系的原子轨道截断半径计算所述全部电子轨道的二元编号序组A和四元编号序组B;
步骤2、按照预设算法分别对所述二元编号序组A和所述四元编号序组B进行缩减,得到缩减后的二元编号序组A1和缩减后的四元编号序组B1;
步骤3、根据所述分子体系的空间对称信息,对所述四元编号序组B1进行缩减,得到缩减后的四元编号序组B2;
步骤4、根据所述二元编号序组A1、三元编号序组D1和所述四元编号序组B2并行计算所述分子体系的电子交互积分、电子动能积分、电子核吸引积分和电子互斥积分,并将相应的积分计算值分别作为电子交互积分矩阵、电子动能积分矩阵、电子核吸引积分矩阵和电子互斥积分矩阵的部分矩阵元;其中,所述三元编号序组D1是根据所述二元编号序组A1计算得到的;
步骤5、根据所述二元编号序组A1对应的积分计算值以及所述二元编号序组A与所述二元编号序组A1之间的映射关系数组C1,还原出所述电子交互积分矩阵和所述电子动能积分矩阵的全部矩阵元,并生成所述电子交互积分矩阵和所述电子动能积分矩阵;
步骤6、根据所述三元编号序组D1对应的积分计算值以及对应的映射关系数组,还原出所述电子核吸引积分矩阵的全部矩阵元,并生成所述电子核吸引积分矩阵;
步骤7、根据所述四元编号序组B2对应的积分计算值、所述四元编号序组B与所述四元编号序组B1之间的映射关系数组C2以及所述四元编号序组B1与所述四元编号序组B2之间的映射关系数组C3,还原出所述电子互斥积分矩阵的全部矩阵元,并生成电子互斥积分向量;
步骤8、根据所述电子互斥积分向量、所述四元编号序组B以及所述四元编号序组B对应的数据结构BB,构造二维电子排斥矩阵;其中,所述数据结构BB包括:所述四元编号序组B的第一列元素、第二列元素,以及所述第一列元素和所述第二列元素在所述四元编号序组B中对应的位置编号;
步骤9、根据预设的初始密度矩阵、Hamilton矩阵以及Fock矩阵,计算所述分子体系的密度矩阵,并根据所述分子体系的密度矩阵计算所述分子体系的电子性质及其他物理量;其中,所述Hamilton矩阵是根据所述电子动能积分矩阵和所述电子核吸引积分矩阵得到的,所述Fock矩阵是根据所述Hamilton矩阵和所述二维电子排斥矩阵得到的。
具体地,本发明实施例提供的电子能量计算方法可以用于计算分子的电子能量信息,也可以用于计算团簇的电子能量信息。下面以分子为例,详细描述一下本发明实施例提供的技术方案。
每个分子都有对应的基础数据集合,包括:分子体系原子的空间几何数据、原子序数信息、原子轨道截断半径信息以及每个原子对应电子的轨道基组函数信息。其中,分子体系原子的空间几何数据是指体系中包含原子的原子核的三维笛卡尔坐标,其规模为N×3,N是指分子体系的原子数目,原子序数信息是指体系原子的核电荷数,电子的轨道基组函数是近似描述电子轨道初始形态的函数集合及相关参数,在本实施例中以STO-3G基组为例,作为后续计算基组,但本发明计算所使用基组不仅限于STO-3G基组。
系统可以对整个计算的分子所涉及的全部电子轨道进行编号,依据其对应的原子轨道截断半径计算后续计算所涉及的全部电子轨道二元编号序组A和四元编号序组B。其中,原子轨道截断半径是指后续积分计算中积分过程所需考虑的影响范围,是一个大于0的实数,也可以是无穷大,其值可以根据经验设定也可以根据计算需要人为指定,在本实施例中指定后续计算所涉及的整体截断半径为10埃。
由于二元编号序组A和四元编号序组B的数量非常多,为了减少计算时间,系统可以按照预设算法对二元编号序组A进行缩减,保存原始的二元编号序组A、缩减后得到的二元编号序组A1以及二元编号序组A1与二元编号序组A之间的映射关系数组C1。得到二元编号序组A1之后,系统可以根据二元编号序组A1得到三元编号序组D1。
类似地,系统也可以按照预设算法对四元编号序组B进行缩减,保存原始的四元编号序组B、缩减后得到的四元编号序组B1以及四元编号序组B1与四元编号序组B之间的映射关系数组C2。
为了进一步减少计算时间,系统可以根据分子体系的空间对称信息,对四元编号序组B1进行缩减,保存四元编号序组B1、缩减后得到的四元编号序组B2、以及四元编号序组B1与四元编号序组B2之间的映射关系数组C3。然后,系统可以依据特定积分方法基于二元编号序组A1、三元编号序组D1以及四元编号序组B2计算对应的电子交互积分、电子动能积分、电子核吸引积分和电子互斥积分,并将计算结果分别作为电子交互积分矩阵、电子动能积分矩阵、电子核吸引积分矩阵和电子互斥积分矩阵的部分矩阵元。然后,系统可以基于二元编号序组A1对应的积分计算值以及映射关系数组C1还原电子交互积分矩阵和电子动能积分矩阵的全部矩阵元,并以电子交互积分矩阵的全部矩阵元为元素,以二维矩阵的形式构建电子交互积分矩阵,以电子动能积分矩阵的全部矩阵元为元素,以二维矩阵的形式构建电子动能积分矩阵。
系统可以基于三元编号序组D1对应的积分值以及映射关系数组还原电子核吸引积分矩阵的全部矩阵元,以电子核吸引积分矩阵的全部矩阵元为元素,以二维矩阵的形式构建电子核吸引积分矩阵。
系统可以基于四元编号序组B2对应的积分计算值以及映射关系数组C3及C2还原电子互斥积分矩阵的全部矩阵元,以电子互斥积分矩阵的全部矩阵元为元素,构造一维向量形式的电子互斥积分向量。
系统可以对四元编号序组B基于序组每行的第一列和第二列元素进行划分,进而生成数据结构BB,该数据结构包含两个部分:第一部分是四元编号序组的第一列及第二列元素,第二部分是包含该头两列元素的对应四元编号序组在四元编号序组B对应的位置编号。系统可以根据电子互斥积分向量、四元编号序组B以及四元编号序组B对应的数据结构BB,构造二维电子排斥矩阵。系统可以基于计算获得的电子动能积分矩阵和电子核吸引积分矩阵构造后续计算涉及的二维Hamilton矩阵。
系统可以预设一个初始密度矩阵,由Hamilton矩阵及生成的二维电子排斥矩阵构造Fock矩阵。对生成的Fock矩阵进行变换及特征值求取,重新计算分子体系的密度矩阵并取代初始密度矩阵,重复这一过程直至相邻两次迭代计算获得的密度矩阵差值小于指定值为止,记录此时对应的密度矩阵。系统可以基于最后获得的密度矩阵计算分子体系的电子性质。
本发明实施例提供的分子电子能量计算方法,通过根据分子体系的原子轨道截断半径计算全部电子轨道的二元编号序组A和四元编号序组B,按照预设算法分别对二元编号序组A和四元编号序组B进行缩减,得到缩减后的二元编号序组A1和缩减后的四元编号序组B1,根据分子体系的空间对称信息,对四元编号序组B1进行缩减,得到缩减后的四元编号序组B2,在构造二维电子排斥矩阵时利用了四元编号序组B对应的数据结构BB,该方法可以大幅度减少整个计算过程的时间开销,同时也能在相同的计算时间内完成对更大尺度分子的电子能量信息的计算评估。
可选的,在上述实施例的基础上,所述二元编号序组A的生成过程包括:
对所述分子体系中的所有原子按照原子核的X坐标、Y坐标以及Z坐标进行排序;
从所有原子中筛选出与每个第一原子对应的初选原子;其中,所述第一原子是所述分子体系中的任意一个原子,每个所述初选原子对应的X坐标、Y坐标和Z坐标与所述第一原子的X坐标、Y坐标和Z坐标之间的三个距离中,每一个距离均小于所述原子轨道截断半径;
对于每个所述第一原子,从对应的所有初选原子中筛选出终选原子;其中,每个所述终选原子与所述第一原子之间的距离均小于所述原子轨道截断半径;
根据每个所述第一原子及其对应的终选原子包含的电子轨道,得到所述第一原子对应的二元编号序组集合,对所有原子对应的二元编号序组集合取并集,得到所述全部电子轨道的二元编号序组A。
具体地,系统可以按照如下方法生成上述实施例中所述的二元编号序组A。系统可以对分子体系中的所有原子按照原子核的X坐标、Y坐标以及Z坐标进行排序,并记录对应原子序号。
系统可以将分子体系中的任意一个原子记为第一原子,系统可以计算所有原子对应的X坐标、Y坐标及Z坐标与第一原子对应的X坐标、Y坐标及Z坐标之间的三个距离,若三个距离中每一个距离均小于原子轨道截断半径,则将对应的原子筛选为第一原子的初选原子,系统可以筛选出第一原子对应的所有初选原子,记录第一原子的初选原子对应的原子编号,根据原子编号生成初选原子集合。
系统可以计算每个第一原子与每个初选原子之间的距离,将距离小于原子轨道截断半径的初选原子筛选出来作为一个终选原子。
对于第一原子及对应的所有终选原子,系统可以对每个原子中包含的电子轨道依次计数并标记其所属原子以及轨道类型作为其电子轨道特征。其中,1S轨道标记为1,2S轨道标记为2,Px轨道标记为3,Py轨道标记为4,Pz轨道标记为5。根据每个原子的电子轨道特征,得到第一原子对应的二元编号序组集合。
系统可以对分子体系中的每个第一原子对应的二元编号序组集合取并集,将取并集之后得到的二元编号序组与每个原子包含的电子轨道信息相结合,得到全部电子轨道的二元编号序组A。
本发明实施例提供的分子电子能量计算方法,通过对分子体系中的所有原子按照原子核的X坐标、Y坐标以及Z坐标进行排序,从所有原子中筛选出与每个第一原子对应的初选原子,对于每个第一原子,从对应的所有初选原子中筛选出终选原子,根据每个第一原子及其对应的终选原子包含的电子轨道,得到所述第一原子对应的二元编号序组集合,对所有原子对应的二元编号序组集合取并集,得到全部电子轨道的二元编号序组A,这使得所述方法更加科学。
可选的,在上述实施例的基础上,所述二元编号序组A1的生成过程包括:
S31.创建集合T1和集合T2;其中,所述集合T1初始为空集,所述集合T2中包括所述二元编号序组A的所有元素;
S32.对集合T2中的元素进行依次扫描,如果集合T1为空集,则将集合T2中第一个元素加入集合T1,并在集合T2中将第一个元素删除;如果集合T1不是空集,且集合T2与集合T1中的元素之间满足第一预设条件,则将集合T2中的相应元素删除,并将集合T1中的每个元素在集合T1中的位置记录进所述关系映射数组C1;其中,所述第一预设条件包括:数值相同且顺序相反;如果集合T1不是空集,且集合T2与集合T1中的元素之间不满足所述第一预设条件,则将集合T2的相应元素加入集合T1中,同时将相应元素从集合T2中删除,并将相应元素在集合T1中的位置记录进所述关系映射数组C1;
S33.重复执行步骤S32,直到集合T2变为空集为止,并将最后得到的集合T1作为所述二元编号序组A1。
具体地,系统可以按照如下方法,对二元编号序组A进行缩减,得到上述实施例中所述的二元编号序组A1。
系统可以首先将获得的二元编号序组A分成两个集合T1和T2。将二元编号序组A的所有元素计入集合T2,T1记为空集。例如,在本实施例中集合T1初始为空集,T2所包含的元素是64个集合{1,1}直到{8,8}。
然后,系统可以对集合T2进行依次扫描,如果集合T1为空集,则将集合T2中第一个元素加入集合T1,并在集合T2中删除该元素,并将第一个元素在集合T1中的位置记录进关系映射数组C1。
系统可以预设一个条件,可以将该条件记为第一预设条件,第一预设条件为:两个元素数值相同且顺序相反。如果集合T1不为空集,则扫描集合T2中的元素,如果集合T2中的元素与集合T1中的元素满足第一预设条件,则将集合T2中的相应的元素删除,并将与该元素相同的对应元素在集合T1中的位置记录进关系映射数组C1。否则,如果集合T2中的元素与集合T1中的元素不满足第一预设条件,则系统可以将集合T2的第一个元素加入集合T1,同时将该元素从集合T2中删除,并将该元素在集合T1中的位置记录进关系映射数组C1。
反复执行上述步骤,直到T2变为空集为止,将最终得到的集合T1置为缩减后得到的二元编号序组A1。
系统还可以按照如下方法对四元编号序组B进行缩减,得到缩减后的四元编号序组B1。
具体地,系统可以将获得的四元编号序组B分成两个集合Q1和Q2,将四元编号序组B的第一个元素计入集合Q1,而将其余元素计入集合Q2,并将该元素在集合Q1中的位置记录进关系映射数组C2。
假定Q1所包含的元素的排序序号为{1,2,3,4},在此将以下七类序号排列方式{2,1,3,4}、{2,1,4,3}、{1,2,4,3}、{3,4,1,2}、{4,3,1,2}、{4,3,2,1}以及{3,4,2,1}作为等价排序方式。
对集合Q2进行依次扫描,如果集合Q2中的元素与集合Q1中元素按以上七类排序方式的变换结果相同,则将集合Q2中相应的元素删除,并将该元素的对应元素在集合T1的中的位置记录进关系映射数组C2;否则,则将集合Q2的第一个元素加入集合Q1,同时将该元素从集合Q2中删除,并将该元素在集合Q1中的位置记录进关系映射数组C2。
重复执行上述步骤,直到集合Q2变为空集为止,将集合Q1置为缩减后得到的四元编号序组B1。
本发明实施例提供的分子电子能量计算方法,通过创建集合T1和集合T2,对集合T2中的元素进行依次扫描,如果集合T1为空集,则将集合T2中第一个元素加入集合T1,并在集合T2中将第一个元素删除,如果集合T1不是空集,且集合T2与集合T1中的元素之间满足第一预设条件,则将集合T2中的相应元素删除,并将集合T1中的每个元素在集合T1中的位置记录进关系映射数组C1,如果集合T1不是空集,且集合T2与集合T1中的元素之间不满足第一预设条件,则将集合T2的相应元素加入集合T1中,同时将相应元素从集合T2中删除,并将相应元素在集合T1中的位置记录进关系映射数组C1,重复上述过程,直到集合T2变为空集为止,并将最后得到的集合T1作为二元编号序组A1,这使得所述方法更加科学。
可选的,在上述实施例的基础上,所述三元编号序组D1的生成过程包括:
查找所述二元编号序组A1中每个元素对应的电子轨道所属的第二原子;
查找每个所述第二原子对应的终选原子集合,并对所有的终选原子集合取交集;
根据所述二元编号序组A1和所述交集,得到所述三元编号序组D1。
具体地,系统可以按照如下方法,生成上述实施例中所述的三元编号序组D1。
系统可以查找二元编号序组A1中每个元素对应的电子轨道序号,并找到该轨道所属的原子,可以将这个原子记为第二原子,然后,查找每个第二原子对应的终选原子集合,并对所有的终选原子集合取交集,得到三元编号序组D1。
其中,三元编号序组D1的数据结构包含两个部分:第一个部分是对应二元编号序组的序号集合,也就是编号序组A1原有部分;第二个部分是该二元编号序组对应的终选原子集合的交集。
本发明实施例提供的分子电子能量计算方法,通过查找二元编号序组A1中每个元素对应的电子轨道所属的第二原子,查找每个第二原子对应的终选原子集合,并对所有的终选原子集合取交集,根据二元编号序组A1和所述交集,得到三元编号序组D1。这使得所述方法更加科学。
可选的,在上述实施例的基础上,所述四元编号序组B2的生成过程包括:
查找所述四元编号序组B1每行所对应的四组电子轨道编号对应的原子序号,将查找到的所有原子序号记录进数组AA1;
查找所述四元编号序组B1每行所对应的四组电子轨道编号所对应的电子轨道标记,将查找到的电子轨道标记记录进数组AA2;
根据所述数组AA1中的原子序号和所涉及的对应原子坐标,查找四个原子的三维空间坐标,将查找到的三维空间坐标记录进数组AA3;
将所述数组AA3中的所有原子进行空间平移操作,使得第一个原子坐标位于坐标系原点,将平移之后得到的所有原子的三维空间坐标记录进数组AA4;
将所述四元编号序组B1每行对应的数组AA1、数组AA2和数组AA4,合并成一个数组AA5;
依次计算所述四元编号序组B1每一行所对应的数组AA5,并将所有的数组AA5依次进行合并生成数组AA6;
基于行对所述数组AA6求并集,生成所述四元编号序组B2,并将所述四元编号序组B2中的每个元素在所述四元编号序组B1中的位置标号,记录进所述映射关系数组C3中。
具体地,系统可以按照如下方法生成上述实施例中所述的四元编号序组B2。
系统可以根据四元编号序组B1的每行所对应的四组轨道编号,查找所对应的原子序号,并将其记录为数组AA1。例如,在本实施例中,对于四元编号序组B1第一行所形成的数组AA1为[7,7,7,7]。
然后,系统可以查找四元编号序组B1的每行所对应的四组轨道编号所对应的轨道标记,并将其记录为数组AA2。例如,在本实施例中,对于四元编号序组B1第一行所形成的数组AA2为[1,1,1,1]。
然后,系统可以基于数组AA1中获得的原子序号数据以及所涉及的原子坐标查找四个原子的三维空间坐标,并将相关坐标记录于数组AA3。例如,在本实施例中,对于四元编号序组B1第一行所形成的数组AA3为[0.30926 0.30926 0.309260.30926 0.309260.30926 0.30926 0.30926 0.30926 0.30926 0.30926 0.30926]。
然后,系统可以将数组AA3中对应的所有原子进行空间平移操作,操作结果使得第一个原子坐标位于坐标系原点,其余原子坐标作相应调整。将操作结果记录于数组AA4。例如,在本实施例中,对于四元编号序组B1第一行所形成的数组AA4为[0 0 0 0 0 0 0 0 0 00 0]。
然后,系统可以将获得的数组AA1、AA2以及AA4合并成一个数组AA5。例如,在本实施例中,对于四元编号序组B1第一行所形成的数组AA5为[7,7,,7,7,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0]。
然后,系统可以依次计算四元编号序组B1每一行所对应的数组AA5,并将所有数组依次进行合并生成数组AA6。例如,在本实施例中,合并生成数组AA6的规模为666×20。
由于四元编号序组B1对应的积分计算其结果只与四个原子的相对位置和相关电子轨道类型有关,而合并生成的数组AA6则包含四个原子的相对位置和相关电子轨道类型的所有信息。系统可以对于合并数组AA6基于行求并集生成四元编号序组B2,并记录四元编号序组B2中每个元素在四元编号序组B1中的位置标号,并将其记入映射关系数组C3中。
本发明实施例提供的分子电子能量计算方法,通过查找四元编号序组B1每行所对应的四组电子轨道编号对应的原子序号,将查找到的所有原子序号记录进数组AA1,查找四元编号序组B1每行所对应的四组电子轨道编号所对应的电子轨道标记,将查找到的电子轨道标记记录进数组AA2,根据数组AA1中的原子序号和所涉及的对应原子坐标,查找四个原子的三维空间坐标,将查找到的三维空间坐标记录进数组AA3,将所述数组AA3中的所有原子进行空间平移操作,使得第一个原子坐标位于坐标系原点,将平移之后得到的所有原子的三维空间坐标记录进数组AA4,将四元编号序组B1每行对应的数组AA1、数组AA2和数组AA4,合并成一个数组AA5,依次计算四元编号序组B1每一行所对应的数组AA5,并将所有的数组AA5依次进行合并生成数组AA6,基于行对数组AA6求并集,生成四元编号序组B2,并将四元编号序组B2中的每个元素在四元编号序组B1中的位置标号,记录进映射关系数组C3中,这使得所述方法更加科学。
图4是本发明实施例提供的积分区域划分过程示意图。
可选的,在上述实施例的基础上,在计算所述分子体系的电子交互积分、电子动能积分和电子核吸引积分之前,还包括对四类积分对应的积分区域进行划分的过程,所述积分区域的划分过程包括:
S61、获取每类积分对应的积分判别阈值;
S62、在已有的积分区域内,计算每类积分对应的积分判别函数值;
S63、如果积分判别函数值大于对应的积分判别阈值,则将已有的积分域所属的六面体区域划分为27个子积分区域;
S64、重复步骤S62-S63,直至在所有的积分区域内,都满足判别函数值小于或等于对应的判别阈值为止。
具体地,系统在计算分子体系的电子交互积分、电子动能积分和电子核吸引积分之前,还包括对四类积分对应的积分区域进行划分的过程,积分区域的划分过程可以采用如下方法。
对于电子交互积分和核吸引积分的积分区间生成过程如下:首先计算两个电子所在原子核空间坐标的中点TT,并记录TT坐标。如果两个电子所在原子相同则记录该原子核所在点作为点TT,并记录TT所在位置坐标。以TT为原点以L为单位步长在三个维度上扩展空间网格,直到网格覆盖积分计算所涉及电子所在的所有原子核,并使得网格边界坐标距与之最近原子核的距离在5A~5A+L之间。一般L不大于1A。
对于电子动能积分的积分区间生成过程如下:首先计算两个电子所在原子核空间坐标的中点TT,并记录TT坐标。如果两个电子所在原子相同则记录该原子核所在点作为点TT,并记录TT所在位置坐标。以TT为原点以L为单位步长在三个维度上扩展空间网格,直到网格覆盖积分计算所涉及电子所在的所有原子核,并使得网格边界坐标距与之最近原子核的距离在10A~10A+L之间。一般L不大于1A。
对于电子互斥积分的积分区间生成过程如下:首先计算四个电子所在原子核空间坐标的重心TT,并记录TT坐标。如果四个电子所在原子相同则将该原子核所在点作为点TT,并记录TT所在位置坐标。以TT为原点以L为单位步长在三个维度上扩展空间网格,直到网格覆盖积分计算所涉及电子所在的所有原子核,并使得网格边界坐标距与之最近原子核的距离在5A~5A+L之间。一般L不大于1A。
系统可以对每类积分设定一个对应的积分判别阈值,其中,判别阈值是在0~1之间的实数。其数值越小,其后续数值积分计算的精度越高,但计算时间越长。
然后,系统可以在确立的初始积分域内分别按照对应的判别函数公式,计算四类积分的判别函数值。
其中,初始域内电子交互积分的判别函数为:
初始域内电子动能积分的判别函数为:
初始域内电子核吸引积分的判别函数为:
初始域内电子互斥积分的判别函数为:
本发明实施例中,可以使用六面体区域作为积分判别函数以及后续积分计算的计算域。系统可以比较每类积分的判别函数值与判别阈值,如果积分判别函数值小于或等于对应的积分判别阈值,则保留该积分域和积分判别函数值;否则对已有的积分域进行再次划分,将原有积分域所属的四面体区域ABCD进行二次划分,将原积分域划分为27个小的六面体子积分域,并计算27个子积分域重心的空间坐标,积分区域划分过程如图4所示。
每次积分区域划分之后,系统可以对每个子积分域依次进行上述操作,直至在所有的积分区域内,都满足判别函数值小于或等于对应的判别阈值为止。
在每个子积分区域内,系统可以按照如下公式对各类积分的积分形式进行离散,变为积分形式对应的加和形式。
对于电子交互积分,其离散形式为:
假定离散区域很小,近似认为在子积分区域内被积函数值保持不变,可以用区域重心函数值近似表达整个子积分区域函数值,则可以将上式的形式进行变换,得到如下公式:
其中,x
mi,y
mi,z
mi分别代表每个子积分区域的重心坐标,Ω
i代表子积分区域中的第i个区域,
则代表第i个子积分区域的体积。
因此,电子交互积分最终的离散形式为:
基于同样的方法,电子动能积分的离散表达式为:
电子核吸引积分的离散表达式为:
电子互斥积分的离散表达式为:
本发明实施例提供的分子电子能量计算方法,通过在已有的积分区域内,计算每类积分对应的积分判别函数值,如果积分判别函数值大于对应的积分判别阈值,则将已有的积分域所属的六面体区域划分为27个子积分区域,对划分后的子区域重复上述过程,直至在所有的积分区域内,都满足判别函数值小于或等于对应的判别阈值为止。该方法可以根据设定阈值的不同对电子轨道波函数绝对值较大即电子密度较高的区域进行更为密集的多级划分,而在电子轨道波函数绝对值较小和电子密度较低的区域不进行进一步划分或较少划分,进而可以灵活的适用于不同的轨道成键区域。
图2是本发明实施例提供的分子电子能量计算系统的结构示意图。如图2所示,所述系统包括:第一计算模块201、第一缩减模块202、第二缩减模块203、积分模块204、第一还原模块205、第二还原模块206、第三还原模块207、构造模块208和第二计算模块209,其中:
第一计算模块201用于对待计算的分子体系所涉及的全部电子轨道进行编号,并根据所述分子体系的原子轨道截断半径计算所述全部电子轨道的二元编号序组A和四元编号序组B;第一缩减模块202用于按照预设算法分别对所述二元编号序组A和所述四元编号序组B进行缩减,得到缩减后的二元编号序组A1和缩减后的四元编号序组B1;第二缩减模块203用于根据所述分子体系的空间对称信息,对所述四元编号序组B1进行缩减,得到缩减后的四元编号序组B2;积分模块204用于根据所述二元编号序组A1、三元编号序组D1和所述四元编号序组B2并行计算所述分子体系的电子交互积分、电子动能积分、电子核吸引积分和电子互斥积分,并将相应的积分计算值分别作为电子交互积分矩阵、电子动能积分矩阵、电子核吸引积分矩阵和电子互斥积分矩阵的部分矩阵元;其中,所述三元编号序组D1是根据所述二元编号序组A1计算得到的;第一还原模块205用于根据所述二元编号序组A1对应的积分计算值以及所述二元编号序组A与所述二元编号序组A1之间的映射关系数组C1,还原出所述电子交互积分矩阵和所述电子动能积分矩阵的全部矩阵元,并生成所述电子交互积分矩阵和所述电子动能积分矩阵;第二还原模块206用于根据所述三元编号序组D1对应的积分计算值以及对应的映射关系数组,还原出所述电子核吸引积分矩阵的全部矩阵元,并生成所述电子核吸引积分矩阵;第三还原模块207用于根据所述四元编号序组B2对应的积分计算值、所述四元编号序组B与所述四元编号序组B1之间的映射关系数组C2以及所述四元编号序组B1与所述四元编号序组B2之间的映射关系数组C3,还原出所述电子互斥积分矩阵的全部矩阵元,并生成电子互斥积分向量;构造模块208用于根据所述电子互斥积分向量、所述四元编号序组B以及所述四元编号序组B对应的数据结构BB,构造二维电子排斥矩阵;其中,所述数据结构BB包括:所述四元编号序组B的第一列元素、第二列元素,以及所述第一列元素和所述第二列元素在所述四元编号序组B中对应的位置编号;第二计算模块209用于根据预设的初始密度矩阵、Hamilton矩阵以及Fock矩阵,计算所述分子体系的密度矩阵,并根据所述分子体系的密度矩阵计算所述分子体系的电子性质及其他物理量;其中,所述Hamilton矩阵是根据所述电子动能积分矩阵和所述电子核吸引积分矩阵得到的,所述Fock矩阵是根据所述Hamilton矩阵和所述二维电子排斥矩阵得到的。
具体地,本发明实施例提供的分子电子能量计算系统可以包括:第一计算模块201、第一缩减模块202、第二缩减模块203、积分模块204、第一还原模块205、第二还原模块206、第三还原模块207、构造模块208和第二计算模块209。
第一计算模块201可以对整个计算的分子所涉及的全部电子轨道进行编号,依据其对应的原子轨道截断半径计算后续计算所涉及的全部电子轨道二元编号序组A和四元编号序组B。其中,原子轨道截断半径是指后续积分计算中积分过程所需考虑的影响范围,是一个大于0的实数,也可以是无穷大,其值可以根据经验设定也可以根据计算需要人为指定,在本实施例中指定后续计算所涉及的整体截断半径为10埃。
由于二元编号序组A和四元编号序组B的数量非常多,为了减少计算时间,第一缩减模块202可以按照预设算法对二元编号序组A进行缩减,保存原始的二元编号序组A、缩减后得到的二元编号序组A1以及二元编号序组A1与二元编号序组A之间的映射关系数组C1。得到二元编号序组A1之后,第一缩减模块202还可以根据二元编号序组A1得到三元编号序组D1。
类似地,第一缩减模块202也可以按照预设算法对四元编号序组B进行缩减,保存原始的四元编号序组B、缩减后得到的四元编号序组B1以及四元编号序组B1与四元编号序组B之间的映射关系数组C2。
为了进一步减少计算时间,第二缩减模块203可以根据分子体系的空间对称信息,对四元编号序组B1进行缩减,保存四元编号序组B1、缩减后得到的四元编号序组B2、以及四元编号序组B1与四元编号序组B2之间的映射关系数组C3。
积分模块204可以依据特定积分方法基于二元编号序组A1、三元编号序组D1以及四元编号序组B2计算对应的电子交互积分、电子动能积分、电子核吸引积分和电子互斥积分,并将计算结果分别作为电子交互积分矩阵、电子动能积分矩阵、电子核吸引积分矩阵和电子互斥积分矩阵的部分矩阵元。第一还原模块205可以基于二元编号序组A1对应的积分计算值以及映射关系数组C1还原电子交互积分矩阵和电子动能积分矩阵的全部矩阵元,并以电子交互积分矩阵的全部矩阵元为元素,以二维矩阵的形式构建电子交互积分矩阵,以电子动能积分矩阵的全部矩阵元为元素,以二维矩阵的形式构建电子动能积分矩阵。
第二还原模块206可以基于三元编号序组D1对应的积分值以及映射关系数组还原电子核吸引积分矩阵的全部矩阵元,以电子核吸引积分矩阵的全部矩阵元为元素,以二维矩阵的形式构建电子核吸引积分矩阵。
第三还原模块207可以基于四元编号序组B2对应的积分计算值以及映射关系数组C3及C2还原电子互斥积分矩阵的全部矩阵元,以电子互斥积分矩阵的全部矩阵元为元素,构造一维向量形式电子互斥积分向量。
构造模块208可以对四元编号序组B基于序组每行的第一列和第二列元素进行划分,进而生成数据结构BB,该数据结构包含两个部分:第一部分是四元编号序组的第一列及第二列元素,第二部分是包含该头两列元素的对应四元编号序组在四元编号序组B对应的位置编号。构造模块208可以根据电子互斥积分向量、四元编号序组B以及四元编号序组B对应的数据结构BB,构造二维电子排斥矩阵。构造模块208可以基于计算获得的电子动能积分矩阵和电子核吸引积分矩阵构造后续计算涉及的二维Hamilton矩阵。
第二计算模块209可以预设一个初始密度矩阵,由Hamilton矩阵及生成的二维电子排斥矩阵构造Fock矩阵。对生成的Fock矩阵进行变换及特征值求取,重新计算分子体系的密度矩阵并取代初始密度矩阵,重复这一过程直至相邻两次迭代计算获得的密度矩阵差值小于指定值为止,记录此时对应的密度矩阵。第二计算模块209可以基于最后获得的密度矩阵计算分子体系的电子性质。
本发明实施例提供的分子电子能量计算系统,其功能具体参照上述方法实施例,此处不再赘述。
本发明实施例提供的分子电子能量计算系统,通过根据分子体系的原子轨道截断半径计算全部电子轨道的二元编号序组A和四元编号序组B,按照预设算法分别对二元编号序组A和四元编号序组B进行缩减,得到缩减后的二元编号序组A1和缩减后的四元编号序组B1,根据分子体系的空间对称信息,对四元编号序组B1进行缩减,得到缩减后的四元编号序组B2,在构造二维电子排斥矩阵时利用了四元编号序组B对应的数据结构BB,该系统可以大幅度减少整个计算过程的时间开销,同时也能在相同的计算时间内完成对更大尺度分子的电子能量信息的计算评估。
可选的,在上述实施例的基础上,所述第一计算模块具体用于:
对所述分子体系中的所有原子按照原子核的X坐标、Y坐标以及Z坐标进行排序;
从所有原子中筛选出与每个第一原子对应的初选原子;其中,所述第一原子是所述分子体系中的任意一个原子,每个所述初选原子对应的X坐标、Y坐标和Z坐标与所述第一原子的X坐标、Y坐标和Z坐标之间的三个距离中,每一个距离均小于所述原子轨道截断半径;
对于每个所述第一原子,从对应的所有初选原子中筛选出终选原子;其中,每个所述终选原子与所述第一原子之间的距离均小于所述原子轨道截断半径;
根据每个所述第一原子及其对应的终选原子包含的电子轨道,得到所述第一原子对应的二元编号序组集合,对所有原子对应的二元编号序组集合取并集,得到所述全部电子轨道的二元编号序组A。
具体地,上述实施例中所述的第一计算模块可以按照如下方法生成二元编号序组A。第一计算模块可以对分子体系中的所有原子按照原子核的X坐标、Y坐标以及Z坐标进行排序,并记录对应原子序号。
第一计算模块可以将分子体系中的任意一个原子记为第一原子,计算所有原子对应的X坐标、Y坐标及Z坐标与第一原子对应的X坐标、Y坐标及Z坐标之间的三个距离,若三个距离中每一个距离均小于原子轨道截断半径,则将对应的原子筛选为第一原子的初选原子,第一计算模块可以筛选出第一原子对应的所有初选原子,记录第一原子的初选原子对应的原子编号,根据原子编号生成初选原子集合。
第一计算模块可以计算每个第一原子与每个初选原子之间的距离,将距离小于原子轨道截断半径的初选原子筛选出来作为一个终选原子。
对于第一原子及对应的所有终选原子,可以对每个原子中包含的电子轨道依次计数并标记其所属原子以及轨道类型,作为其电子轨道特征。其中,1S轨道标记为1,2S轨道标记为2,Px轨道标记为3,Py轨道标记为4,Pz轨道标记为5。根据每个原子的电子轨道特征,得到第一原子对应的二元编号序组集合。
第一计算模块可以对分子体系中的每个第一原子对应的二元编号序组集合取并集,将取并集之后得到的二元编号序组与每个原子包含的电子轨道信息相结合,得到全部电子轨道的二元编号序组A。
本发明实施例提供的分子电子能量计算系统,通过对分子体系中的所有原子按照原子核的X坐标、Y坐标以及Z坐标进行排序,从所有原子中筛选出与每个第一原子对应的初选原子,对于每个第一原子,从对应的所有初选原子中筛选出终选原子,根据每个第一原子及其对应的终选原子包含的电子轨道,得到所述第一原子对应的二元编号序组集合,对所有原子对应的二元编号序组集合取并集,得到全部电子轨道的二元编号序组A,这使得所述系统更加科学。
图3是本发明实施例提供的电子设备的结构示意图,如图3所示,所述设备包括:处理器(processor)31、存储器(memory)32和总线33,其中:
所述处理器31和所述存储器32通过所述总线33完成相互间的通信;所述处理器31用于调用所述存储器32中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:对待计算的分子体系所涉及的全部电子轨道进行编号,并根据所述分子体系的原子轨道截断半径计算所述全部电子轨道的二元编号序组A和四元编号序组B;按照预设算法分别对所述二元编号序组A和所述四元编号序组B进行缩减,得到缩减后的二元编号序组A1和缩减后的四元编号序组B1;根据所述分子体系的空间对称信息,对所述四元编号序组B1进行缩减,得到缩减后的四元编号序组B2;根据所述二元编号序组A1、三元编号序组D1和所述四元编号序组B2并行计算所述分子体系的电子交互积分、电子动能积分、电子核吸引积分和电子互斥积分,并将相应的积分计算值分别作为电子交互积分矩阵、电子动能积分矩阵、电子核吸引积分矩阵和电子互斥积分矩阵的部分矩阵元;其中,所述三元编号序组D1是根据所述二元编号序组A1计算得到的;根据所述二元编号序组A1对应的积分计算值以及所述二元编号序组A与所述二元编号序组A1之间的映射关系数组C1,还原出所述电子交互积分矩阵和所述电子动能积分矩阵的全部矩阵元,并生成所述电子交互积分矩阵和所述电子动能积分矩阵;根据所述三元编号序组D1对应的积分计算值以及对应的映射关系数组,还原出所述电子核吸引积分矩阵的全部矩阵元,并生成所述电子核吸引积分矩阵;根据所述四元编号序组B2对应的积分计算值、所述四元编号序组B与所述四元编号序组B1之间的映射关系数组C2以及所述四元编号序组B1与所述四元编号序组B2之间的映射关系数组C3,还原出所述电子互斥积分矩阵的全部矩阵元,并生成电子互斥积分向量;根据所述电子互斥积分向量、所述四元编号序组B以及所述四元编号序组B对应的数据结构BB,构造二维电子排斥矩阵;其中,所述数据结构BB包括:所述四元编号序组B的第一列元素、第二列元素,以及所述第一列元素和所述第二列元素在所述四元编号序组B中对应的位置编号;根据预设的初始密度矩阵、Hamilton矩阵以及Fock矩阵,计算所述分子体系的密度矩阵,并根据所述分子体系的密度矩阵计算所述分子体系的电子性质及其他物理量;其中,所述Hamilton矩阵是根据所述电子动能积分矩阵和所述电子核吸引积分矩阵得到的,所述Fock矩阵是根据所述Hamilton矩阵和所述二维电子排斥矩阵得到的。
本发明实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:对待计算的分子体系所涉及的全部电子轨道进行编号,并根据所述分子体系的原子轨道截断半径计算所述全部电子轨道的二元编号序组A和四元编号序组B;按照预设算法分别对所述二元编号序组A和所述四元编号序组B进行缩减,得到缩减后的二元编号序组A1和缩减后的四元编号序组B1;根据所述分子体系的空间对称信息,对所述四元编号序组B1进行缩减,得到缩减后的四元编号序组B2;根据所述二元编号序组A1、三元编号序组D1和所述四元编号序组B2并行计算所述分子体系的电子交互积分、电子动能积分、电子核吸引积分和电子互斥积分,并将相应的积分计算值分别作为电子交互积分矩阵、电子动能积分矩阵、电子核吸引积分矩阵和电子互斥积分矩阵的部分矩阵元;其中,所述三元编号序组D1是根据所述二元编号序组A1计算得到的;根据所述二元编号序组A1对应的积分计算值以及所述二元编号序组A与所述二元编号序组A1之间的映射关系数组C1,还原出所述电子交互积分矩阵和所述电子动能积分矩阵的全部矩阵元,并生成所述电子交互积分矩阵和所述电子动能积分矩阵;根据所述三元编号序组D1对应的积分计算值以及对应的映射关系数组,还原出所述电子核吸引积分矩阵的全部矩阵元,并生成所述电子核吸引积分矩阵;根据所述四元编号序组B2对应的积分计算值、所述四元编号序组B与所述四元编号序组B1之间的映射关系数组C2以及所述四元编号序组B1与所述四元编号序组B2之间的映射关系数组C3,还原出所述电子互斥积分矩阵的全部矩阵元,并生成电子互斥积分向量;根据所述电子互斥积分向量、所述四元编号序组B以及所述四元编号序组B对应的数据结构BB,构造二维电子排斥矩阵;其中,所述数据结构BB包括:所述四元编号序组B的第一列元素、第二列元素,以及所述第一列元素和所述第二列元素在所述四元编号序组B中对应的位置编号;根据预设的初始密度矩阵、Hamilton矩阵以及Fock矩阵,计算所述分子体系的密度矩阵,并根据所述分子体系的密度矩阵计算所述分子体系的电子性质及其他物理量;其中,所述Hamilton矩阵是根据所述电子动能积分矩阵和所述电子核吸引积分矩阵得到的,所述Fock矩阵是根据所述Hamilton矩阵和所述二维电子排斥矩阵得到的。
本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:对待计算的分子体系所涉及的全部电子轨道进行编号,并根据所述分子体系的原子轨道截断半径计算所述全部电子轨道的二元编号序组A和四元编号序组B;按照预设算法分别对所述二元编号序组A和所述四元编号序组B进行缩减,得到缩减后的二元编号序组A1和缩减后的四元编号序组B1;根据所述分子体系的空间对称信息,对所述四元编号序组B1进行缩减,得到缩减后的四元编号序组B2;根据所述二元编号序组A1、三元编号序组D1和所述四元编号序组B2并行计算所述分子体系的电子交互积分、电子动能积分、电子核吸引积分和电子互斥积分,并将相应的积分计算值分别作为电子交互积分矩阵、电子动能积分矩阵、电子核吸引积分矩阵和电子互斥积分矩阵的部分矩阵元;其中,所述三元编号序组D1是根据所述二元编号序组A1计算得到的;根据所述二元编号序组A1对应的积分计算值以及所述二元编号序组A与所述二元编号序组A1之间的映射关系数组C1,还原出所述电子交互积分矩阵和所述电子动能积分矩阵的全部矩阵元,并生成所述电子交互积分矩阵和所述电子动能积分矩阵;根据所述三元编号序组D1对应的积分计算值以及对应的映射关系数组,还原出所述电子核吸引积分矩阵的全部矩阵元,并生成所述电子核吸引积分矩阵;根据所述四元编号序组B2对应的积分计算值、所述四元编号序组B与所述四元编号序组B1之间的映射关系数组C2以及所述四元编号序组B1与所述四元编号序组B2之间的映射关系数组C3,还原出所述电子互斥积分矩阵的全部矩阵元,并生成电子互斥积分向量;根据所述电子互斥积分向量、所述四元编号序组B以及所述四元编号序组B对应的数据结构BB,构造二维电子排斥矩阵;其中,所述数据结构BB包括:所述四元编号序组B的第一列元素、第二列元素,以及所述第一列元素和所述第二列元素在所述四元编号序组B中对应的位置编号;根据预设的初始密度矩阵、Hamilton矩阵以及Fock矩阵,计算所述分子体系的密度矩阵,并根据所述分子体系的密度矩阵计算所述分子体系的电子性质及其他物理量;其中,所述Hamilton矩阵是根据所述电子动能积分矩阵和所述电子核吸引积分矩阵得到的,所述Fock矩阵是根据所述Hamilton矩阵和所述二维电子排斥矩阵得到的。
以上所描述的电子设备等实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
以上实施例仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。