用于并行数值仿真区域分解的快速切割面搜索方法技术

技术编号:19778750 阅读:34 留言:0更新日期:2018-12-15 11:28
本发明专利技术涉及一种用于并行数值仿真区域分解的快速切割面搜索方法,包括:根据仿真区域内粒子或网格的分布特点,构建关于切割面的单调减函数,使切割面处于正确位置时,单调减函数值为0;再构建基准函数,以衡量切割面的相对误差;利用单调减函数和基准函数采用迭代法求解获得预期切割面。本发明专利技术通过迭代算法不断缩小切割面的搜索范围,能迅速收敛到切割面。

【技术实现步骤摘要】
用于并行数值仿真区域分解的快速切割面搜索方法
本专利技术涉及并行数值仿真中的区域划分
,尤其涉及一种用于并行数值仿真区域分解的快速切割面搜索方法。
技术介绍
在并行数值仿真时,通常需要进行区域划分,即需要将待仿真的空间区域划分成若干块。对每一个划分后的特定区域采用一个计算进程负责计算,以确保每一个特定区域包含的粒子数(粒子仿真方法)或网格数(有限元仿真方法)基本一致。对待仿真的空间区域沿坐标轴方向平均划分是一种最常用的划分方法,即依次沿X轴、Y轴、Z轴建立切割面,完成区域划分。所述切割面一般通过搜索方法确定。传统的切割面搜索方法采用二分法,这种方法是一种蛮力算法,它未利用仿真区域内粒子或网格的分布特点,效率难以提高。因此,针对以上不足,需要找到一种能有效利用仿真区域内粒子或网格的分布特点获得切割面的新方法,以提高搜索效率。
技术实现思路
本专利技术要解决的技术问题在于,针对现有技术中对切割面的搜索没有结合仿真区域内粒子或网格的分布特点进行,效率低的缺陷,提供一种用于并行数值仿真区域分解的快速切割面搜索方法。为了解决上述技术问题,本专利技术提供了一种用于并行数值仿真区域分解的快速切割面搜索方法,该方法包括:根据仿真区域内粒子或网格的分布特点,构建关于切割面的单调减函数,使切割面处于正确位置时,单调减函数值为0;再构建基准函数,以衡量切割面的相对误差;利用单调减函数和基准函数采用迭代法求解获得预期切割面。在根据本专利技术所述的用于并行数值仿真区域分解的快速切割面搜索方法中,对于仿真区域的每一个维度,以X轴为例,所述单调减函数为:f(x)=nxl·np-nx·npl(x),式中x表示切割面坐标值,nx表示沿X轴方向的切割面分区总数目,np表示仿真区域内总粒子数或总网格数;nxl表示当前切割面左侧需分区数目,npl表示当前切割面左侧总粒子数或总网格数。在根据本专利技术所述的用于并行数值仿真区域分解的快速切割面搜索方法中,所述基准函数为:在根据本专利技术所述的用于并行数值仿真区域分解的快速切割面搜索方法中,所述采用迭代法求解获得预期切割面的方法包括:确定仿真区域内待分解搜索区间X轴方向的最小值和最大值,假定单调减函数f(x)在所述最小值和最大值形成的封闭区间内为线性函数,根据线性函数的特点,求解线性函数等于0时对应的当前切割面坐标值;再基于所述当切割面坐标值计算单调减函数f(x)是否小于0,若是,则将当前切割面坐标值作为待分解搜索区间X轴方向的最大值;否则,将当前切割面坐标值作为待分解搜索区间X轴方向的最小值;然后计算与当前切割面坐标值对应的单调减函数值与基准函数值,判断单调减函数值与基准函数值比值的绝对值是否小于预设误差阈值,若是,则将当前切割面作为预期切割面,继续进行下一个预期切割面的迭代求解,直到结束;否则,根据重新赋值后的待分解搜索区间,继续当前切割面的迭代计算。在根据本专利技术所述的用于并行数值仿真区域分解的快速切割面搜索方法中,设定X轴方向的所述最小值为xmin,最大值为xmax,使:假定单调减函数f(x)在[a,b]区间内为线性函数,计算当前切割面坐标值x:并使fx=f(x);当fx<0,使当fx≥0,使然后计算与当前切割面坐标值对应的单调减函数值与基准函数值的比值,若则将当前切割面作为预期切割面,进行下一个预期切割面的迭代求解;否则,根据重新赋值后的待分解搜索区间,重复以上计算过程,继续当前切割面的迭代计算;式中ε为预设误差阈值。实施本专利技术的用于并行数值仿真区域分解的快速切割面搜索方法,具有以下有益效果:本专利技术方法结合仿真区域内粒子或网格的分布特点,设计了求解切割面的单调函数及衡量误差的基准函数,通过迭代算法不断缩小切割面的搜索范围,能迅速收敛到切割面。本专利技术方法能够实现快速切割面搜索,提高搜索效率,适用于一维、二级及三维区域的划分。附图说明图1是根据本专利技术的用于并行数值仿真区域分解的快速切割面搜索方法的二维粒子X轴方向区域划分示例性示意图;图中A表示X轴切割面,B表示区域边界,C表示粒子;图2是在图1的基础上,继续二维粒子Y轴方向区域划分结果的示例性示意图;图中D表示Y轴切割面;图3是采用本专利技术方法计算获得的当前切割面处于切割正确位置时单调减函数的示意图;图4是采用本专利技术方法计算的[a,b]区间内当前切割面坐标值小于正确位置时单调减函数的示意图;图5是在图4的基础上,缩小待分解搜索区间的示意图;图6是根据本专利技术的用于并行数值仿真区域分解的快速切割面搜索方法的示例性流程图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术的一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术提供了一种用于并行数值仿真区域分解的快速切割面搜索方法,该方法包括:根据仿真区域内粒子或网格的分布特点,构建关于切割面的单调减函数,使切割面处于正确位置时,单调减函数值为0;所构建的单调减函数具有如下本质特征:在切割面处于大于正确位置时,值小于0;切割面处于小于正确位置时,值大于0;再构建基准函数,以衡量切割面的相对误差;利用单调减函数和基准函数采用迭代法求解获得预期切割面。本专利技术方法用来获取并行数值仿真区域的切割面,结合了仿真区域内粒子或网格的分布特点,即整体服从均匀分布或局部服从均匀分布。其中对于粒子仿真方法,需要结合仿真区域的粒子数;对于有限元仿真方法,需要结合仿真区域的网格数。对于仿真区域来说,其可能在整体上服从均匀分布,即便整体上不服从均匀分布,通常情况下,局部区域也服从均匀分布。据此特点,设计适当的单调减函数,能够通过迭代不断缩小仿真区域内待分解搜索区间,随着搜索区间的缩小,单调减函数可以近似为线性函数。本专利技术方法能够迅速收敛到切割面,实现快速切割面搜索。本专利技术所述的快速切割面搜索方法适用于一维、二维和三维区域的划分,对于多维度的待分解搜索区间,可以依次按不同坐标轴方向分别进行区域划分,因此本专利技术方法具有通用性。结合图1所示,作为示例,对于仿真区域的每一个维度,以X轴为例,所述单调减函数为:f(x)=nxl·np-nx·npl(x),式中x表示切割面坐标值,nx表示沿X轴方向的切割面分区总数目,np表示仿真区域内总粒子数或总网格数;nxl表示当前切割面左侧需分区数目,例如在搜索仿真区域内的第一个切割面时,nxl=1,搜索第五个切割面时,nxl=5;npl表示当前切割面左侧总粒子数或总网格数。在单调减函数f(x)中,nx、np、nxl为常数,只有当前切割面左侧总粒子数或总网格数npl的值与当前切割面坐标值x相关。图1中,将仿真区域沿X轴方向分区总数目为6,切割面x对应的当前切割面左侧分区数目为3。同样,再结合图2所示,与上述过程相类似,可以实现Y轴方向切割面的搜索。图2中将沿X轴方向的每个分区又沿Y轴方向分为三个小分区。图1和图2是针对仿真区域为二维粒子区域的分解,若为一维粒子区域,只完成一个坐标轴方向的分解即可;若为三维粒子区域,可依次沿X轴、Y轴和Z轴方向分别分解。对于有限元网格的划分,将上述方法中的粒子本文档来自技高网...

【技术保护点】
1.一种用于并行数值仿真区域分解的快速切割面搜索方法,其特征在于:该方法包括:根据仿真区域内粒子或网格的分布特点,构建关于切割面的单调减函数,使切割面处于正确位置时,单调减函数值为0;再构建基准函数,以衡量切割面的相对误差;利用单调减函数和基准函数采用迭代法求解获得预期切割面。

【技术特征摘要】
1.一种用于并行数值仿真区域分解的快速切割面搜索方法,其特征在于:该方法包括:根据仿真区域内粒子或网格的分布特点,构建关于切割面的单调减函数,使切割面处于正确位置时,单调减函数值为0;再构建基准函数,以衡量切割面的相对误差;利用单调减函数和基准函数采用迭代法求解获得预期切割面。2.根据权利要求1所述的用于并行数值仿真区域分解的快速切割面搜索方法,其特征在于:对于仿真区域的每一个维度,以X轴为例,所述单调减函数为:f(x)=nxl·np-nx·npl(x),式中x表示切割面坐标值,nx表示沿X轴方向的切割面分区总数目,np表示仿真区域内总粒子数或总网格数;nxl表示当前切割面左侧需分区数目,npl表示当前切割面左侧总粒子数或总网格数。3.根据权利要求1或2所述的用于并行数值仿真区域分解的快速切割面搜索方法,其特征在于:所述基准函数为:4.根据权利要求1至3中任一项所述的用于并行数值仿真区域分解的快速切割面搜索方法,其特征在于:所述采用迭代法求解获得预期切割面的方法包括:确定仿真区域内待分解搜索区间X轴方向的最小值和最大值,假定单调减函数f(x)在所述最小值和最大值形成的封闭区间内为线性函数,根据...

【专利技术属性】
技术研发人员:陈鸿李毅柳森任磊生周浩兰胜威王马法
申请(专利权)人:中国空气动力研究与发展中心超高速空气动力研究所
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1