本发明涉及计算流体力学研究领域,特别涉及流动数值模拟方法、装置、设备及介质。
背景技术:
1、显式格式和隐式格式是计算流体力学迭代类方法中两种常用的时间格式。显式格式采用时间向前差分离散,在进行迭代推进时,所用到的变量均为当前时间步的值,因此可以直接进行更新,得到下一个时间步的变量值,但是其推进时间步通常较小,在求解定常流动问题时,通常需要非常多的迭代步才能得到收敛解,因而计算效率很低;隐式格式采用时间向后差分,在进行迭代推进时,所用到的变量为待求量,具有无条件稳定的特性,能够以较大的时间步进行时间推进,由于涉及复杂的矩阵运算,故求解难度较高,通常采用迭代的方式求解。
2、综上可见,如何实现复杂度低且效率高的流动数值模拟是本领域有待解决的问题。
技术实现思路
1、本发明的目的在于提供一种流动数值模拟方法、装置、设备及介质,实现复杂度低且效率高的流动数值模拟。其具体方案如下:
2、第一方面,本申请公开了一种流动数值模拟方法,包括:
3、确定当前流场中各个计算单元的当前流场值;
4、利用所述当前流场中各个所述计算单元的当前流场值进行本轮的正向扫描更新,得到各个所述计算单元的临时流场值,然后利用各个所述计算单元的临时流场值进行本轮的反向扫描更新,得到本轮更新后的各个所述计算单元的当前流场值以及更新后的所述当前流场;
5、判断当前是否满足预设迭代停止条件,若不满足,则启动下一轮迭代,以重新跳转至所述利用所述当前流场中各个所述计算单元的当前流场值进行本轮的正向扫描更新的步骤,直至当前满足所述预设迭代停止条件,并将当前输出的所述当前流场确定为目标流场,以得到相应的流场模拟结果。
6、可选的,所述利用所述当前流场中各个所述计算单元的当前流场值进行本轮的正向扫描更新,得到各个所述计算单元的临时流场值,包括:
7、利用显式时间格式和所述当前流场中各个所述计算单元的当前流场值进行本轮的正向扫描更新,得到各个所述计算单元的临时流场值。
8、可选的,所述利用显式时间格式和所述当前流场中各个所述计算单元的当前流场值进行本轮的正向扫描更新,得到各个所述计算单元的临时流场值,包括:
9、基于预设正向扫描顺序编号确定当前正向计算单元,并利用所述当前正向计算单元的当前流场值确定当前正向计算单元的左通量和当前正向计算单元的右通量;
10、计算所述当前正向计算单元的左通量与所述当前正向计算单元的右通量之间的所述当前正向计算单元的通量差值,并利用所述当前正向计算单元的通量差值得到所述当前正向计算单元的临时流场值。
11、可选的,所述利用各个所述计算单元的临时流场值进行本轮的反向扫描更新,得到本轮更新后的各个所述计算单元的当前流场值以及更新后的所述当前流场,包括:
12、若存在本轮更新后的所述计算单元的当前流场值,则基于预设反向扫描顺序编号确定当前反向计算单元的目标编号,并将编号小于所述目标编号的计算单元确定为第一计算单元;
13、利用所述当前反向计算单元的当前流场值、所述第一计算单元的临时流场值以及本轮更新后的所述计算单元的当前流场值得到所述当前反向计算单元的左通量以及所述当前反向计算单元的右通量;
14、获取所述当前反向计算单元的左通量与所述当前反向计算单元的右通量的所述当前反向计算单元的通量差值,并利用所述当前反向计算单元的通量差值和所述当前反向计算单元的当前流场值获取本轮更新后的所述当前反向计算单元的流场值,以便得到本轮更新后的各个所述计算单元的当前流场值以及更新后的所述当前流场。
15、可选的,所述利用各个所述计算单元的临时流场值进行本轮的反向扫描更新,得到本轮更新后的各个所述计算单元的当前流场值以及更新后的所述当前流场,包括:
16、若存在本轮更新后的所述计算单元的当前流场值,则基于预设反向扫描顺序编号确定当前反向计算单元的目标编号,并将编号不小于所述目标编号的计算单元确定为第二计算单元;
17、利用所述第二计算单元的临时流场值以及本轮更新后的所述计算单元的当前流场值得到所述当前反向计算单元的左通量以及所述当前反向计算单元的右通量;
18、获取所述当前反向计算单元的左通量与所述当前反向计算单元的右通量的所述当前反向计算单元的通量差值,并利用所述当前反向计算单元的通量差值和所述当前反向计算单元的临时流场值获取本轮更新后的所述当前反向计算单元的当前流场值,以便得到本轮更新后的各个所述计算单元的当前流场值以及更新后的所述当前流场。
19、第二方面,本申请公开了一种流动数值模拟装置,包括:
20、流场确定模块,用于确定当前流场中各个计算单元的当前流场值;
21、流场迭代模块,用于利用所述当前流场中各个所述计算单元的当前流场值进行本轮的正向扫描更新,得到各个所述计算单元的临时流场值,然后利用各个所述计算单元的临时流场值进行本轮的反向扫描更新,得到本轮更新后的各个所述计算单元的当前流场值以及更新后的所述当前流场;
22、模拟结果获取模块,用于判断当前是否满足预设迭代停止条件,若不满足,则启动下一轮迭代,以重新跳转至所述利用所述当前流场中各个所述计算单元的当前流场值进行本轮的正向扫描更新的步骤,直至当前满足所述预设迭代停止条件,并将当前输出的所述当前流场确定为目标流场,以得到相应的流场模拟结果。
23、第三方面,本申请公开了一种电子设备,包括:
24、存储器,用于保存计算机程序;
25、处理器,用于执行所述计算机程序,以实现前述公开的流动数值模拟方法的步骤。
26、第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的流动数值模拟方法的步骤。
27、可见,本申请确定当前流场中各个计算单元的当前流场值;利用所述当前流场中各个所述计算单元的当前流场值进行本轮的正向扫描更新,得到各个所述计算单元的临时流场值,然后利用各个所述计算单元的临时流场值进行本轮的反向扫描更新,得到本轮更新后的各个所述计算单元的当前流场值以及更新后的所述当前流场;判断当前是否满足预设迭代停止条件,若不满足,则启动下一轮迭代,以重新跳转至所述利用所述当前流场中各个所述计算单元的当前流场值进行本轮的正向扫描更新的步骤,直至当前满足所述预设迭代停止条件,并将当前输出的所述当前流场确定为目标流场,以得到相应的流场模拟结果。由此可见,本申请经过本轮的正向扫描更新后会得到各个计算单元的临时流场值,因此就可以根据已知的计算单元的临时流场值直接进行本轮的反向扫描更新,使得流场更新难度降低,也即降低了流动数值模拟的复杂度,提高计算效率。
1.一种流动数值模拟方法,其特征在于,包括:
2.根据权利要求1所述的流动数值模拟方法,其特征在于,所述利用所述当前流场中各个所述计算单元的当前流场值进行本轮的正向扫描更新,得到各个所述计算单元的临时流场值,包括:
3.根据权利要求2所述的流动数值模拟方法,其特征在于,所述利用显式时间格式和所述当前流场中各个所述计算单元的当前流场值进行本轮的正向扫描更新,得到各个所述计算单元的临时流场值,包括:
4.根据权利要求3所述的流动数值模拟方法,其特征在于,所述利用各个所述计算单元的临时流场值进行本轮的反向扫描更新,得到本轮更新后的各个所述计算单元的当前流场值以及更新后的所述当前流场,包括:
5.根据权利要求3所述的流动数值模拟方法,其特征在于,所述利用各个所述计算单元的临时流场值进行本轮的反向扫描更新,得到本轮更新后的各个所述计算单元的当前流场值以及更新后的所述当前流场,包括:
6.一种流动数值模拟装置,其特征在于,包括:
7.一种电子设备,其特征在于,包括:
8.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的流动数值模拟方法的步骤。