[发明专利]一种分子动力学模拟中邻接表快速建立方法和系统有效
申请号: | 201810770153.2 | 申请日: | 2018-07-13 |
公开(公告)号: | CN109032667B | 公开(公告)日: | 2020-09-15 |
发明(设计)人: | 李士刚;李琨;陈一峯;张云泉 | 申请(专利权)人: | 中国科学院计算技术研究所 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F16/22 |
代理公司: | 北京律诚同业知识产权代理有限公司 11006 | 代理人: | 祁建国;梁挥 |
地址: | 100080 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分子 动力学 模拟 邻接 快速 建立 方法 系统 | ||
1.一种分子动力学模拟中邻接表快速建立方法,其特征在于,包括:
步骤1、获取包含多个粒子的三维模拟区域,并通过二进制数表示每一个粒子的三维坐标,作为每一个粒子的整数坐标,从多个粒子中选择待比较的粒子对,并将该粒子对中粒子分别命名为第一粒子与第二粒子;
步骤2、将该第一粒子的整数坐标与第一掩码进行按位或运算,得到第三运算值,将该第三运算值中保留位置1后减去该第二粒子的整数坐标,得到第一差值,将该第二粒子的整数坐标与第一掩码进行按位或运算,得到第四运算值,将该第四运算值中保留位置1后减去该第一粒子的整数坐标,得到第二差值;
步骤3、该第一差值和该第二差值分别与第二掩码进行按位与运算,得到第一运算值和第二运算值,若该第一运算值与该第二运算值按位与等于0,并且该第一运算值左移1位后与该第二运算值按位与等于0,并且该第一运算值右移1位后与该第二运算值按位与等于0,则将第一粒子存储到第二粒子的邻接表中,并将第二粒子存储到第一粒子的邻接表中;
其中,该步骤1包括:根据粒子间具有最小距离限制,为该三维模拟区域划分晶格,每个晶格内最多存在一个粒子,根据粒子所处晶格的位置,确定每个粒子的三维坐标,确定该三维坐标的每一维坐标值的二进制数,通过在各维坐标的二进制数最高位之前补零作为保留位,得到该整数坐标;
该步骤3还包括:设截断半径N,则令通过该第一差值和该第二差值分别与该第二掩码进行按位与运算,将保留位以及各维度对应的二进制的低M位置0;
该第一掩码对应的3个保留位为1,其余均为0;
该第二掩码中3个保留位及各维度坐标的低M位为0,其余位均为1。
2.一种分子动力学模拟中邻接表快速建立系统,其特征在于,包括:
粒子对选择模块,用于获取包含多个粒子的三维模拟区域,并通过二进制数表示每一个粒子的三维坐标,作为每一个粒子的整数坐标,从多个粒子中选择待比较的粒子对,并将该粒子对中粒子分别命名为第一粒子与第二粒子;
或运算模块,用于将该第一粒子的整数坐标与第一掩码进行按位或运算后减去该第二粒子的整数坐标,得到第一差值,将该第二粒子的整数坐标与第一掩码进行按位或运算后减去该第一粒子的整数坐标,得到第二差值;
与运算模块,用于将该第一差值和该第二差值分别与第二掩码进行按位与运算,得到第一运算值和第二运算值,若该第一运算值与该第二运算值按位与等于0,并且该第一运算值左移1位后与该第二运算值按位与也等于0,并且该第一运算值右移1位后与该第二运算值按位与也等于0,则将第一粒子存储到第二粒子的邻接表中,并将第二粒子存储到第一粒子的邻接表中;
其中,该粒子对选择模块包括:根据粒子间具有最小距离限制,为该三维模拟区域划分晶格,每个晶格内最多存在一个粒子,根据粒子所处晶格的位置,确定每个粒子的三维坐标,确定该三维坐标的每一维坐标值的二进制数,通过在各维坐标的二进制数最高位之前补零作为保留位,得到该整数坐标;
该与运算模块还包括:设截断半径N,则令通过该第一差值和该第二差值分别与该第二掩码进行按位与运算,将保留位以及各维度对应的二进制的低M位置0;
该第一掩码对应的3个保留位为1,其余均为0;
该第二掩码中3个保留位及各维度坐标的低M位为0,其余位均为1。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院计算技术研究所,未经中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810770153.2/1.html,转载请声明来源钻瓜专利网。