CN117195761B - 一种基于流场离散度自适应的计算加速方法 - Google Patents
一种基于流场离散度自适应的计算加速方法 Download PDFInfo
- Publication number
- CN117195761B CN117195761B CN202311030775.9A CN202311030775A CN117195761B CN 117195761 B CN117195761 B CN 117195761B CN 202311030775 A CN202311030775 A CN 202311030775A CN 117195761 B CN117195761 B CN 117195761B
- Authority
- CN
- China
- Prior art keywords
- flow field
- grid
- dispersion
- grids
- size
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 239000006185 dispersion Substances 0.000 title claims abstract description 110
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000004364 calculation method Methods 0.000 title claims abstract description 34
- 230000001133 acceleration Effects 0.000 title claims abstract description 11
- 238000012544 monitoring process Methods 0.000 claims abstract description 11
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 7
- 238000011156 evaluation Methods 0.000 claims description 37
- 239000012530 fluid Substances 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 7
- 238000003780 insertion Methods 0.000 claims description 6
- 230000037431 insertion Effects 0.000 claims description 6
- 238000005457 optimization Methods 0.000 claims description 5
- 238000004513 sizing Methods 0.000 claims description 4
- 230000006978 adaptation Effects 0.000 claims description 3
- 230000008859 change Effects 0.000 abstract description 6
- 238000004088 simulation Methods 0.000 description 9
- 238000003860 storage Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000000704 physical effect Effects 0.000 description 3
- 239000013598 vector Substances 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000000205 computational method Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于流场离散度自适应的计算加速方法,包括以下步骤:步骤s1,初始化流场空间;步骤s2,基于初始状态下的流场边界数据进行流场离散度的计算;步骤s3,基于计算的离散度使用第一网格调整策略进行网格数量和网格尺寸调整;步骤s4,基于实时监测所述流场空间的流场边界数据进行流场离散度的计算;步骤s5,基于第二网格调整策略进行网格数量和网格尺寸的调整;步骤s6,并行计算以满足流场实时计算的需求;每隔预设时间,重复上述步骤s4‑步骤s6,直到流场监测结束。本发明的方法可以自动适应流场的空间和时间变化,增强了CFD算法的适应性。
Description
技术领域
本发明属于计算机技术领域,尤其涉及一种基于流场离散度自适应的计算加速方法。
背景技术
在流体动力学、海洋学等相关领域,对流场进行模拟和计算是非常重要的。这些计算通常涉及到一系列复杂的微分方程,需要在三维空间中进行求解,这通常需要大量的计算资源和时间。
在计算流体动力学(CFD)中通常需要在流场空间上定义一个网格,然后在每个网格上进行计算。然而,在传统计算流体动力学(CFD)算法中通常使用固定的网格,无法适应流场的动态变化。例如,当流场的某个区域发生剧烈变化时,可能需要更细的网格来捕捉这些变化。而在流场的其他区域,可能并不需要如此细的网格。如果使用固定的网格,可能会导致计算资源的浪费,也可能无法准确地模拟流场的行为。
此外,随着计算机硬件的发展,诸如图形处理单元(GPU)之类的并行计算设备变得越来越普及。这些设备可以在多个处理单元上同时进行计算,从而大大提高计算的速度。然而,如何有效地利用这些设备进行流场计算,仍然是一个未解决的问题。
因此,急需一种能够自适应地调整网格,以适应流场的动态变化,并能充分利用现代并行计算设备进行高效计算的方法。
发明内容
针对上述现有技术中存在的缺陷,本发明提供一种基于流场离散度自适应的计算加速方法,包括以下步骤:
步骤s1,初始化流场空间,使用预设网格对所述流场空间进行划分;
步骤s2,基于初始状态下的流场边界数据进行流场离散度的计算;
步骤s3,基于计算的离散度使用第一网格调整策略进行网格数量和网格尺寸调整;
步骤s4,实时监测所述流场空间的流场边界数据,基于实时监测所述流场空间的流场边界数据进行流场离散度的计算;
步骤s5,基于实时监测所述流场空间的流场边界数据计算的流场离散度自动优化调整网格,包括基于第二网格调整策略进行网格数量和网格尺寸的调整;
步骤s6,并行计算以满足流场实时计算的需求,包括在GPU模块并行对多个网格内的流场进行计算;
每隔预设时间,重复上述步骤s4-步骤s6,直到流场监测结束。
其中,所述第一网格调整策略中,需要进行插值处理,所述第二网格调整策略中,不需要进行插值处理。
其中,在计算流体动力学CFD中,流场的离散度计算是通过求解控制方程在每个网格单元上完成的;
以及使用有限体积法FVM进行流场参数求解,所述流场参数包括速度、压力、温度。
其中,所述基于计算的离散度使用第一网格调整策略进行网格尺寸调整,包括:
在每个预设网格内进行插入新的点位,并获得插值点位上的离散度评估值,所述插值方法为线性插值或立方插值;
其中,插值后的点位之间的距离应当大于计算系统允许的最小网格尺寸;
对于每一个插值点位,定义一个决策变量,设其值为1或0,以表示是否在该插值点位上放置一个新的网格。
其中,设定目标函数,所述目标函数是要最小化所有新放置的网格的总数量;
为满足离散度要求,对于每个插值点位对应一个离散度评估值D,添加约束条件,所述约束条件为:
要求如果在该插值点位上放置新网格,则新网格的尺寸s_new满足s_new<=s_f,其中s_f为基于离散度评估值D调整的网格尺寸。
其中,通过混合整数规划MIP求解器求解优化问题。
其中,确定好插入点位之后,从CFD在预设网格内的对应位置的计算结果中确定插入点位的流场参数,所述流场参数包括流场速度、压力和温度;
计算每个点位上的流场参数的离散度,包括通过计算速度U,压力P,和温度T的梯度来实现;
对每个网格单元进行评估,获得离散度评估值D,其中所述离散度评估值D通过计算梯度的二范数来实现,具体如下所示的公式:
其中,如果离散度评估值D大于阈值,需要细化网格;
反之,如果离散度评估值D小于阈值,需要粗化网格。
其中,对于每个MIP算法选中的点位,找出其周围最近的其他点位;
对于每对相邻的选中的点位,计算它们之间的中点,并计算选择的点位到该中点的距离。
当使用规则形状的正立方体网格时,位于该选中点位的新网格的尺寸应该等于插值点位到其周围所有中点的最小距离。
其中,所述基于第二网格调整策略进行网格数量和网格尺寸的调整,包括:
所述第二网格调整策略,包括:
对每个网格单元进行评估,获得离散度评估值D,计算离散度评估值D的梯度所述/>为当前时刻确定的离散度评估值与上一时间步的离散度评估值之间的差值的绝对值;
设定一个的阈值/>获得每个网格单元进行评估的/>与/>的关系;
如果需要减小网格的大小;
其中,在第二网格调整策略的判断下都需要对网格进行拆分时,基于计算设备的计算能力确定拆分的网格大小和数量。
本发明通过使用基于流场离散度的自适应网格调整策略,可以更精确地捕捉到流场的变化。初始状态下的流场边界数据用于计算流场的离散度,并调整网格的数量和尺寸。然后,该方法会实时监测流场边界数据,计算流场离散度,并自动优化调整网格。这种方法可以自动适应流场的变化,无论这些变化是在大尺度上还是在小尺度上发生。此外,本发明还利用了并行计算技术,例如GPU模块,以满足实时计算的需求。这种方法可以在多个网格上并行进行流场计算,从而大大加速计算过程。
附图说明
通过参考附图阅读下文的详细描述,本公开示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施方式,并且相同或对应的标号表示相同或对应的部分,其中:
图1是示出根据本发明实施例的一种基于流场离散度自适应的计算加速方法的流程图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种。
应当理解,尽管在本发明实施例中可能采用术语第一、第二、第三等来描述……,但这些……不应限于这些术语。这些术语仅用来将……区分开。例如,在不脱离本发明实施例范围的情况下,第一……也可以被称为第二……,类似地,第二……也可以被称为第一……。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者装置中还存在另外的相同要素。
在计算流体动力学(CFD)中,流场离散度自适应的计算加速方法是一个有前景的研究领域。本发明解决的主要技术问题是如何有效地处理流场计算的复杂性和计算需求。在许多实际应用中,流场的特性和行为可能会随着时间和空间的变化而变化,因此需要一种能够自适应这些变化的计算方法。传统CFD计算中的固定网格计算方法可能无法捕捉到流场的所有重要特性,特别是当流场的变化在不同的空间和时间尺度上发生时。
如图1所示,本发明公开了一种基于流场离散度自适应的计算加速方法,包括:
步骤s1,初始化流场空间,使用预先定义的网格对所述流场空间进行划分。
步骤s2,基于初始状态下的流场边界数据进行流场离散度的计算。
步骤s3,基于计算的离散度使用第一网格调整策略进行网格数量和网格尺寸调整。
步骤s4,实时监测所述流场空间的流场边界数据,基于实时监测所述流场空间的流场边界数据进行流场离散度的计算。
步骤s5,基于实时监测所述流场空间的流场边界数据计算的流场离散度自动优化调整网格,包括基于第二网格调整策略进行网格数量和网格尺寸的调整。
步骤s6,并行计算以满足流场实时计算的需求,包括在GPU模块并行对多个网格内的流场进行计算。
每隔预设时间,重复上述步骤s4-步骤s6,直到流场监测结束。
其中,所述第一网格调整策略与第二网格调整策略不相同。
本发明通过使用基于流场离散度的自适应网格调整策略,可以更精确地捕捉到流场的变化。初始状态下的流场边界数据用于计算流场的离散度,并调整网格的数量和尺寸。然后,该方法会实时监测流场边界数据,计算流场离散度,并自动优化调整网格。这种方法可以自动适应流场的变化,无论这些变化是在大尺度上还是在小尺度上发生。此外,本发明还利用了并行计算技术,例如GPU模块,以满足实时计算的需求。这种方法可以在多个网格上并行进行流场计算,从而大大加速计算过程。
其中,在第一计算单元进行离散度的计算,在第二计算单元进行网格策略调整的计算,以及在第三计算单元并行运行计算流场的CFD算法。
其中,所述第一计算单元和第二计算单元为CPU模块,第三计算单元为多核GPU模块。
在计算流场模拟的初始化阶段,首先进行的是流场空间的初始化。流场空间是一个预设的区域,代表了流体流动的物理空间。这个空间的大小和形状取决于具体的模拟需求和流体的物理特性。
初始化流场空间后,将使用预先定义的网格对流场空间进行划分,被称作网格生成或网格剖分。网格是流场空间中的离散单元,每个网格代表流场空间中的一个小区域。在某一实施例中,预先定义的网格可能是均匀的,也可能是非均匀的,取决于模拟的需求和流场的特性。网格的大小、形状和分布将直接影响到流场模拟的精度和计算效率。
网格划分是计算流体动力学(CFD)中的关键步骤,需要考虑到流场的复杂性、流动的特性和计算资源等因素。优化的网格划分策略可以提高模拟的精度,同时降低计算资源的需求。
在步骤s2中,基于初始状态下的流场边界数据进行流场离散度的计算。流场离散度是一个向量场中向量的散度(也称为发散),它描述了流动在网格单元内的变化程度。计算流场离散度的方法通常包括求解向量场的散度运算或者使用数值方法进行近似计算。
计算出流场离散度后,会根据这个离散度使用第一网格调整策略进行网格尺寸的调整。
在某一实施例中,在计算流体动力学(CFD)中,流场的离散度计算是通过求解控制方程(如Navier-Stokes方程)在每个网格单元上完成的。
有限体积法(Finite Volume Method,FVM)是一种常用的计算流体动力学(Computational Fluid Dynamics,CFD)方法,其基于对流场的物理量(速度、压力、温度)在控制体积上的守恒定律进行求解。以下为基于有限体积法FVM进行流场参数求解的过程:
首先,需要将计算域分解为许多小的控制体积(网格单元)。在首次执行步骤s2时所述网格单元为预设的网格单元,在之后步骤s4中,所述网格为步骤s2或上一次循环的步骤s4中确定的调整的网格。
在每个网格单元上,将控制方程(如Navier-Stokes方程)离散化。在有限体积法中,通过积分控制方程来实现,即将控制方程的微分形式转化为积分形式。在有限体积法中,离散度的计算通常通过求解流出/流入该网格单元的流量总和来实现。这可以通过在该网格单元的边界上积分速度场来获得。
在每个网格单元上,求解离散化的控制方程,得到该网格单元内的流场参数,包括速度、压力、温度。
在某一实施例中,在步骤s2或步骤s4中,用有限体积法FVM基于流场边界数据进行流场离散度的计算,包括以下过程:
根据流场边界数据,建立计算模型。这将包括定义流场的物理属性(如流体的粘性、密度等),以及当前流场空间的边界条件(速度、压力、温度)。
确定网格划分,确定计算域划分的多个小的控制体积或单元即CFD的计算网格。这些单元可以是规则的(如矩形或六面体),也可以是不规则的,取决于流场的复杂性和计算需求。在首次执行步骤s2时所述网格单元为预设的网格单元,在之后重复执行的步骤s2中,所述网格为上一次循环中确定的调整的网格。
在每个控制体积上,将控制方程(如Navier-Stokes方程)离散化。在有限体积法中通过积分控制方程来实现,即将控制方程的微分形式转化为积分形式。
在每个控制体积即网格上,使用直接求解器或迭代求解器求解离散化的控制方程,得到每个网格内的流场参数(速度、压力、温度)。
使用求解得到的流场参数(速度、压力、温度),在每个控制体积上计算流场的离散度。
在某一实施例中,在计算流体动力学(CFD)中,通过网格调整改进模拟的精度和效率。对于有高度变化的流场,通过增加网格的数量或减小网格的大小来提高模拟的精度。对于相对稳定的流场,可以通过减少网格的数量或增大网格的大小来降低计算的复杂性,提高计算效率。
在某一实施例中,通过分析计算出的离散度,确定流场中的关键区域,包括找出离散度变化大的区域、流动速度变化大的区域或者物理属性(如压力、温度)变化大的区域。
根据离散度分析的结果,制定网格调整策略。对于离散度变化大或流动性质变化大的区域,需要细化网格以提高模拟的精度;而对于变化较小的区域,可以粗化网格以节省计算资源。
根据制定的策略,进行网格调整,包括增加或删除网格单元,或者改变网格单元的大小,或者重新分布网格单元。
在某一实施例中,基于计算的离散度使用第一网格调整策略进行网格尺寸调整,包括:
在每个预设网格内进行插入新的点位,并获得插值点位上的离散度评估值,插值方法包括:线性插值或立方插值。其中,插值后的点位之间的距离应当大于计算系统允许的最小网格尺寸。
对于每一个插值点位,定义一个决策变量,设其值为1或0,以表示是否在该插值点位上放置一个新的网格。
设定目标函数,所述目标函数是要最小化所有新放置的网格的总数量。
为满足离散度要求,对于每个插值点位对应一个估计好的离散度评估值D。然后,根据该值添加约束条件,要求如果在该插值点位上放置新网格,那么新网格的大小必须满足s_new<=s_f,其中s_f为基于离散度评估值D调整的网格尺寸。
求解优化问题,通过混合整数规划求解器(如Gurobi或CPLEX)求解上述问题。这些求解器提供了API,可以在Python或其他编程语言中使用。
混合整数规划(MIP)是一种操作研究和数学优化技术,它解决的问题是一些变量必须是整数的线性规划问题。MIP的目标是找到一种方法来最大化或最小化一个线性目标函数,同时满足一组线性等式或不等式约束,其中一些或所有变量被限制为整数。
在某一实施例中,确定好插入点位之后,从CFD在预设网格内的对应位置的计算结果中确定插入点位的流场参数,所述流场参数包括流场速度、压力和温度。
在某一实施例中,使用求解得到的流场参数(速度、压力、温度),在每个控制体积上计算流场的离散度,即计算每个网格单元内点位上的流场参数的离散度,包括通过计算速度(U),压力(P),和温度(T)的梯度来实现。设网格单元内的速度为U,压力为P,温度为T,其梯度分别为:
上述可以通过差分法来估计。
然后,对每个网格单元进行评估,获得离散度评估值D,其中所述离散度评估值D通过计算梯度的二范数来实现,具体如下所示的公式:
其中,离散度评估值D被看作是一个网格单元内流场变化的度量。如果离散度评估值D较大,则说明该网格单元内的流场变化较大,可能需要更细的网格来捕捉这些变化;反之,如果离散度评估值D较小,则说明该网格单元内的流场变化较小,需要使用更粗的网格。
在某一实施例中,设定两个离散度评估值的上下限阈值:一个上限D_max和一个下限D_min。然后,设置一个基准离散度D_mid,这个值通常是D_max和D_min的平均值。
然后,获得每个网格单元进行评估的离散度评估值D。根据计算得到的离散度D来计算一个调整因子f。f是我们希望将网格单元的大小调整为原来的多少倍。
如果D>D_mid,那么说明该网格单元的离散度过大,需要减小网格的大小。此时,f=D/D_mid。此时将网格的大小调整为原来的D/D_mid倍。
如果D<D_mid,那么说明该网格单元的离散度过小,需要增大网格的大小。此时,f=D_mid/D。此时将网格的大小调整为原来的D_mid/D倍。
在某一实施例中,当预设网格尺寸大小相同时,可以知晓,对于每一个网格,在确定调整因子f后,s_f=f*s,其中s_f为基于离散度评估值D调整的网格尺寸,s为预设网格的尺寸。该s_f也可以理解为满足离散度要求的最大网格尺寸。在优化过程中,需要保证对应点位的网格尺寸s_new的大小为小于满足离散度要求的最大网格尺寸s_f。
在某一实施例中,对于每个MIP算法选中的点位,找出其周围最近的其他点位。这些点位可以是在同一预设网格内的其他选中的点位,也可以是在相邻预设网格内的选中的点位。所述点位可以为预设网格本身的点位,也可以是插值点位。
对于每对相邻的选中的点位,计算它们之间的中点,并计算选择的点位到该中点的距离。
重新确定新网格尺寸。当使用规则形状的网格(如正立方体)时,位于该选中点位的新网格的尺寸应该等于插值点位到其周围所有中点的最小距离。
在某一实施例中,从流场空间的边缘处开始进行新网格尺寸的确定,将确定的新网格的边界从下一个网格确定网格尺寸的空间中去除。以保证网格可以覆盖所有的流场空间。此外,需要新网格的尺寸仍然满足s_new<=s_f。该过程可以对MIP算法生成的结果进行二次检验,避免出现在使用规则网格时生成异形网格的问题。
在某一实施例中,对于步骤s5中基于实时监测所述流场空间的流场边界数据计算的流场离散度自动优化调整网格,包括基于第二网格调整策略进行网格数量和网格尺寸的调整。所述第二网格调整策略中,不需要进行插值处理。
所述第二网格调整策略,包括:
对每个网格单元进行评估,获得离散度评估值D,其中所述离散度评估值D通过计算梯度的二范数来实现,具体如下所示的公式:
计算离散度评估值D的梯度所述/>为当前时刻确定的离散度评估值与上一时间步(对应当前未调整的网格确定时基于的流场所在的时间步)的离散度评估值之间的差值的绝对值。
设定一个的阈值/>然后,获得每个网格单元进行评估的/>与的关系。
如果那么说明该网格单元的离散度变化非常大,需要减小网格的大小加强该区域的监测精度。
可选地,如果网格为规则网格且为正立方体的网格,将该网格均匀拆分为四个网格。
可选地,如果多个网格在第二网格调整策略的判断下都需要减小网格的大小,且多个网格在空间上连续,可以在整体空间内进行网格数量的减小。如将四个连续空间的正立方体网格(大的正立方体空间)拆分成九个正立方体的网格,每个网格是原网格大小的2/3。
在某一实施例中,在第二网格调整策略的判断下都需要对网格进行拆分时,需要基于计算设备的计算能力确定拆分方案,包括拆分的网格数量和拆分的网格大小。拆分的网格大小需大于最小网格尺寸。由于是实时监测数据,因此当时,出现了离散度的异常,需要在该区域内增加网格同时缩小网格尺寸,以增加该区域流场监测的准确性。
本发明通过使用基于流场离散度的自适应网格调整策略,可以更精确地捕捉到流场的变化。初始状态下的流场边界数据用于计算流场的离散度,并调整网格的数量和尺寸。然后,该方法会实时监测流场边界数据,计算流场离散度,并自动优化调整网格。这种方法可以自动适应流场的变化,无论这些变化是在大尺度上还是在小尺度上发生。此外,本发明还利用了并行计算技术,例如GPU模块,以满足实时计算的需求。这种方法可以在多个网格上并行进行流场计算,从而大大加速计算过程。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。
以上介绍了本发明的较佳实施方式,旨在使得本发明的精神更加清楚和便于理解,并不是为了限制本发明,凡在本发明的精神和原则之内,所做的修改、替换、改进,均应包含在本发明所附的权利要求概括的保护范围之内。
Claims (3)
1.一种基于流场离散度自适应的计算加速方法,包括以下步骤:
步骤s1,初始化流场空间,使用预设网格对所述流场空间进行划分;
步骤s2,基于初始状态下的流场边界数据进行流场离散度的计算;
步骤s3,基于计算的离散度使用第一网格调整策略进行网格数量和网格尺寸调整;
步骤s4,实时监测所述流场空间的流场边界数据,基于实时监测所述流场空间的流场边界数据进行流场离散度的计算;
步骤s5,基于实时监测所述流场空间的流场边界数据计算的流场离散度自动优化调整网格,包括基于第二网格调整策略进行网格数量和网格尺寸的调整;
步骤s6,并行计算以满足流场实时计算的需求,包括在GPU模块并行对多个网格内的流场进行计算;
每隔预设时间,重复上述步骤s4-步骤s6,直到流场监测结束;
所述基于计算的离散度使用第一网格调整策略进行网格尺寸调整,包括:
在每个预设网格内进行插入新的点位,并获得插值点位上的离散度评估值,所述插值方法为线性插值或立方插值;
其中,插值后的点位之间的距离应当大于计算系统允许的最小网格尺寸;
对于每一个插值点位,定义一个决策变量,设其值为1或0,以表示是否在该插值点位上放置一个新的网格;
设定目标函数,所述目标函数是要最小化所有新放置的网格的总数量;
为满足离散度要求,对于每个插值点位对应一个离散度评估值 D,添加约束条件,所述约束条件为:
要求如果在该插值点位上放置新网格,则新网格的尺寸s_new满足 s_new <= s_f,其中s_f为基于离散度评估值 D调整的网格尺寸;
通过混合整数规划MIP求解器求解优化问题;
确定好插入点位之后,从CFD在预设网格内的对应位置的计算结果中确定插入点位的流场参数,所述流场参数包括流场速度、压力和温度;
计算每个点位上的流场参数的离散度,包括通过计算速度U, 压力P, 和温度T的梯度来实现;
对每个网格单元进行评估,获得离散度评估值 D,其中所述离散度评估值 D通过计算梯度的二范数来实现,具体如下所示的公式:
D = sqrt((∇U)² + (∇P)² + (∇T)²);
如果离散度评估值D大于阈值,需要细化网格;
反之,如果离散度评估值 D小于阈值,需要粗化网格;
对于每个MIP算法选中的点位,找出其周围最近的其他点位;
对于每对相邻的选中的点位,计算它们之间的中点,并计算选择的点位到该中点的距离;
当使用规则形状的正立方体网格时,位于该选中点位的新网格的尺寸等于插值点位到其周围所有中点的最小距离;
所述基于第二网格调整策略进行网格数量和网格尺寸的调整,包括:
所述第二网格调整策略,包括:
对每个网格单元进行评估,获得离散度评估值 D, 计算离散度评估值 D的梯度∇D,所述∇D为当前时刻确定的离散度评估值与上一时间步的离散度评估值之间的差值的绝对值;
设定一个∇D的阈值∇D_max,获得每个网格单元进行评估的∇D与∇D _max的关系;
如果 ∇D >∇D _max,需要减小网格的大小;
其中,在第二网格调整策略的判断下都需要对网格进行拆分时,基于计算设备的计算能力确定拆分的网格大小和数量。
2.如权利要求1所述的一种基于流场离散度自适应的计算加速方法,其特征在于,
所述第一网格调整策略中,需要进行插值处理,所述第二网格调整策略中,不需要进行插值处理。
3.如权利要求1所述的一种基于流场离散度自适应的计算加速方法,其特征在于,
在计算流体动力学CFD中,流场的离散度计算是通过求解控制方程在每个网格单元上完成的;
以及使用有限体积法FVM进行流场参数求解,所述流场参数包括速度、压力、温度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311030775.9A CN117195761B (zh) | 2023-08-15 | 2023-08-15 | 一种基于流场离散度自适应的计算加速方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311030775.9A CN117195761B (zh) | 2023-08-15 | 2023-08-15 | 一种基于流场离散度自适应的计算加速方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117195761A CN117195761A (zh) | 2023-12-08 |
CN117195761B true CN117195761B (zh) | 2024-02-13 |
Family
ID=89002573
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311030775.9A Active CN117195761B (zh) | 2023-08-15 | 2023-08-15 | 一种基于流场离散度自适应的计算加速方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117195761B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015110599A1 (en) * | 2014-01-24 | 2015-07-30 | Ledaflow Technologies Da | Method for transient quasi three-dimensional simulation of multiphase fluid flow in pipelines |
KR20190113597A (ko) * | 2018-03-27 | 2019-10-08 | 주식회사 엘쏠텍 | 오픈소스 코드를 이용한 통합 전산유체역학 환경 구축 장치 및 그 방법 |
CN112287580A (zh) * | 2020-10-27 | 2021-01-29 | 中国船舶重工集团公司第七0三研究所 | 一种基于全三维数值模拟的轴流压气机喘振边界计算方法 |
CN115796083A (zh) * | 2023-02-17 | 2023-03-14 | 中国空气动力研究与发展中心计算空气动力研究所 | 一种直升机流场仿真方法、装置、设备及可读存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10083259B2 (en) * | 2015-05-28 | 2018-09-25 | International Business Machines Corporation | Bounded domain modeling with specified boundary conditions and mass balancing |
US20220035975A1 (en) * | 2020-08-03 | 2022-02-03 | The Boeing Company | Methods and apparatus to improve fluid flow simulations |
-
2023
- 2023-08-15 CN CN202311030775.9A patent/CN117195761B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015110599A1 (en) * | 2014-01-24 | 2015-07-30 | Ledaflow Technologies Da | Method for transient quasi three-dimensional simulation of multiphase fluid flow in pipelines |
KR20190113597A (ko) * | 2018-03-27 | 2019-10-08 | 주식회사 엘쏠텍 | 오픈소스 코드를 이용한 통합 전산유체역학 환경 구축 장치 및 그 방법 |
CN112287580A (zh) * | 2020-10-27 | 2021-01-29 | 中国船舶重工集团公司第七0三研究所 | 一种基于全三维数值模拟的轴流压气机喘振边界计算方法 |
CN115796083A (zh) * | 2023-02-17 | 2023-03-14 | 中国空气动力研究与发展中心计算空气动力研究所 | 一种直升机流场仿真方法、装置、设备及可读存储介质 |
Non-Patent Citations (4)
Title |
---|
Unstructured Grid Adaptation and Solver Technology for Turbulent Flows;Michael A. Park 等;《AIAA 2018-1103 Session: Special Session: RANS Solutions for Benchmark Configurations I》;1-27 * |
一种基于预估-修正策略的非定常流网格自适应加密/稀疏方法;周春华;《计算物理》;第30卷(第5期);633-641 * |
旋翼非定常流场的黏性涡数值模拟方法及其混合方法的研究;魏鹏;《中国博士学位论文全文数据库工程科技Ⅱ辑》(第7期);C031-4 * |
非结构网格上p型多重网格法流场数值模拟;郝海兵 等;《计算力学学报》;20110615;第28卷(第3期);360-365 * |
Also Published As
Publication number | Publication date |
---|---|
CN117195761A (zh) | 2023-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102170105B1 (ko) | 신경 네트워크 구조의 생성 방법 및 장치, 전자 기기, 저장 매체 | |
Ahmad | A comparative analysis of local meshless formulation for multi-asset option models | |
CN109086291B (zh) | 一种基于MapReduce的并行异常检测方法及系统 | |
Noventa et al. | Robustness and efficiency of an implicit time-adaptive discontinuous Galerkin solver for unsteady flows | |
CN112365044A (zh) | 一种基于k近邻算法和支持向量机的隧道掌子面失效概率预测方法 | |
CN117195761B (zh) | 一种基于流场离散度自适应的计算加速方法 | |
CN116484744B (zh) | 物体仿真方法、模型训练方法、装置、设备及存储介质 | |
CN111159956B (zh) | 一种基于特征的流场间断捕捉方法 | |
CN114492251B (zh) | 超算环境的低速流场发散处理方法、装置、设备及介质 | |
CN111258222A (zh) | 自回归滑动平均系统自适应状态估计方法及闭环控制系统 | |
CN114049162B (zh) | 模型训练方法、需求量预测方法、装置、设备和存储介质 | |
NO20210770A1 (en) | Reservoir Simulation Systems And Methods To Dynamically Improve Performance Of Reservoir Simulations | |
CN115859728A (zh) | 基于耦合畸变相似的锥柱组合壳体动态特性预测方法及系统 | |
CN115392441A (zh) | 量化神经网络模型的片内适配方法、装置、设备及介质 | |
Hay et al. | Computation of free‐surface flows with local mesh adaptation | |
Rendall et al. | Multi-dimensional aircraft surface pressure interpolation using radial basis functions | |
Rauh et al. | Quantification of Time-Domain Truncation Errors for the Reinitialization of Fractional Integrators | |
CN115495854B (zh) | 计算机辅助工程模型的参数标定方法、装置、设备及介质 | |
Singh et al. | An application of NGBM for forecasting indian electricity power generation | |
US20230142773A1 (en) | Method and system for real-time simulations using convergence stopping criterion | |
CN115270361B (zh) | 高效求解约束问题的离心压气机叶轮优化设计方法及装置 | |
CN116306380A (zh) | 一种基于流体力学网格处理方法、装置、设备及介质 | |
CN117593486B (zh) | 一种基于空间粒子的网格重构方法和装置 | |
CN116702571B (zh) | 基于多重光滑度量因子的数值模拟方法及装置 | |
CN115438601A (zh) | 基于les自适应网格滤波尺度的混合rans-les方法和相关设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |