[发明专利]水力瞬变数值模拟方法有效
申请号: | 201810061015.7 | 申请日: | 2018-01-22 |
公开(公告)号: | CN108304633B | 公开(公告)日: | 2019-10-25 |
发明(设计)人: | 孟弯弯;程永光;吴家阳 | 申请(专利权)人: | 武汉大学 |
主分类号: | G06F17/50 | 分类号: | G06F17/50 |
代理公司: | 武汉科皓知识产权代理事务所(特殊普通合伙) 42222 | 代理人: | 俞琳娟 |
地址: | 430072 湖*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供一种水力瞬变数值模拟方法,能够有效地提高计算效率,其特征在于:主机端CPU负责逻辑运算;设备端GPU负责计算各断面的水力参数计算和更新;内核函数都以线程栅格的形式组织,组织形式为一维线性结构,每个线程对应一个计算断面,各断面的索引tx由线程所在块和块内位置唯一确定;边界函数由GPU或CPU计算;将内核函数运算结果先存储在寄存器中,循环结束后再将结果写入全局存储器中,最后复制回主机端;采用统一寻址方式,对压力和流量数组进行内存分配;当内核函数调用时,通过线程索引在数组中定位断面号,以获取相应断面压力、流量值进行计算,更新的水力参数值分别存储在已分配储存空间的另外两个数组中。 | ||
搜索关键词: | 线程 内核函数 水力 数值模拟 主机端 瞬变 索引 存储 一维线性结构 全局存储器 边界函数 储存空间 断面压力 计算效率 块内位置 逻辑运算 内存分配 水力参数 唯一确定 形式组织 寻址方式 运算结果 组织形式 寄存器 设备端 有效地 更新 数组 栅格 调用 写入 复制 分配 统一 | ||
【主权项】:
1.一种水力瞬变数值模拟方法,其特征在于,包括:(一)并行实现策略主机端CPU负责逻辑运算,准备初始压力和流量数据,进行边界处理,将初始压力和流量数据复制到显存中、调用内核函数;设备端GPU负责计算各断面的水力参数计算和更新,内核函数调用完成后将处理好的流量fq[i]和水头fh[i]数据传回到主机端内存中,作为下一时间步的输入数据;(二)GPU计算内核函数内核函数都以线程栅格的形式组织,内核函数线程结构的组织形式为一维线性结构,与管道的线形结构相匹配,计算时将管道划分为若干个计算断面,每个线程对应一个计算断面,每个线程的索引号与一个计算断面的编号相一一对应,各断面的索引tx由线程所在块和块内位置唯一确定,内核函数按照如下公式1至5编写:Cp=HA+BQA BP=B+R|QA|, (公式3)CM=HB‑BQB BM=B+R|QB|, (公式4)式中,下标P代表需要求解的计算断面的值,下标A代表断面P左边相邻计算断面的上一时刻的值,下标B代表断面P右边相邻计算断面的上一时刻的值,H、Q分别为测压管压力和流量,B为管道特性阻抗,R为管道阻抗系数,a为水锤波速,f为摩阻系数,Δx为空间分段长度,D为管道直径,A为管道面积,g为重力加速度,系数CP、BP、CM、BM为中间变量;断面A和B的压力流量为已知,断面P的压力流量值通过公式1至5求解;(三)边界函数边界函数由GPU或CPU计算:当边界由GPU计算时,将系统所有管道当作一条长管道,统一分配连续的线程索引,所有节点的计算均在GPU上进行;当边界由CPU计算时,由边界将管道系统划分成多根管段,每个管段单独设置线程索引,节点均在CPU上计算,然后再传递到GPU上;(四)程序优化策略将内核函数运算结果先存储在寄存器中,循环结束后再将结果写入全局存储器中,最后复制回主机端;(五)编程步骤采用统一寻址方式,对压力和流量数组进行内存分配;当内核函数调用时,通过线程索引在数组中定位断面号,以获取相应断面压力、流量值进行计算,更新的水力参数值分别存储在已分配储存空间的另外两个数组中,计算完成后,将计算结果复制回主机内存中,作为下一时步的输入数据。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉大学,未经武汉大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201810061015.7/,转载请声明来源钻瓜专利网。