The invention discloses an acceleration method for streamline simulation based on particle tracking algorithm, which belongs to the field of streamline numerical simulation. The method runs on a computer or server with several GPUs. The method comprises: discretizing the calculation area into several grids; initializing the basic information of the model; parameters and speed of the aquifer; The coefficient matrix in the degree vector formula divides the grid into several blocks and passes it into several GPUs on average. Several threads are opened up. Each thread calculates the next position and the upper position of the particle according to the current position using the forward and backward particle tracking algorithm. The algorithm is iterated repeatedly to get a complete streamline and transmit the data. Back to CPU, output to the result file. The invention has the advantages of small floor area, low cost, low energy consumption, remarkable acceleration effect, fast streamline generation, and meeting the requirements of real-time streamline simulation in practical application.
【技术实现步骤摘要】
基于质点追踪算法实现流线模拟的加速方法
本专利技术涉及流线数值模拟领域,特别是指一种基于质点追踪算法实现流线模拟的加速方法。
技术介绍
流线模拟已经越来越多的应用于地下水研究和油气田开发的各个领域。流线可视化为地下水研究提供形象、直观的地下水动态信息,可以方便地分析地下水的运动态。Pollock在地下水流动的研究中提出半解析的质点追踪算法因其灵活性和普适性而被广泛应用,质点追踪法也是导致流线方法应用起来的最直接的原因之一。在实际工程中,流线计算规模达上百万条,普通机器运行时间长,无法满足地下水研究对数据结果实时性的要求。传统的CPU并行加速框架受限于CPU的计算核心数,想要达到较好的加速效果,需要的CPU数很多,相应的就需要更多的服务器支持,会导致占地面积太大、维护困难,能耗高等问题。
技术实现思路
本专利技术提供一种占地面积小、造价低、耗能低并且加速明显的基于质点追踪算法实现流线模拟的加速方法。为解决上述技术问题,本专利技术提供技术方案如下:本专利技术提供一种基于质点追踪算法实现流线模拟的加速方法,所述方法运行于带有若干个GPU的计算机或服务器,所述方法包括:步骤1 ...
【技术保护点】
1.一种基于质点追踪算法实现流线模拟的加速方法,其特征在于,所述方法运行于带有若干个GPU的计算机或服务器,所述方法包括:步骤1:将区域模型离散化为若干个网格,初始化模型的基本信息、含水层重要参数和速度公式中的参数;步骤2:开启多个CPU线程,并使每个CPU线程唯一对应一个GPU,并将所有网格平均分为若干块传入若干个已开辟好空间的GPU,传输GPU计算时所需参数;步骤3:每个GPU调用多个GPU线程同时计算若干网格的物理坐标p(x,y,z),然后根据向前和向后追踪算法得到经过该点的一条完整的流线;步骤4:根据速度矢量的计算公式,计算质点的流速Vp(Vx,Vy,Vz);步骤5 ...
【技术特征摘要】
1.一种基于质点追踪算法实现流线模拟的加速方法,其特征在于,所述方法运行于带有若干个GPU的计算机或服务器,所述方法包括:步骤1:将区域模型离散化为若干个网格,初始化模型的基本信息、含水层重要参数和速度公式中的参数;步骤2:开启多个CPU线程,并使每个CPU线程唯一对应一个GPU,并将所有网格平均分为若干块传入若干个已开辟好空间的GPU,传输GPU计算时所需参数;步骤3:每个GPU调用多个GPU线程同时计算若干网格的物理坐标p(x,y,z),然后根据向前和向后追踪算法得到经过该点的一条完整的流线;步骤4:根据速度矢量的计算公式,计算质点的流速Vp(Vx,Vy,Vz);步骤5:如果遇到边界条件,则向前或向后追踪结束,且执行步骤6,否则,根据流速计算出时间,并得到质点的下一个位置,此时,完成一次向前或向后追踪,并将新的位置作为当前质点坐标,执行步骤4;步骤6:依次连接单个GPU线程计算得到的坐标点,即组成了一条完整的流线,单个GPU的所有线程计算完毕,将计算数据传输到CPU。2.根据权利要求1所述的基于质点追踪算法实现流线模拟的加速方法,其特征在于,所述步骤1,还包括给定计算区域投影到x-y平面上的长度Lx和宽度Ly,含水层重要参数εx、εy、α、β,以及计算速度矢量的公式中的系数矩阵bmn,并将区域模型离散化为网格模型。3.根据权利要求2所述的基于质点追踪算法实现流线模拟的加速方法,其特征在于,所述步骤4中,速度矢量的计算公式为:公式(1)、(2)、(3)中,εx、εy、α、β是含水层重要参数,bmn是系数矩阵,Lx、Ly是计算区域投影到x-y平面后的长度和宽度,xp、yp和zp的计算公式如下:公式(4)中,x、y、z是质点的物理...
【专利技术属性】
技术研发人员:季晓慧,罗木兰,王旭升,
申请(专利权)人:中国地质大学北京,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。