实现计算流体力学大规模实时模拟的方法_2

文档序号:9217366阅读:来源:国知局
[0033] 其中,所述约束条件可以为待求解方程不同时刻的解的差值小于预设值,或者待 求解方程的求解时间达到预设时间。
[0034] 例如,需要计算的方程组为方程组1、方程组2和方程组3对应的不同尺寸网格,则 分别在对应的尺寸网格上求解。
[0035] 本实施例通过接收模拟请求消息,根据从文件中读取模拟对象和计算方程组所需 的数据信息,包含模拟对象的网格信息、区域划分参数和时间步长信息;其中,不同计算复 杂度的方程组对应不同的网格信息和/或不同时间步长信息;根据所述区域划分参数和模 拟对象的网格信息为各进程分配计算子区域以及网格,各进程根据所述网格信息和所述时 间步长信息在对应的计算子区域上求解方程组,直到达到约束条件。本发明实施例在保证 求解时空精度的情况下根据方程组的计算复杂度为方程组使用不同的时空尺度,解决求 解复杂不同方程存在计算速度瓶颈问题,提高了方程求解速度和计算效率。
[0036] 示例性的,在上述实施例的基础上,所述网格信息包括小尺寸网格和大尺寸网格, 所述小尺寸网格为计算复杂度小于预设阈值的方程组对应的网格,所述大尺寸网格为计算 复杂度大于或等于预设阈值的方程组对应的网格;
[0037] 各进程根据所述网格信息和所述时间步长信息在对应的计算子区域上求解方程 组包括:
[0038] 各进程在小尺寸网格上计算计算复杂度小于预设阈值的方程组,在大尺寸网格上 计算计算复杂度大于或等于预设阈值的方程组。
[0039] 其中,预设阈值可以由专业人员根据统计的方程组的计算算法复杂度或者实际求 解器测试速度或时间进行自定义。
[0040] 例如,文件中包含两种网格信息,根据网格尺寸的大小,将网格尺寸较小的网格称 为小网格,同理,将网格尺寸较大的网格称为大网格,由于计算复杂度小于预设阈值的方程 组,其计算复杂度较低,相应的其计算速度相对计算复杂度大于或等于预设阈值的方程组 较快,所以,将计算复杂度较小的方程组在小网格上进行计算;反之,由于计算复杂度大于 或等于预设阈值的方程组,其计算复杂度较高,相应的其计算速度相对计算复杂度小于预 设阈值的方程组较慢,所以,将计算复杂度较大的方程组在大网格上进行计算,以提高其计 算速度。
[0041] 优选的,所述大尺寸网格的网格尺寸与所述小尺寸网格的网格尺寸之比为正整 数;
[0042] 或者,
[0043] 所述大尺寸网格的网格尺寸AX满足如下公式一:
[0044] AA^ <(Ax)W//?'
[0045] 其中,ni为该进程对应的计算复杂度小于预设阈值的方程组的空间离散精度,n2 为计算复杂度大于或等于预设阈值的方程组的空间离散精度,Ax为小尺寸网格的网格尺 寸。
[0046] 其中,空间离散精度是由专业人员根据方程组计算得出的。
[0047] 示例性的,上述方法还包括:在从小尺寸网格映射到大尺寸网格的过程中进行第 一数据交换操作。
[0048] 示例性的,所述第一数据交换操作包括:将小尺寸网格对应的计算子区域内的边 界节点对应的数据求加权平均值,将加权平均值对应写入到大尺寸网格对应的计算子区域 内的边界节点。
[0049] 示例性的,上述方法还包括:在从大尺寸网格映射到小尺寸网格的过程中进行第 二数据交换操作。
[0050] 示例性的,所述第二数据交换操作包括:
[0051] 采用插值法将该大尺寸网格对应的节点的数据插值到小尺寸网格的边界节点。
[0052] 示例性的,在上述实施例的基础上,所述时间步长信息包括小时间步长和大时间 步长,所述小时间步长为计算复杂度小于预设阈值的方程组对应的时间步长,所述大时间 步长为计算复杂度大于或等于预设阈值的方程组对应的时间步长;
[0053] 各进程根据所述网格信息和所述时间步长信息在对应的计算子区域上求解方程 组包括:
[0054] 各进程采用小时间步长在所述网格信息对应的计算子区域计算计算复杂度小于 预设阈值的方程组,采用大时间步长在所述网格信息对应的计算子区域计算计算复杂度大 于或等于预设阈值的方程组。
[0055] 例如,优选的文件中包含两种时间步长信息,根据时间步长的大小,将时间步长较 小的时间步长称为小时间步长,将时间步长较大的时间步长称为大时间步长。对于计算复 杂度较小计算速度较快的方程组,则采用小时间步长计算;对于计算复杂度较大计算速度 较慢的方程组,则采用大时间步长进行计算,以提高其计算速度。
[0056] 优选的,所述小时间步长与大时间步长之比为正整数;
[0057] 或者,
[0058] 所述大时间步长A T满足如下公式二:
[0059] Ar<(A〇,7'^;
[0060] 其中,ni为该进程对应的计算复杂度小于预设阈值的方程组的时间离散精度,n 2 为计算复杂度大于或等于预设阈值的方程组的时间离散精度,△ t为小时间步长。
[0061] 示例性的,在上述实施例的基础上,所述区域划分参数为预先设定的区域划分方 式;
[0062] 根据所述区域划分参数和模拟对象的网格信息为各进程分配计算子区域包括:
[0063] 根据预先设定的区域划分方式为各进程分配对应的计算子区域。
[0064] 例如,区域划分方式可以为一维、二维或三维;或者,规定在某个方向上划分,例 如,对于三维的模拟对象,可以预先设定分别在三个维度上进行划分。
[0065] 本实施例采用在较小的网格尺寸和/或时间步长上对计算复杂度较低的方程组 进行求解,提高时空分辨率;在较大的网格尺寸和/或时间步长求解计算复杂较高的方程 组进行求解,以降低方程组的计算量,提高计算效率,从而提高了方程组求解的整体计算效 率和速度。
[0066] 实施例二
[0067]图2是本发明实施例二提供的实现计算流体力学大规模实时模拟的方法的流程 示意图,本实施例模拟一种对雷诺平均湍流模型以及溶质输运方程与流体流动求解器在不 同时间尺度与空间尺度求解的并行算法,以CPU-GPU混合架构系统为基础,采用并行计算 系统实现模拟。其并行系统为Mole-8. 5超级计算系统,该系统由多个计算节点组成,每个 计算节点上有一个 Intel(R)Xeon E5520CPU(RAM 16G)与 4块NVIDIA TESLA C2050GPU 显 卡,节点直接通过高速网络进行连接。本实施例采用了 Mole-8. 5超级计算系统中的一个节 点,使用了 4个进程,共计使用了 4个CPU核心与4个GPU显卡。本实施例的并行系统配置 仅起到了示意作用,在其他实施例中可以采用现有的各种纯CPU架构或CPU-GPU混合架构 以及其他计算机架构的并行计算系统。
[0068] 在本实施例中涉及到多松弛时间的格子波尔兹曼方法(不限于该流体模拟方 法)、标准k-印silon湍流模型(不限于该湍流模型)以及溶质输运扩散方程。其中,多松 弛时间的格子波尔兹曼方法的表达式如下述公式三:
[0070] 上述公式三中,f为离散速度分布函数向量,ei是离散速度矢量,M是变换矩阵,S 是矩阵,m由m = Mf计算得到是速度矩向量,nf9是平衡矩,I是单位矩阵,F为矩空间中的 作用力。在计算过程中,先计算方程的右侧,这个过程仅涉及到当地计算节点的计算,然后 再对左侧的变量进行赋值,此过程涉及到数据在网格点间进行迀移。
[0071] 标准k-印silon湍流模型如下述公式四所示:
[0074] 上述公式四中,k为湍动动能,e为湍动耗散率,Ui为当地流场速度的分量,v ^为 流体的动力学粘度,
-为湍动粘度,Gk= v tS2, S =⑵士」)1/2以及
, 〇 k= 1. 0,〇 e = 1. 3, c != 1. 44, c 2=
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1