本发明实施例涉及流体力学计算领域,具体涉及一种多相流碰撞液滴对的搜索方法及装置。
背景技术:
计算流体力学自20世纪50年代发明以来,随着计算机的发展逐渐形成了一个介于力学和计算机之间的交叉学科,主要研究内容是通过计算机和数值方法来求解流体力学的控制方程,特别是对含液滴或颗粒的离散相问题进行模拟和分析。
计算流体力学在离散相模拟的应用十分广泛,特别常见于工业设备的结构或流程的设计和优化。在石油、化工、热能、核能和环境等领域,离散相流体的模拟问题十分重要,而受限于离散相碰撞搜索算法的低效,特别是液滴或颗粒离散相,目前的碰撞搜索算法难以真正对多工况的工业设备进行全尺度的数值模拟和结构优化。
技术实现要素:
本发明实施例的目的在于提供一种多相流碰撞液滴对的搜索方法及装置,用以解决现有技术中液滴或颗粒的搜索算法低下的问题。
为实现上述目的,本发明实施例主要提供如下技术方案:
第一方面,本发明实施例提供了一种多相流碰撞液滴对的搜索方法,
所述方法包括:构建计算网格;统计同一个计算网格内的液滴i在单位时间里与液滴j的碰撞次数;计算每个网格单位时间内所有液滴发生碰撞的总次数;计算单个液滴发生相邻两次碰撞的时间间隔;获取液滴运动状态时间更新间隔;根据液滴运动状态时间更新间隔,选取碰撞液滴对。
进一步地,所述统计同一个计算网格内的液滴i在单位时间里与液滴j的碰撞次数,具体计算公式为:
其中,βi,j是液滴i和液滴j之间的碰撞核函数。
进一步地,所述计算每个网格单位时间内所有液滴发生碰撞的总次数,具体包括:根据液滴i在单位时间里与液滴j的碰撞次数计算液滴i与其所在网格内所有液滴的碰撞频率;根据液滴i与其所在网格内所有液滴的碰撞频率计算单位时间内所有液滴发生碰撞的总次数。
进一步地,所述计算单个液滴发生相邻两次碰撞的时间间隔,具体包括:根据单位时间内每个网格内液滴碰撞总次数,得到单个液滴在单位时间内平均经历的碰撞次数,再计算单个液滴在单位时间内平均经历的碰撞次数的倒数,得到单个液滴发生相邻两次碰撞的时间间隔。
进一步地,所述获取液滴运动状态时间更新间隔,具体包括:获取液滴的平均自由程剩余时间,根据所述平均自由程剩余时间获取液滴运动状态时间更新间隔。
进一步地,所述根据液滴运动状态时间更新间隔,选取碰撞液滴,具体包括:统计任一网格内恰好发生碰撞的液滴个数ncoll,将具有最大碰撞次数的一对液滴作为第一碰撞对,再用同样方法在剩下的ncoll-2个液滴中选出具有最大碰撞次数的液滴对,依次类推,选出该网格内的所有碰撞液滴对。
第二方面,本发明实施例还提供一种多相流碰撞液滴对的搜索装置,
所述装置包括:重构单元,用于构建计算网格;碰撞液滴对搜索单元,用于统计同一个计算网格内的液滴i在单位时间里与液滴j的碰撞次数,计算出液滴运动状态时间更新间隔,再根据液滴运动状态时间更新间隔选取碰撞液滴对。
进一步地,所述碰撞液滴对搜索单元还用于计算每个网格单位时间内所有液滴发生碰撞的总次数、单个液滴发生相邻两次碰撞的时间间隔和液滴运动状态更新间隔。
本发明实施例提供的技术方案至少具有如下优点:
本发明实施例提供的多相流碰撞液滴对的搜索方法及装置能够提高多相流计算流体力学插值问题的计算速度,增强搜索近邻计算网格能力,提高插值精度;能够快速搜索碰撞液滴,进行碰撞液滴对的匹配。
附图说明
图1为本发明实施例提供的一种多相流碰撞液滴对的搜索方法里流程图。
图2为本发明实施例提供的一种多相流碰撞液滴对的搜索结果曲线图。
图3为本发明实施例提供的一种多相流碰撞液滴对的搜索装置的结构示意图。
图4为本发明实施例提供的液滴碰撞机制图。
图5给出了利用本发明方法计算旋风式分离器的分离效率对比图。
具体实施方式
以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效。
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本发明。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
本发明实施例提供一种多相流碰撞液滴对的搜索方法,参考图1,该方法包括:
步骤s1:构建计算网格;
具体地,基于k-d树型数据结构,将多相计算流体力学生成的目标设备的原始计算网格的坐标信息重新构造并储存,获得重构后的计算网格。
根据目标设备的原始计算网格的k维属性设置k个键值,对第0个键值的目标设备的原始计算网格的坐标进行升序排列,以中位数为父节点放入k-d树型数据结构;对子节点的第1个键值的目标设备的原始计算网格的坐标按升序排列,以中位数为父节点放入k-d树型数据结构;以此类推,最终将目标设备的原始计算网格重新存储为k-d树型数据结构,得到重构后的计算网格。
然后对重构后的计算网格,进行拟插值点的搜索定位,获得m个邻近计算网格点,其中m为正整数;基于获得的m个邻近计算网格点,根据距离平方反比插值法,获得拟插值点的多相流场信息,以便于对液滴进行计算。
一方面加快了多相流计算流体力学插值问题的计算速度,另一方面,随着搜索近邻计算网格能力的增强,插值精度也得到了提高。
步骤s2:统计同一个计算网格内的液滴i在单位时间里与液滴j的碰撞次数;
具体的碰撞次数
其中,βi,j是液滴i和液滴j之间的碰撞核函数。
步骤s3:计算每个网格单位时间内所有液滴发生碰撞的总次数;
由同一个计算网格内的液滴i在单位时间里与液滴j的碰撞次数可以得到液滴i与该网格内所有液滴的碰撞频率
其中,ns表示该网格内的所有液滴。
由此可以推出在该网格里,单位时间内所有液滴发生碰撞的总次数ncoll为:
步骤s4:计算单个液滴发生相邻两次碰撞的时间间隔;
知道单位时间内所有液滴发生碰撞的总次数ncoll,那么单个液滴在单位时间内平均经历的碰撞次数ncoll为:
那么,液滴经过相邻两次碰撞的时间tλ就是ncoll的倒数,即:
在tλ时间内,液滴不发生碰撞,此时更新液滴的运动状态。
步骤s5:获取液滴运动状态时间更新间隔;
定义单个液滴在前一次发生碰撞后至下一次碰撞之前所经历的时间为tλ,则平均自由程剩余时间τλ:
τλ=tλ-tλ
τλ表示液滴还有多久就能走完平均自由程,为避免液滴运动时间步长δt超过τλ,则δt的取值如下:
δt=min(τλ)
需要说明的是,δt是对所有液滴的τλ取最小值。得到液滴在相邻两次碰撞间的时间间隔,根据该时间间隔即可搜索到相邻的2个液滴,及其运动状态,再进行碰撞液滴的匹配。
步骤s6:根据液滴运动状态时间更新间隔,选取碰撞液滴对。
在实际操作中,可以解释为:设在t时刻,某些液滴正处于运动之中,而某些液滴恰好发生碰撞。假设此时某一网格内恰好发生碰撞的液滴个数为ncoll,根据步骤s2选出具有最大碰撞次数的一对液滴作为碰撞对,再用同样方法在剩下的ncoll-2个液滴中选出具有最大碰撞次数的液滴对,依次类推,选出该网格内的所有碰撞液滴对。这种方法可保证恰好发生碰撞的液滴一定能够组成碰撞对。例如,如果网格内有10个要发生碰撞的液滴,按上述方法,可选出5组碰撞液滴对。
参考图4,通过上述方式选出的碰撞液滴对,发生碰撞的机制包括低速聚合(i)、反弹(ii)、中速聚合(iii)、反溅分离(iv)和拉伸分离(v)5个阶段。
参考图2,图中曲线所示为标准测试结果曲线,黑色方块点代表采用本实施例方法得到的结果,结果显示通过本发明计算得到的颗粒总数目变化随无量纲时间的关系与标准测试计算结果吻合,说明了本方法的合理性,且本实施例提供的方法通过重构计算网格,能够提高多相流计算流体力学插值问题的计算速度,增强搜索近邻计算网格能力,提高插值精度;能够快速搜索碰撞液滴,进行碰撞液滴对的匹配。
与上述实施例对应的,本发明实施例还提供一种多相流碰撞液滴对的搜索装置,参考图3,该装置包括重构单元01和碰撞液滴对搜索单元02。
重构单元01,用于基于k-d树型数据结构,将多相计算流体力学生成的目标设备的原始计算网格的坐标信息重新构造并储存,获得重构后的计算网格;根据目标设备的原始计算网格的k维属性设置k个键值,对第0个键值的目标设备的原始计算网格的坐标进行升序排列,以中位数为父节点放入k-d树型数据结构;对子节点的第1个键值的目标设备的原始计算网格的坐标按升序排列,以中位数为父节点放入k-d树型数据结构;以此类推,最终将目标设备的原始计算网格重新存储为k-d树型数据结构,得到重构后的计算网格。然后对重构后的计算网格,进行拟插值点的搜索定位,获得m个邻近计算网格点,其中m为正整数;基于获得的m个邻近计算网格点,根据距离平方反比插值法,获得拟插值点的多相流场信息,以便于对液滴进行计算。
碰撞液滴对搜索单元02,用于统计同一个计算网格内的液滴i在单位时间里与液滴j的碰撞次数,并计算每个网格单位时间内所有液滴发生碰撞的总次数、单个液滴发生相邻两次碰撞的时间间隔、液滴运动状态时间更新间隔和液滴运动状态时间更新间隔,再根据液滴运动状态时间更新间隔选取碰撞液滴对。具体的在上文实施例中均有描述,在此不做过多赘述。
参考图5,图5中分别给出了利用标准计算方法、非本发明方法和本发明方法得到的计算结果,结果显示本发明的计算结果与标准测试结果吻合,且大幅度由于非改进方法的计算结果,进一步验证了本方法的优越性。
本实施例通过重构计算网格,能够提高多相流计算流体力学插值问题的计算速度,增强搜索近邻计算网格能力,提高插值精度;能够快速搜索碰撞液滴,进行碰撞液滴对的匹配。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件与软件组合来实现。当应用软件时,可以将相应功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
1.一种多相流碰撞液滴对的搜索方法,其特征在于,所述方法包括:
构建计算网格;
统计同一个计算网格内的液滴i在单位时间里与液滴j的碰撞次数;
计算每个网格单位时间内所有液滴发生碰撞的总次数;
计算单个液滴发生相邻两次碰撞的时间间隔;
获取液滴运动状态时间更新间隔;
根据液滴运动状态时间更新间隔,选取碰撞液滴对。
2.如权利要求1所述的一种多相流碰撞液滴对的搜索方法,其特征在于,所述统计同一个计算网格内的液滴i在单位时间里与液滴j的碰撞次数,具体计算公式为:
其中,βi,j是液滴i和液滴j之间的碰撞核函数。
3.如权利要求1所述的一种多相流碰撞液滴对的搜索方法,其特征在于,所述计算每个网格单位时间内所有液滴发生碰撞的总次数,具体包括:
根据液滴i在单位时间里与液滴j的碰撞次数计算液滴i与其所在网格内所有液滴的碰撞频率;
根据液滴i与其所在网格内所有液滴的碰撞频率计算单位时间内所有液滴发生碰撞的总次数。
4.如权利要求1所述的一种多相流碰撞液滴对的搜索方法,其特征在于,所述计算单个液滴发生相邻两次碰撞的时间间隔,具体包括:
根据单位时间内每个网格内液滴碰撞总次数,得到单个液滴在单位时间内平均经历的碰撞次数,再计算单个液滴在单位时间内平均经历的碰撞次数的倒数,得到单个液滴发生相邻两次碰撞的时间间隔。
5.如权利要求1所述的一种多相流碰撞液滴对的搜索方法,其特征在于,所述获取液滴运动状态时间更新间隔,具体包括:
获取液滴的平均自由程剩余时间,根据所述平均自由程剩余时间获取液滴运动状态时间更新间隔。
6.如权利要求1所述的一种多相流碰撞液滴对的搜索方法,其特征在于,所述根据液滴运动状态时间更新间隔,选取碰撞液滴,具体包括:
统计任一网格内恰好发生碰撞的液滴个数ncoll,将具有最大碰撞次数的一对液滴作为第一碰撞对,再用同样方法在剩下的ncoll-2个液滴中选出具有最大碰撞次数的液滴对,依次类推,选出该网格内的所有碰撞液滴对。
7.一种多相流碰撞液滴对的搜索装置,其特征在于,所述装置包括:
重构单元,用于构建计算网格;
碰撞液滴对搜索单元,用于统计同一个计算网格内的液滴i在单位时间里与液滴j的碰撞次数,计算出液滴运动状态时间更新间隔,再根据液滴运动状态时间更新间隔选取碰撞液滴对。
8.如权利要求7所述的一种多相流碰撞液滴对的搜索装置,其特征在于,所述碰撞液滴对搜索单元还用于计算每个网格单位时间内所有液滴发生碰撞的总次数、单个液滴发生相邻两次碰撞的时间间隔和液滴运动状态更新间隔。
技术总结