用于计算原子迁移的方法、装置、终端、存储介质及产品与流程
- 国知局
- 2024-11-21 11:59:27
本发明属于分子动力学模拟,尤其是涉及一种用于计算原子迁移的方法、装置、终端、存储介质及产品。
背景技术:
1、分子动力学仿真(molecular dynamics simulation,简称md)是一种利用计算机模拟分子体系在一定条件下的运动和演化的方法。分子动力学仿真可以用来研究分子的结构、性质、相变、反应、输运等现象,从而揭示物质的微观机理和宏观规律,分子动力学仿真是分子模拟的一种重要方法,也是计算物理、计算化学、计算生物、计算材料等领域的基本工具。分子动力学的原理物理上看非常简单:“牛顿运动定律”。一般来讲,基本的分子动力学仿真计算不涉及量子力学原理,尽管涉及的体系是微观体系,但采用经典方式近似和计算。
2、现有常用分子动力学计算往往在一个立方体盒子中进行模拟。为了并行高效的处理任务,立方体被划分为若干个小立方体,分别被分配给不同的计算模块。每个计算模块中存储了一定数量的原子信息。当原子发生运动时,需要将原子信息传输至其它计算模块中。但在该过程中,需要计算大量原子的迁移方向,并进行大量复杂的传输任务。分子动力学模拟体系往往达到万级、百万级,计算量便十分庞大。如何能够高效的计算原子迁移,是分子动力学模拟中的重要问题。
技术实现思路
1、有鉴于此,本发明旨在提出一种用于计算原子迁移的方法、装置、终端、存储介质及产品,以解决现有分子动力学计算方法计算效率不佳的问题。
2、为达到上述目的,本发明的技术方案是这样实现的:
3、第一方面,本发明实施例提供了一种用于计算原子迁移的方法,包括:
4、建立分子立方体模型,将所述分子立方体模型划分为若干子立方体单元,并为每一子立方体单元分配一个计算模块;其中,所述计算模块用于计算、以及存储原子信息;
5、获取各所述子立方体单元中原子的类型信息,并根据所述类型信息将类型相同的原子组成一个原子团;
6、利用各所述计算模块计算其对应子立方体单元中每种类型原子团的质心,得到各所述子立方体单元中每种类型原子团质心的位置信息;
7、利用各所述计算模块计算其对应子立方体单元中每种类型原子团质心与子立方体单元中心的距离,得到各所述子立方体单元中每种类型原子团的迁移方向信息;
8、利用每一所述子立方体单元对应的计算模块,按照预设遍历顺序计算迁移至当前子立方体单元的原子个数,得到每一所述子立方体单元的原子迁入量信息,并根据所述子立方体单元的原子迁入量信息为该子立方体单元设定预留存储空间;
9、基于各所述子立方体单元中每种类型原子团的迁移方向信息、以及所述原子迁入量信息进行原子的迁移。
10、进一步的,所述建立分子立方体模型,将所述分子立方体模型划分为若干子立方体单元,并为每一子立方体单元分配一个计算模块;其中,所述计算模块用于计算、以及存储原子信息,包括:
11、建立分子立方体模型,并沿xyz三个方向将所述分子立方体模型划分为若干子立方体单元;其中,每一子立方体单元中均包含有一定数量的原子;
12、为每一所述子立方体单元分配一个计算模块,各计算模块之间相互并行计算;其中,所述计算模块用于计算、以及存储原子信息。
13、进一步的,所述获取各所述子立方体单元中原子的类型信息,并根据所述类型信息将类型相同的原子组成一个原子团,包括:
14、获取各所述子立方体单元中原子的类型信息;其中,所述原子的类型信息分为五类,包括两个原子间成键构成的一阶原子团、三个原子间成两个键构成的二阶原子团、四个原子间成三个键构成的三阶原子团、三个原子间两两成键构成的特殊水原子团、以及某个原子不与任何原子成键构成的自由原子;
15、根据所述类型信息将类型相同的原子组成一个原子团。
16、进一步的,所述利用各所述计算模块计算其对应子立方体单元中每种类型原子团质心与子立方体单元中心的距离,得到各所述子立方体单元中每种类型原子团的迁移方向信息,包括:
17、利用各所述计算模块计算其对应子立方体单元中每种类型原子团质心与子立方体单元中心的距离,得到距离差值向量;
18、根据所述子立方体单元中每种类型原子团的距离差值向量,判断每一类型原子团是否迁移至其距离差值向量对应方向相邻的子立方体单元,并根据判断结果得到各所述子立方体单元中每种类型原子团的迁移方向信息;其中,当原子团对应距离差值向量中的距离差值大于其对应子立方体单元边长的二分之一时,则判断结果为该原子团沿该距离差值向量的方向进行迁移,否则不迁移。
19、进一步的,所述利用每一所述子立方体单元对应的计算模块,按照预设遍历顺序计算迁移至当前子立方体单元的原子个数,得到每一所述子立方体单元的原子迁入量信息,并根据所述子立方体单元的原子迁入量信息为该子立方体单元设定预留存储空间,包括:
20、根据各所述子立方体单元中每种类型原子团的迁移方向信息,获取每一所述子立方体单元及其周围子立方体单元中进行迁移的原子团类型、以及对应类型原子团的迁移方向信息;
21、根据每一所述子立方体单元及其周围子立方体单元中进行迁移的原子团类型、以及对应类型原子团的迁移方向信息,利用每一所述子立方体单元对应的计算模块,按照预设原子团类型遍历顺序、以及预设子立方体单元偏移遍历顺序依次计算每种类型原子团迁移至当前子立方体单元的原子个数,得到每一所述子立方体单元的原子迁入量信息;
22、根据所述子立方体单元的原子迁入量信息为该子立方体单元设定预留存储空间。
23、进一步的,所述根据每一所述子立方体单元及其周围子立方体单元中进行迁移的原子团类型、以及对应类型原子团的迁移方向信息,利用每一所述子立方体单元对应的计算模块,按照预设原子团类型遍历顺序、以及预设子立方体单元偏移遍历顺序依次计算每种类型原子团迁移至当前子立方体单元的原子个数,得到每一所述子立方体单元的原子迁入量信息,包括:
24、在每一中心子立方体单元、及其周围子立方体单元中,利用该中心子立方体单元对应的计算模块遍历与该中心子立方体单元在xyz三个方向上相邻的6个周围子立方体单元,并根据所述6个周围子立方体单元中每种类型原子团的迁移方向信息,将所述6个周围子立方体单元中每种类型原子团按照预设原子团类型遍历顺序迁入所述中心子立方体单元;
25、利用所述6个周围子立方体单元对应的计算模块,遍历与所述6个周围子立方体单元相邻的12个相邻子立方体单元,并将所述12个相邻子立方体单元中每种类型原子团按照预设原子团类型遍历顺序迁入所述6个周围子立方体单元、以及所述中心子立方体单元;
26、利用所述12个相邻子立方体单元对应的计算模块,遍历与所述12个相邻子立方体单元相邻的8个临近子立方体单元,并将所述8个临近子立方体单元中每种类型原子团按照预设原子团类型遍历顺序迁入所述12个相邻子立方体单元、所述6个周围子立方体单元、以及所述中心子立方体单元;
27、利用每一子立方体单元对应的计算模块,计算迁入每一子立方体单元中的原子个数,得到每一所述子立方体单元的原子迁入量信息。
28、第二方面,本发明实施例还提供了一种用于计算原子迁移的装置,包括:
29、建立模块,用于建立分子立方体模型,将所述分子立方体模型划分为若干子立方体单元,并为每一子立方体单元分配一个计算模块;其中,所述计算模块用于计算、以及存储原子信息;
30、获取模块,用于获取各所述子立方体单元中原子的类型信息,并根据所述类型信息将类型相同的原子组成一个原子团;
31、位置计算模块,用于利用各所述计算模块计算其对应子立方体单元中每种类型原子团的质心,得到各所述子立方体单元中每种类型原子团质心的位置信息;
32、方向计算模块,用于利用各所述计算模块计算其对应子立方体单元中每种类型原子团质心与子立方体单元中心的距离,得到各所述子立方体单元中每种类型原子团的迁移方向信息;
33、数量计算模块,用于利用每一所述子立方体单元对应的计算模块,按照预设遍历顺序计算迁移至当前子立方体单元的原子个数,得到每一所述子立方体单元的原子迁入量信息,并根据所述子立方体单元的原子迁入量信息为该子立方体单元设定预留存储空间;
34、迁移模块,用于基于各所述子立方体单元中每种类型原子团的迁移方向信息、以及所述原子迁入量信息进行原子的迁移。
35、第三方面,本发明实施例还提供了一种计算终端,包括:
36、一个或多个处理器;
37、存储装置,用于存储一个或多个程序;
38、当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述用于计算原子迁移的方法。
39、第四方面,本发明实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如上述用于计算原子迁移的方法。
40、第五方面,本发明实施例还提供了一种计算机产品,包括计算机程序,该计算机程序被处理器执行时实现如上述用于计算原子迁移的方法。
41、相对于现有技术,本发明所述的用于计算原子迁移的方法、装置、终端、存储介质及产品具有以下优势:
42、本发明所述的用于计算原子迁移的方法、装置、终端、存储介质及产品,通过将分子立方体模型划分为若干子立方体单元,并为每一子立方体单元分配一个计算模块,利用不同计算模块间能够进行并行计算的优点,能够高效实现大规模原子迁移计算,提高了原子迁移的计算效率。
本文地址:https://www.jishuxx.com/zhuanli/20241120/333735.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表