[发明专利]基于GPU并行加速的无网格伽辽金法结构拓扑优化方法有效
申请号: | 201410221811.4 | 申请日: | 2014-05-23 |
公开(公告)号: | CN103970960B | 公开(公告)日: | 2016-11-23 |
发明(设计)人: | 龚曙光;刘奇良;卢海山;唐芳;王恒宇;王龙 | 申请(专利权)人: | 湘潭大学 |
主分类号: | G06F17/50 | 分类号: | G06F17/50 |
代理公司: | 湘潭市汇智专利事务所(普通合伙) 43108 | 代理人: | 宋向红 |
地址: | 411105*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于GPU并行加速的无网格伽辽金法结构拓扑优化方法。本发明主要步骤如下:(1)将数据读入主机内存,通过CPU布置积分点,建立节点、积分点与局部搜索小格子的关系,计算节点影响域半径和积分点定义域半径,确立节点和积分点关系,然后将数据复制到GPU全局存储器中;(2)根据不同的计算数据设定不同的GPU线程块与线程数量;(3)通过CPU和GPU异步组装和求解无网格伽辽金法总体离散系统方程,得到位移近似解;(4)在GPU中进行结构拓扑优化计算,通过设计变量的残差来判断迭代是否结束及结果是否输出。本发明硬件成本低,通用性强,在满足工程精度要求的前提下可降低大量时间消耗。 | ||
搜索关键词: | 基于 gpu 并行 加速 网格 伽辽金法 结构 拓扑 优化 方法 | ||
【主权项】:
一种基于GPU并行加速的无网格伽辽金法结构拓扑优化方法,其特征在于包括如下顺序的步骤:(1)将无网格计算模型的节点坐标、有限元背景积分网格数据、局部搜索格子数据、本质边界数据、惩罚系数、节点影响域系数、材料物理参数、结构拓扑优化参数导入主机内存中;(2)在CPU中根据主机内存中存储的模型有限元背景积分网格数据、本质边界数据,分别为模型内部、力边界和位移边界布置积分点,当为二维几何模型问题时,利用程序自带的Hammer和Gauss数值积分信息,在模型的有限元三角形背景积分网格和线边界上布置积分点,当为三维几何模型问题时,利用程序自带的Hammer数值积分信息,在模型的有限元四面体背景积分网格和本质边界上的有限元三角形背景积分网格中布置积分点,求得到积分点的坐标、权系数和雅可比系数;(3)根据局部搜索格子数据划分出每个局部搜索小格子的区域,然后分别求得模型节点、积分点和局部搜索小格子的关系数据;(4)采用局部搜索法计算每个节点的影响域半径和每个积分点的定义域半径,然后计算每个节点影响域内的积分点数据,以及每个积分点定义域内的节点数据;(5)将模型节点坐标、模型内部和位移边界上的积分点数据、惩罚系数、材料物理参数、节点与局部搜索小格子的关系数据、积分点与局部搜索小格子的关系数据、结构拓扑优化参数、节点影响域内的积分点数据、积分点定义域内的节点数据复制到GPU全局存储器中;(6)通过GPU读取GPU全局存储器中存储的模型节点坐标、积分点数据、积分点与局部搜索小格子的关系数据、积分点定义域内的节点数据,然后设置GPU中的线程块的数量和每一个线程块所包含的线程数量,并行加速计算每个积分点定义域内各个节点相应的形函数值及形函数导数值;(7)根据GPU全局存储器中存储的积分点数据、积分点定义域内的节点数据、节点影响域内的积分点数据、结构拓扑优化参数、节点形函数值,首先定义模型节点的初始相对密度参数,然后计算结构总体积的初始值及灵敏度;(8)在GPU执行步骤(6)~(7)时,根据主机内存中存储的模型节点坐标、节点影响域半径、节点与局部搜索小格子的关系数据、局部搜索格子数据,在CPU中确定影响域有重合区域的两两节点,组成交叉节点对,并将交叉节点对信息存储于数组中;(9)在CPU中读取主机内存中存储的模型节点坐标、本质边界上的积分点数据、本质边界数据、惩罚系数,利用罚函数法施加本质边界条件,在CPU中求得总体外力向量和总体惩罚力向量,然后将交叉节点对数据、总体外力向量、总体惩罚力向量复制到GPU全局存储器中;(10)通过GPU进行无网格伽辽金法结构拓扑优化的迭代计算;(11)判断是否需要输出无网格伽辽金法结构拓扑优化的计算结果,如果需要则将GPU全局存储器中存储的结构拓扑优化的计算结果复制到主机内存中,再写入输出文件;所述步骤(10)包括如下步骤:(a)通过GPU读取GPU全局存储器中存储的节点形函数值、模型内部积分点数据、积分点定义域内的节点关系数据、模型内部积分点处的初始相对密度参数,然后建立线程与积分点一一映射模式,并行加速计算模型内部积分点处的相对密度值;(b)通过GPU读取GPU全局存储器中存储的模型节点坐标、节点的影响域半径、材料物理参数、积分点数据、节点形函数值及形函数导数值、节点与局部搜索小格子的关系数据、积分点与局部搜索小格子的关系数据、本质边界数据、惩罚系数,然后建立GPU线程块与交叉节点对一一映射模式,GPU线程和组成交叉节点对的两个节点公共影响域内的积分点一一映射模式,并行加速组装总体刚度矩阵和总体惩罚刚度矩阵,并以按行压缩存储CSR格式存储于GPU全局存储器中;(c)通过GPU读取GPU全局存储器中存储的总体刚度矩阵、总体惩罚刚度矩阵、总体外力向量和总体惩罚力向量,调用CUDA架构平台提供的免费函数库CUBLAS,采用共轭梯度法求解总体离散系统方程,求得无网格伽辽金法的位移近似解;(d)通过GPU读取GPU全局存储器中存储的积分点数据、节点影响域内的积分点数据、积分点定义域内的节点数据、节点形函数值及形函数导数值、节点无网格伽辽金法位移近似解、材料物理参数以及结构拓扑优化参数,建立线程块与节点一一映射模式,线程与节点影响域内的积分点一一映射模式,并行计算目标函数的灵敏度;(e)利用OC准则,通过GPU读取GPU全局存储器中的模型内部积分点处的相对密度值、结构总体积的初始值和灵敏度、目标函数的灵敏度、节点形函数值、积分点数据、积分点定义域内的节点数据,求得相对密度参数和体积比;(f)计算设计变量前后两次迭代的残差,并判断残差是否满足初始残差限制,如果满足则迭代结束,如果不满足,则重新开始步骤(a);所述步骤(3)包括如下步骤:(a)根据局部搜索格子数据,划分局部搜索总格子,得到每个局部搜索小格子的范围,并以数据形式为每个小格子编号;(b)根据模型节点编号从小到大顺序逐个读取主机内存中存储的模型节点坐标;(c)根据模型节点的坐标和局部搜索小格子的范围,确定该节点所在小格子的编号;(d)为cellnumnod数组中与该小格子的编号相对应处的元素值加1;(e)判断模型节点是否遍历,如果不是则跳到步骤(b)继续提取,如果是则继续下一步计算;(f)根据局部搜索小格子的编号和cellnumnod数组中的元素值,计算每个局部搜索小格子内的第一个节点在cellnode数组中的下标值并存储于cellnode_idx数组中;(g)判断是否遍历局部搜索小格子,如果没有则跳至步骤(f)继续执行,如果已经遍历,则执行下一步;(h)根据模型节点编号从小到大顺序依次提取节点的坐标和局部搜索小格子的范围数据,确定该节点所在小格子的编号,并将该节点编号存储于数据cellnode中的相应位置;(i)判断是否遍历模型节点,如果没有则继续执行步骤(h),如果遍历则继续下一步。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于湘潭大学,未经湘潭大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201410221811.4/,转载请声明来源钻瓜专利网。