[发明专利]基于GPU并行运算的碳纳米管分子动力学仿真方法有效
申请号: | 201310154296.8 | 申请日: | 2013-04-28 |
公开(公告)号: | CN103279645A | 公开(公告)日: | 2013-09-04 |
发明(设计)人: | 孟小华;郑冬琴;宁蓉;钟伟荣 | 申请(专利权)人: | 暨南大学 |
主分类号: | G06F19/00 | 分类号: | G06F19/00;G06T1/20 |
代理公司: | 广州市华学知识产权代理有限公司 44245 | 代理人: | 陈燕娴 |
地址: | 510632 广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 gpu 并行 运算 纳米 分子 动力学 仿真 方法 | ||
1.基于GPU并行运算的碳纳米管分子动力学仿真方法,其特征在于包括以下步骤:
1)由数据库文件构造碳纳米管系统模型,该模型由碳纳米管和设置在碳纳米管内部的C60分子组成,对模型进行初始化,读取模型中所有粒子的速度和位置坐标;
2)C60分子受到碳纳米管管壁上碳粒子产生的力,在平衡位置上来回振动,当C60分子处于平衡状态时,在碳纳米管的前、后两端同时分别设置不同温度的条件进行模拟,并设定模拟时间,使碳纳米管管壁上碳粒子和C60分子的速度和位置不断发生变化,进而使C60分子的受力、运动状态和能量不断发生变化;
3)在CUDA平台上对碳纳米管进行分割,分割成多层相互独立的计算单元,采用CPU遍历计算单元进行轮转计算得到可并行运算队列,再调度GPU的流处理单元,采用Verlet算法进行并行运算和处理;
4)重复执行步骤3),直至模拟时间结束,采用数据库文件记录相关数据,输出C60分子随着模拟时间的运行轨迹,并描绘碳纳米管内随着能量传递的温度变化曲线图,完成仿真过程。
2.根据权利要求1所述的基于GPU并行运算的碳纳米管分子动力学仿真方法,其特征在于:所述碳纳米管为层状中空结构,由多个六边形碳环结构组成;所述C60分子有一个或多个。
3.根据权利要求1或2所述的基于GPU并行运算的碳纳米管分子动力学仿真方法,其特征在于:所述步骤2)中,采用Gaussian热浴模拟法在碳纳米管的前、后两端分别设置不同温度的热浴条件,并设定热浴时间作为模拟时间。
4.根据权利要求3所述的基于GPU并行运算的碳纳米管分子动力学仿真方法,其特征在于:所述步骤3)中,采用CPU遍历计算单元进行轮转计算具体如下:
a)若所有粒子均已作为中心计算粒子,跳到步骤h);
b)按次序找到第一个非竞争粒子并没有按中心计算的粒子,加入可并行运算队列;
c)标记该粒子的所有近邻为本并行队列一度不可并行粒子,若近邻已经是二度不可并行粒子,则提升为一度不可计算;
d)标记该粒子所有次邻为本并行队列二度不可并行粒子,若次邻为一度不可并行粒子,则不修改其度数;
e)标记本粒子为已按中心计算粒子;
f)是否已遍历到粒子队尾?若是继续执行,若否跳到步骤a);
g)下一个可并行队列开始,返回步骤b);
h)结束。
5.根据权利要求4所述的基于GPU并行运算的碳纳米管分子动力学仿真方法,其特征在于:所述步骤3)中,采用Verlet算法进行并行运算和处理具体如下:
a)按碳纳米管系统模型所有粒子的位置,计算近邻粒子以及次邻粒子间的键关系和角度关系;
b)调度GPU的流处理单元,并行计算被分割在不同计算单元里的粒子,并积累计算碳纳米管管壁上内每个粒子与其近邻粒子的相互作用力;
c)根据C60分子所在区域,计算C60分子内每个粒子与其所在碳纳米管区域中的每个粒子的相互作用力;
d)根据粒子所受到的力及其速度,更新粒子位置,再执行步骤b)和c);
e)根据粒子所受到的力,计算粒子本次速度及碳纳米管前、后两端热浴的热流值;
f)若达到循环频数,则计算结束;否则,在CPU端间隔保存粒子的数据,返回步骤d)。
6.根据权利要求5所述的基于GPU并行运算的碳纳米管分子动力学仿真方法,其特征在于:所述步骤3)中,Verlet算法具体设计如下:
a)将x(t+Δt)和x(t-Δt)进行泰勒展开如下式所示:
其中,x(t+Δt)表示为前一时刻的位置,x(t-Δt)表示为后一时刻的位置;
b)将式(1)和式(2)相加,得到位置表达式如下:
在已知碳纳米管系统模型粒子当前时刻t的位置和加速度,以及前一时刻t-Δ的位置的情况下,推算出下一时刻t+Δt的位置;
c)将式(1)和式(2)相减,再两边同时除以2Δt,获得速度的表达式如下:
在已知碳纳米管系统模型粒子前一时刻t-Δt的位置和后一时刻t+Δt的位置的情况下,推算出当前时刻t的速度v(t);
d)由式(1)~(4),在已知粒子t-2Δt时刻的位置、t-Δt时刻的位置和t-Δt时刻的加速度的情况下,启动Verlet算法进行积分:根据t-2Δt时刻的位置、t-Δt时刻的位置和t-Δt时刻的加速度,将t=t-Δt代入式(3),获得当前时刻t的位置;根据当前时刻t的位置,基于一定的势函数更新当前时刻t的加速度;同时,根据当前时刻t的位置和t-2Δt时刻的位置,将t=t-Δt代入式(4),更新t-Δt时刻的速度;即得到粒子当前时刻t的位置、t-Δt时刻的速度和t时刻的加速度,重复执行该步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于暨南大学,未经暨南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310154296.8/1.html,转载请声明来源钻瓜专利网。
- 同类专利
- 专利分类
G06F 电数字数据处理
G06F19-00 专门适用于特定应用的数字计算或数据处理的设备或方法
G06F19-10 .生物信息学,即计算分子生物学中的遗传或蛋白质相关的数据处理方法或系统
G06F19-12 ..用于系统生物学的建模或仿真,例如:概率模型或动态模型,遗传基因管理网络,蛋白质交互作用网络或新陈代谢作用网络
G06F19-14 ..用于发展或进化的,例如:进化的保存区域决定或进化树结构
G06F19-16 ..用于分子结构的,例如:结构排序,结构或功能关系,蛋白质折叠,结构域拓扑,用结构数据的药靶,涉及二维或三维结构的
G06F19-18 ..用于功能性基因组学或蛋白质组学的,例如:基因型–表型关联,不均衡连接,种群遗传学,结合位置鉴定,变异发生,基因型或染色体组的注释,蛋白质相互作用或蛋白质核酸的相互作用