首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

用于高速流的基于格点玻尔兹曼的求解器 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:达索系统美国公司

摘要:描述了用于在计算机上模拟流体流的技术,其涉及稳定的熵求解器。所述技术包括:跨网格模拟流体的活动,流体的活动被模拟以跨网格对粒子的移动进行建模;在计算机能够访问的存储器中存储网格中每个网格位置的状态矢量的集合,状态矢量中的每一个状态矢量包括多个条目,该多个条目与对应网格位置处的可能的动量状态中的特定动量状态对应;通过以下操作来模拟流的熵的时间演变:针对碰撞操作,从相邻的网格位置收集传入的分布集合;由计算机计算每个位置中的标量值;将输出分布确定为碰撞操作和热源添加的乘积;以及通过计算机针对一时间间隔执行粒子到后续网格位置的平流来修改流。

主权项:1.一种用于在计算机上模拟流体流的方法,所述方法包括:跨网格模拟流体的活动,流体的所述活动被模拟以跨所述网格对粒子的移动进行建模;在计算机能够访问的存储器中存储所述网格中每个网格位置的状态矢量的集合,所述状态矢量中的每一个状态矢量包括多个条目,所述多个条目与对应网格位置处的可能的动量状态中的特定动量状态对应;通过以下操作来模拟所述流体流的熵的时间演变:针对碰撞操作,从相邻的网格位置收集传入的分布集合,所述传入的分布集合表示所述相邻的网格位置处的粒子分布;由计算机计算每个位置中的标量值;将传出分布确定为碰撞操作方程和附加热源的乘积;以及通过计算机针对一时间间隔执行所述粒子到后续网格位置的平流来修改所述流体流。

全文数据:用于高速流的基于格点玻尔兹曼的求解器背景技术LatticeBoltzmann方法LBM,格点玻尔兹曼方法是用于流体模拟的一类计算流体动力学CFD方法。不是求解Navier-Stokes方程,而是用诸如Bhatnagar-Gross-KrookBGK之类的碰撞模型求解离散Boltzmann方程以模拟牛顿流体Newtonianfluid的流。通过模拟有限数量的粒子上的流动和碰撞过程,内在的粒子交互表明了适用于更大质量的粘性流行为的微观世界。发明内容根据一个方面,一种用于在计算机上模拟流体流的方法包括跨网格模拟流体的活动,流体的活动被模拟以跨网格对粒子的移动建模;在计算机可访问的存储器中存储网格中每个网格位置的状态矢量集合,这些状态矢量中的每个状态矢量包括多个条目,这些条目与对应网格位置处的可能的动量状态中的特定动量状态对应;通过针对碰撞操作从相邻网格位置收集传入的分布集合、由计算机计算每个位置的标量值、将输出分布确定为碰撞操作和热源添加的乘积,来模拟流的熵的时间演变;以及通过计算机针对一时间间隔执行粒子到后续网格位置的平流来修改该流。以上方面中可以包括下列特征中的一个或多个。模拟流体流的活动包括部分地基于离散格点速率的第一集合来模拟流体流,并且该方法还包括部分地基于离散格点速率的第二集合来模拟熵量的时间演变。离散格点速率的第二集合与离散格点速率的第一集合具有相同的格点速率。该方法还包括由计算机计算来自传入的格点集latticeset矢量的高阶误差项、确定高阶误差项的平均值、以及从碰撞算子中减去高阶误差项的平均值。计算附加热源项并将其加到第二状态,并且该方法还包括由计算机计算通过流体粘度加热和通过流体传导加热的效应以及由计算机计算熵扩散并该熵扩散从附加热源项移除。该方法还包括由计算机计算网格中网格位置的物理量的集合。该方法提供了LatticeBoltzmann熵求解器,其避免了二阶速度项。碰撞算子涉及非平衡non-equilibrium计算而没有速度的任何二阶项。该方法还包括通过提供格点矢量qi的附加集合来求解熵,以表示具体的熵s,并且这些状态的时间演变由下式给出:其中qi是格点矢量,x是方向,ci是状态的速度,Δt是时间t的改变,是平衡时的格点矢量,τq是弛豫时间,V是是非平衡贡献,p是压力,并且Qs是附加热源。该方法中碰撞算子与下式相关:其它方面包括计算机程序产品和装置,诸如计算机和数据处理系统。上述各方面中的一个或多个可以提供以下优点中的一个或多个。熵求解器避免项aρvv,在其他方式下该项引入误差例如,特别是对于高速流的不稳定性,因为该项与Ma2速率平方成比例。因此,该熵求解器对于高速应用是稳定的。在LatticeBoltzmann方法的背景下,基于LB的熵求解器对于解决需要高度准确的瞬态结果连带可压缩性影响的高速应用是有效的。具有高温度比的应用也受益于LB熵求解器,这是由于其独特的碰撞模型提供的增强的稳定性。本申请依据35U.S.C.§119要求于2018年2月20日提交的标题为“LatticeBoltzmannbasedsolverforhighspeedflows”的美国临时专利申请序列No.62632,584的优先权,其全部内容通过引用结合于此。附图说明图1描绘了用于模拟流体流的系统,该系统包括用于可压缩流的熵求解器。图2描绘了示出制定具有熵求解器的LatticeBoltzmann模型模拟的操作的流程图。图3描绘了使用具有熵求解器的LatticeBoltzmann模型的模拟操作的流程图。图4A、4B针对流体动力学和基于LatticeBoltzmann的技术分别描绘了所模拟的流。图5是声压级SPL与频率的关系图。图6A-6B是模拟的方向角与频率和声压级的关系图。图7和8图示了在欧几里德空间中表示的两个LBM模型的速度分量现有技术。图9是由物理过程模拟系统遵循的过程的流程图。图10是微块的透视图现有技术。图11A-11B是图1的系统使用的格点结构的图示现有技术。图12和13图示了可变分辨率技术现有技术。图14图示了粒子的移动现有技术。图15图示了受表面的面元影响的区域现有技术。图16图示了表面动力学的流程图现有技术。图17是用于执行表面动力学的过程的流程图现有技术。图18图示了粒子从体素voxel到表面的移动。图19是代表流体模拟的屏幕截图现有技术。在下面的附图和描述中阐述了本发明的一个或多个实施例的细节。根据描述和附图以及权利要求,本发明的其它特征、目的和优点是清楚的。具体实施方式用于模拟流体流的一种方法是所谓的LatticeBoltzmann模型LBM。在基于LBM的物理过程模拟系统中,流体流由分布函数值表示,使用众所周知的、描述分布函数的时间演变的LatticeBoltzmann方程见下面的方程1在一组离散速度下进行求值。该分布函数涉及两个过程:流动过程和碰撞过程。其中ξ和u分别是无量纲格点矢量和速度,并且其中fix,t是在时间t处在位置x处沿着格点方向ci的粒子分布函数,其中是平衡分布,并且τ是特征弛豫时间。流动过程是当流体袋从网格位置开始然后沿着速度矢量之一移动到下一个网格位置。在那个时候,计算“碰撞因子”,即,附近的流体袋对起始流体袋的影响。流体只能移动到另一个网格位置,因此速度矢量的恰当选择是必要的,以便所有速度的所有分量都是公共速率的倍数。第一个方程的右边是前面提到的“碰撞算子”,它表示由于流体袋之间的碰撞引起的分布函数的改变。碰撞算子的特定形式是Bhatnagar、Gross和KrookBGK算子。碰撞算子迫使分布函数到达由第二个方程给出的规定值,它是“平衡”形式。根据构造BGK算子,使得分布函数接近明确定义的局部平衡,而不管碰撞的细节如何:其中参数τ表示经由碰撞到达平衡的特征弛豫时间。处理粒子例如,原子或分子时,弛豫时间通常取为恒定值。根据这个模拟,常规流体变量诸如质量ρ和流体速度u作为方程2的简单求和被获得。其中ρ和u分别是上面提到的流体密度、速度。由于对称性的考虑,以这样一种方式选择速度值的集合,使得它们在配置空间中跨越时形成某些格点结构。这种离散系统的动力学服从具有以下形式的LatticeBoltzmann方程LBEfix+ciΔt,t+Δt-fix,t=Cix,t其中碰撞算子通常采用BGK形式,如上所述。通过恰当选择平衡分布形式,理论上可以证明LatticeBoltzmann方程产生了正确的流体动力学。即,从fix,t导出的流体动力矩服从宏观极限中的Navier-Stokes方程。这些矩由上面的方程3定义。ci和wi的集体值定义LBM模型。该LBM模型可以在可缩放的计算机平台上高效地实现,并且对于时间不稳定的流和复杂边界条件以强稳健性运行。从Boltzmann方程获得流体系统的运动的宏观方程的标准技术是Chapman-Enskog方法,在Chapman-Enskog方法中采用完全Boltzmann方程的连续近似。在流体系统中,密度的小扰动以声速行进。在气体系统中,声速一般由温度确定。通过特征速度和声速之比来测量流中的可压缩性的影响的重要性,该比被称为Mach数。对于常规的基于LBM的物理过程模拟系统的进一步解释,参考上面通过引用并入的申请US-2016-0188768-A1。热LatticeBoltzmann模型由方程1和方程2描述的LBM仅适用于求解具有均匀温度的低速流。对于热流,通常引入单独的求解器来求解能量方程,并且将计算出的温度耦合回到LatticeBoltzmann方法中。温度方程可以通过有限差分方法或者通过引入附加的格点矢量集合来求解。采用独特的基于LBM的温度求解器。在这种基于LBM的温度求解器中,使用附加的格点矢量集合来表示具体标量,即,伴随流矢量并从一个网格点移动到另一个网格点的温度。它具有若干优点,并且在公开的专利申请US20130151221A1中可获得更详细的描述,该申请的全部内容通过引用并入本文。本文使用类似的运输机制用于熵求解器,如下面所讨论的。一旦知道温度,就将温度与流体LBM求解器耦合。传统方法在LBM方程1的时间演变中对热流采用以下平衡分布方程4。其中ξ、u和θ分别是无量纲格点矢量、无量纲速度和无量纲压力。然而,对于高温度比的应用,项θ-1将变为负,这使得求解器变得不稳定。在PradeepGopalakrishnan等人的标题为“TemperatureCouplingAlgorithmforHybridThermalLatticeBoltzmannMethod”的同样未决的美国专利公开US-2016-0188768-A1中详细描述了针对相对宽范围的流条件碰撞期间使平衡分布为正的耦合技术的具体细节,该专利的全部内容通过引用并入本文。在方程1中阐述的BGK碰撞算子具有相对低的稳定范围。虽然方程1的算子对于低MachMach0.6和较高温度比应用中趋于变得不稳定。适用于航空航天领域的高亚音速和跨音速应用的温度求解器需要基于伽利略不变Galilean-invariant算子的更稳定的碰撞算子,其具有相对高的稳定性范围。这种碰撞算子的具体细节在美国专利No.9,576,087中详细描述,该专利的全部内容通过引用并入本文。高速可压缩流的能量守恒对于高速流,特别是Mach数高于0.3的流,由于可压缩性和加热改变流体的粘度造成的对流体的能量的影响是不可忽略的。由方程5给出的可压缩流的能量方程解释了这种可压缩性影响。其中e是内能,V是速度,k是导热系数,并且Φ是耗散函数,表示机械能由于粘度而变成热能的比率。对于不可压缩流,压力功项、方程5左侧的第三项和粘性耗散项退出,并且方程5变成相对容易求解的典型的对流-扩散标量方程。然而,由于存在发散速度项,使用有限差分方法或其它方法整体上求解方程5导致不稳定性。为了避免这个项,通过更可行的选项即,通过求解下面给出的熵方程方程6来强制执行能量守恒:其中s是系统的熵。可压缩流的基于LatticeBoltzmann的熵求解器熵方程方程6可以使用像有限体积或有限差分方法之类的传统方法来求解。对于复杂问题,网格具有多个分辨率级别并且具有复杂的边界条件。传统方法在计算这些情况的梯度时存在困难,其引入了强的网格依赖性和数值伪像。本文描述的是基于LatticeBoltzmannLB的熵求解器34a图1,其可以处理这些复杂问题。求解熵使用附加的格点矢量qi的第二集合,它们被引入以表示具体的熵“s”。这些状态的时间演变由下式给出:其中p是压力,并且Qs是附加的源例如,附加的热源。方程7与方程1一起将熵项从一个网格点携带到另一个网格点,并且获得作为两个方程的乘积的熵守恒方程方程8。其中S是总熵。这个方法将总熵作为平流的流上的标量项来运输,类似于如美国专利公开US-2016-0188768-A1中所描述的为基于LBM的温度求解器所采用的机制。这种用于运输熵的方法有几个优点,包括在不同网格级别附近和复杂边界附近的相对平滑的过渡。方程7右侧的第二项是所谓的正则化碰撞算子。在BGK碰撞算子中由方程1给出,计算实际状态与平衡状态之间的差异,称为“非平衡部分”。这个非平衡部分被放松relax,使得实际状态将放松到平衡状态。然而,该算子涉及所有阶数的非平衡效应,这对于守恒是不必要的。此外,涉及所有阶数的非平衡效应可能导致不稳定。另一方面,方程7中使用的算子仅考虑非平衡贡献的一阶效应通过乘以格点矢量计算出的一阶矩,如下:然后将这个经滤波的非平衡部分乘以伽利略不变算子ci-V。现在参考图1,描述包括用于高速和可压缩流的基于LB的熵求解器34b的系统10。这个实现方案中的系统10基于客户端-服务器或基于云的体系架构,并且包括实现为大规模并行计算系统12独立或基于云的服务器系统12和客户端系统14。服务器系统12包括存储器18、总线系统11、接口20例如,用户接口网络接口显示器或监视器接口等和处理设备24。在存储器18中的是网格准备引擎32和模拟引擎34。虽然图1示出了网格准备引擎32在存储器18中,但网格准备引擎可以是在与服务器12不同的系统上执行的第三方应用。不管网格准备引擎32是在存储器18中执行还是在与服务器12不同的系统上执行,网格准备引擎32都接收用户提供的网格定义30,并且网格准备引擎32准备网格并将准备好的网格发送和或存储到模拟引擎34。模拟引擎34包括碰撞交互模块34a、用于高速流的基于LB的求解器模块34b、边界模块34c以及平流粒子碰撞交互模块34d。系统10访问存储2D和或3D网格笛卡尔和或曲线、坐标系统和库的数据储存库38。现在参考图2,示出了用于模拟围绕物理对象的表示的流体流的过程40。在本文将讨论的示例中,物理对象是翼型airfoil。然而,翼型的使用仅仅是说明性的,因为物理对象可以是任何形状,并且特别地可以具有一个或多个平面和或弯曲表面。过程40例如从客户端系统14接收42或从数据储存库38检索用于被模拟的物理对象的网格或栅格。在其它实施例中,外部系统或者服务器12基于用户输入生成用于被模拟的物理对象的网格。该过程从检索到的网格预先计算44几何量,并使用与检索到的网格对应的预先计算的几何量执行动态的LatticeBoltzmann模型模拟46。LatticeBoltzmann模型模拟包括对粒子分布演变的模拟46a、熵求解器的求值46b,以及粒子和熵到LBM网格中的接下来的单元格的平流46c。参考图3,模拟过程46根据例如,适用于用于高速流的基于LB的求解器模块34b图1的经修改的LatticeBoltzmann方程LBE来模拟粒子分布的演变。过程46参见图2执行碰撞操作46a、熵的时间演变的模拟46b、随后是粒子到LBM空间中的接下来的单元的平流46c。模拟熵的时间演变46b包括从碰撞操作收集52来自相邻网格位置的传入的分布集合,并且收集54表示具体标量例如,熵的格点矢量的附加集合,其在流矢量上并且从一个栅格点移动到另一个栅格点。模拟熵的时间演变还包括由计算机计算56网格中每个位置的一组标量值。计算机随后将传出分布确定58为碰撞操作方程7和附加热源Qs的乘积。通过计算机计算60来自传入的格点集合矢量的高阶误差项和从法向碰撞算子中减去62的对应平均值来稳定碰撞算子。附加热源项被计算64并且被加到66第二状态,并且是计算机计算附加热源通过流体粘度加热流体和通过流体传导加热流体的效应的结果。通过计算机计算熵扩散,并且从附加热源项中移除68计算出的熵扩散的结果。由于扩散引起的热源的处理在没有任何附加热源的情况下,基于LBM的标量求解器将产生典型的标量对流-扩散方程,如下:其中值ks取决于τq中所使用的弛豫时间。附加热源项考虑下面给出的方程6与方程10之间的差异将恢复熵方程的正确行为。用于高速流的增强的熵碰撞算子如上面提到的美国专利9,576,087中所提到的,描述了用于流状态的特殊碰撞算子。它具有宽范围的稳定性,并且可以被应用于高Mach应用。然而,在高Mach数流下,用于熵的碰撞算子变得不稳定。Chapman-Enskog展开理论被应用于流和熵状态方程1和方程7的演变,以恢复Navier-Stokes方程和熵标量方程。扩散项由于碰撞操作而产生,并且其中的误差可能使熵求解器不稳定。考虑非平衡分量的一阶计算方程9,在这种情况下,通过使用泰勒级数展开并使用LBM的基本格点要求,一阶非平衡分量可以被近似为:在上面的表达式中,乘以压力pδ的熵梯度是唯一需要的分量,而附加项ρvv引入误差。项ρvv是导致特别是高速流不稳定的主要原因,因为该项与Ma2速率平方成比例。对上述非平衡计算的修改如下进行,以移除这个项。上述非平衡分量移除了高阶误差项,并提供了对高速应用而言稳定的熵求解器。将方程11和方程13代入方程7,熵演变的完整形式由下式给出:基于LB的熵求解器能力上面讨论的LB熵求解器对于求解需要高度准确的瞬态结果连带可压缩性影响的高速应用是有效的。具有高温度比的应用也受益于该LB熵求解器,这是由于其独特的碰撞模型提供的增强的稳定性。本节介绍了一项基准研究,以示出基于LB的熵求解器对可压缩流尤其是与高速、可变网格分辨率、复杂几何形状和高温度比流相关的潜在优势。将模拟结果与实验结果和典型的基于的有限差分FD熵求解器进行比较。现在参考图4A和4B,阐述了在喷射喷嘴的温度比大气温度高2.702倍时对于处于0.901Mach的喷嘴流实施的模拟的结果。为了预测由喷嘴产生的准确噪声,有必要获得更准确的瞬态结果。图4A针对FD方法的示出了压力振荡50a,并且图4B针对基于LB的方法示出了压力振荡50b。FD方法在喷嘴52a出口附近产生高水平的噪声54a,其涉及由于可变分辨率而影响喷嘴52a的流下游56a的复杂边界条件。基于LB的方法对于喷嘴52b出口具有更干净即,更低的噪声54b水平,并且在喷嘴下游56b也保持精细的结构。现在参考图5,描绘了以分贝为单位的声压级SPL与以Hz为单位的频率的关系图。该图是针对FD和具有熵求解器的LB方法的模拟声压级与实验结果的比较。由于数值伪像,FD方法预测噪声水平远高于实验结果尤其是在1KHz以上的频率,而基于LB的方法与实验结果相比性能相对好。现在参考图6A和6B,示出了与实验相比基于LB的求解器在预测声压级图中的准确度。参考图7,第一模型2D-1100是包括21个速度的二维模型。在这21个速度中,一个速度105表示不移动的粒子;三组四个速度表示沿着格点的x轴或者y轴的正方向或者负方向以归一化速率r110-113、以归一化速率的两倍2r120-123或以归一化速率的三倍3r130-133移动的粒子;以及两组四个速度表示相对于x格点轴和y格点轴二者以归一化速率r140-143或归一化速率的两倍2r150-153移动的粒子。还如图8所示,第二模型3D-1200是包括39个速度的三维模型,其中每个速度由图6中的箭头之一表示。在这39个速度中,一个速度表示不移动的粒子;三组六个速度表示沿着格点的x、y或z的正方向或者负方向上以归一化速率r、归一化速率的两倍2r或归一化速率的三倍3r移动的粒子;八个速度表示相对于所有三个x、y、z格点轴以归一化速率r移动的粒子;以及十二个表示相对于x、y、z格点轴中的两个以归一化速率的两倍2r移动的粒子。也可以使用更复杂的模型,诸如包括101个速度的3D-2模型和包括37个速度的2D-2模型。对于101个速度的三维模型3D-2,一个速度表示不移动的粒子组1;三组六个速度表示沿着格点的x、y或z轴的正方向或者负方向上以归一化速率r、归一化速率的两倍2r或归一化速率的三倍3r移动的粒子组2、4和7;三组八个速度表示相对于所有三个x、y、z格点轴以归一化速率r、归一化速率的两倍2r或归一化速率的三倍3r移动的粒子组3、8和10;十二个速度表示相对于x、y、z格点轴中的两个以归一化速率的两倍2r移动的粒子组6;二十四个速度表示相对于x、y、z格点轴中的两个以归一化速率r和归一化速率的两倍2r移动但不相对于剩余轴移动的粒子组5;以及二十四个速度表示相对于x、y、z格点轴中的两个以归一化速率r移动并且相对于剩余轴以归一化速率的三倍3r移动的粒子组9。对于二维模型2D-2,在37个速度中,一个速度表示不移动的粒子组1;三组四个速度表示沿着格点的x或y轴的正方向或者负方向上以归一化速率r、归一化速率的两倍2r或归一化速率的三倍3r移动的粒子格点组2、4和7;两组四个速度表示相对于x和y格点轴二者以归一化速率r或归一化速率的两倍2r移动的粒子;八个速度表示相对于x和y格点轴中的一个轴以归一化速率r移动并且相对于另一个轴以归一化速率的两倍2r移动的粒子;以及八个速度表示相对于x和y格点轴中的一个轴以归一化速率r移动并且相对于另一个轴以归一化速率的三倍3r移动的粒子。上述LBM模型提供了一类具体的高效且稳健的离散速度动力学模型,以用于二维和三维流的数值模拟。这种模型包括离散速度和与这些速度相关联的权重的特定集合。速度与速度空间中笛卡尔坐标欧几里德空间中的网格点一致,这便于准确和高效地实现离散速度模型,特别是称为LatticeBoltzmann模型的类型。使用此类模型,可以高保真地对流进行模拟。参考图9,物理过程模拟系统根据过程300操作,以模拟诸如流体流的物理过程。在模拟之前,模拟空间被建模为体素的集合302。通常,使用计算机辅助设计CAD程序生成模拟空间。例如,CAD程序可以用于绘制位于风洞中的微设备。此后,处理由CAD程序产生的数据,以添加具有适当分辨率的格点结构并考虑模拟空间内的对象和表面。可以基于被模拟的系统的Reynolds数来选择格点的分辨率。Reynolds数与流的粘度ν、流中的对象的特征长度L以及流的特征速度u相关:Re=uLv.方程I.5对象的特征长度表示对象的大的尺度特征。例如,如果正在模拟微设备周围的流,那么微设备的高度可以被认为是特征长度。当关注对象的小区域例如,汽车的侧镜周围的流时,可以增加模拟的分辨率,或者可以在感兴趣的区域周围采用增加分辨率的区域。随着格点的分辨率增加,体素的尺寸减小。状态空间被表示为fix,t,其中fi表示在时间t在由三维矢量x表示的格点位点处状态i下每单位体积的元素或粒子的数量即,状态i下的粒子密度。对于已知的时间增量,粒子的该数量简称为fix。格点位点的所有状态的组合表示为fx。状态的数量由每个能级内可能的速度矢量的数量确定。速度矢量由具有三个维度x、y和z的空间中的整数线性速率组成。对于多品种模拟,状态的数量增加。每个状态i表示在特定能级即,能级零、一或二处的不同速度矢量。每个状态的速度ci以其在三个维度中的每个维度中的“速率”表示如下:ci=cix,ciy,ciz方程I.6能级零状态表示不在任何维度上移动的停止的粒子,即,c停止=0,0,0。能级一状态表示在三个维度中的一个维度中具有a±1速率并且在另外两个维度中具有零速率的粒子。能级二状态表示在所有三个维度上具有a±1速率、或者在三个维度中的一个维度中具有a±2速率并且在其它两个维度中具有零速率的粒子。生成三个能级的所有可能的排列给出总共39种可能的状态一个能量零状态,6个能量一状态,8个能量三状态,6个能量四状态,12个能量八状态,以及6个能量九状态。每个体素即,每个格点位点由状态矢量fx表示。状态矢量完全定义体素的状态并且包括39个条目。这39个条目与一个能量零状态、6个能量一状态、8个能量三状态、6个能量四状态、12个能量八状态和6个能量九状态对应。通过使用这个速度集,系统可以产生用于所实现的平衡状态矢量的Maxwell-Boltzmann统计。为了处理效率,体素被分组为称为微块的2x2x2体积。微块被组织成允许体素的并行处理并且使得与数据结构相关联的开销最小化。微块中体素的简写符号定义为Nin,其中n表示格点位点在微块内的相对位置,并且n∈{0,1,2,...,7}。微块在图10中示出。还参考图11A和11B,表面S图11A在模拟空间图11B中表示为面元facetFα的集合:S={Fα}方程1.7其中α是枚举特定面元的索引。面元不限于体素边界,而是通常尺寸为与面元相邻的体素的尺寸的数量级或略小于该体素的尺寸,使得面元影响相对少量的体素。为了实现表面动力学,将特性指派给面元。具体而言,每个面元Fα具有单位法向nα、表面积Aα、中心位置xα以及描述面元的表面动态特性的面元分布函数fiα。参考图12,可以在模拟空间的不同区域中使用不同级别的分辨率以提高处理效率。通常,对象655周围的区域650是最感兴趣的,因此以最高分辨率进行模拟。因为粘度的效应随着距对象的距离而减小,所以采用逐步降低的分辨率级别即,扩展的体素体积来模拟与对象655间隔距离增加的区域660、665。类似地,如图13中所示,较低级别的分辨率可以用于模拟对象775的较不重要的特征周围的区域770,而最高分辨率级别用于模拟对象775的最重要的特征周围的区域780例如,前沿和后沿表面。使用最低分辨率级别和最大体素来模拟外围区域785。识别受面元影响的体素再次参考图9,一旦模拟空间已被建模302,就识别受一个或多个面元影响的体素304。体素可以以多种方式受面元的影响。首先,与一个或多个面元相交的体素受到影响,因为该体素相对于非相交的体素具有减小的体积。发生这种情况是因为面元以及由面元表示的表面下面的材料占据了体素的一部分。分数因子Pfx指示体素的不受面元影响的部分即,可以被为其模拟流的流体或其它材料占据的部分。对于非相交的体素,Pfx等于1。通过将粒子转移到面元或从面元接收粒子而与一个或多个面元交互的体素也被识别为受面元影响的体素。与面元相交的所有体素将包括从面元接收粒子的至少一个状态以及将粒子转移到面元的至少一个状态。在大多数情况下,附加的体素也将包括这些状态。参考图14,对于具有非零速度矢量ci的每个状态i,面元Fα从由平行六面体Giα定义的区域接收粒子或将粒子转移到该区域,其中平行六面体Giα具有高度,该高度由速度矢量ci和面元的单位法向nα的矢量点积量|cini|的幅度以及由面元的表面积Aα定义的基数定义,使得平行六面体Giα的体积Viα等于:Via=|cina|Aa方程I.8当状态的速度矢量指向面元|cini|0时,面元Fα将粒子转移到该区域。如下面将讨论的,当另一个面元占据平行六面体Giα的一部分时可能发生在诸如内角之类的非凸特征附近的条件,必须修改这个表达式。面元Fα的平行六面体Giα可以与多个体素中的部分体素或全部体素重叠。体素或其部分的数量取决于面元相对于体素的尺寸的尺寸、状态的能量、以及面元相对于格点结构的朝向。受影响的体素的数量随着面元的尺寸而增加。因而,如上所述,面元的尺寸通常被选择为位于面元附近的体素的尺寸或小于该体素的尺寸。由平行六面体Giα重叠的体素Nx的部分被定义为Viαx。使用这个项,在体素Nx和面元Fα之间移动的状态i粒子的通量Γiαx等于该体素中的状态i的密度Nix乘以与该体素重叠的区域的体积Viαx:Γiαx=NixViαx方程I.9当平行六面体Giα与一个或多个面元相交时,满足以下条件:Viα=∑Vαx+∑Viαβ方程I.10其中第一个总和考虑与Giα重叠的所有体素,第二项考虑与Giα相交的所有面元。当平行六面体Giα未与另一个面元相交时,这个表达式将精简为:Viα=∑Viαx方程I.11执行模拟再次参考图9,一旦识别出受一个或多个面元影响的体素304,就初始化定时器以开始模拟306。在模拟的每个时间增量期间,通过平流阶段308-316来模拟粒子从体素到体素的移动,该平流阶段考虑粒子与表面面元的交互。接下来,碰撞阶段318部分地基于上面讨论的熵求解器的使用来模拟每个体素内的粒子的交互。此后,计时器递增320。如果递增的计时器未指示模拟完成322,那么重复平流和碰撞阶段308-320。如果递增的定时器指示模拟完成322,那么存储和或显示模拟的结果324。如图9中所示,“平行路径”用于熵状态的平流。这个并行路径一般包括并行动作308'-318',然后是用熵求解器34b对流求值。熵状态沿着三维直线格点在体素之间移动314',类似于上面讨论的体素到体素移动的314。只要递增的定时器不指示模拟完成,该过程就重复322。1.用于表面的边界条件为了正确模拟与表面的交互,每个面元必须满足四个边界条件。首先,由面元接收的粒子的组合质量必须等于由面元转移的粒子的组合质量即,到面元的净质量通量必须等于零。其次,由面元接收的粒子的组合能量必须等于由面元转移的粒子的组合能量即,到面元的净能量通量必须等于零。通过要求每个能级即,能级一和二的净质量通量等于零,可以满足这两个条件。另外两个边界条件与粒子与面元交互的净动量相关。对于没有表面摩擦的表面在本文称为滑动表面,净切向动量通量必须等于零,并且净法向动量通量必须等于面元处的局部压力。因此,垂直于面元的法向nα的组合的接收和转移动量的分量即切向分量必须相等,而平行于面元的法向nα的组合的接收和转移动量的分量即,法向分量之间的差异必须等于面元处的局部压力。对于非滑动表面,表面的摩擦按照与摩擦量相关的因子、相对于由面元接收的粒子的组合切向动量减小了由面元转移的粒子的组合切向动量。2.从体素到面元的搜集作为模拟粒子与表面之间的交互的第一步,从体素搜集粒子并将粒子提供给面元308。如上所述,体素Nx和面元Fα之间的状态i粒子的通量为:Γiαx=NixViαx方程I.12由此,对于指向面元Fα的每个状态cinα0,传出的通量分布为:ΓiOUTα=Nn-βiαViα-.Δ.Γi*α,方程I.23其中i*是具有与状态i相反的方向的状态。例如,如果状态i是1,1,0,0,那么状态i*是-1,-1,0,0。为了考虑皮肤摩擦和其它因素,对于nαci>0,传出的通量分布可以进一步细化为:ΓiOUTα=Nn-BiαViα-ΔΓi*α+Cfnα·ci-[Nn-βi*α-Nn-βiα]Viα+nα·cit1α·ciΔNj,1Viα+nα·cit2α·ciΔNj,2Viα方程I.24其中Cf是皮肤摩擦的函数,tiα是垂直于nα的第一切向矢量,t2α是与nα和t1α都垂直的第二切向矢量,并且ΔNj,1和ΔNj,2是与状态i的能量j和指示的切向矢量对应的分布函数。这些分布函数根据下式确定:其中j对于能级1状态等于1,并且对于能级2状态等于2。ΓiOUTα的方程的每个项的功能如下。第一项和第二项强制执行法向动量通量边界条件,使得碰撞在产生Boltzmann分布时是有效的,但包括切向动量通量异常。第四项和第五项纠正这种异常,其可能是由于由于碰撞不充分导致的离散效应或非Boltzmann结构而产生的。最后,第三项添加指定量的皮肤分数以强制执行表面上的切向动量通量的期望改变。下面描述摩擦系数Cf的生成。要注意的是,涉及矢量操纵的所有项都是可以在开始模拟之前计算的几何因子。由此,切向速度被确定为:uiα=Pα-Pnαnαρ,方程I.26其中ρ是面元分布的密度:ρ=∑iNiα方程I.27如上所述,传入的通量分布与Boltzmann分布之间的差异被确定为:ΔΓiα=ΓilNα-Nn-βiαViα方程I.28于是,传出的通量分布变为:ΓiOUTα=Nn-βiαViα-ΔΓi*α+Cfnαci[Nn-βi*α-Nn-βiα]Viα方程I.29这与由前一种技术确定的传出通量分布的前两行对应,但不需要校正异常的切向通量。使用任一种方法,结果得到的通量分布都满足所有动量通量条件,即:其中pα是面元Fα处的平衡压力,并且基于向该面元提供粒子的体素的平均密度和温度值,并且uα是面元处的平均速度。为了确保满足质量和能量边界条件,测量每个能级j的输入能量与输出能量之间的差异:其中索引j表示状态i的能量。然后对于cjinα0,使用这个能量差来生成差异项:这个差异项用于修改传出的通量,使得对于cjinα0,该通量变为:ΓαjiOUTf=ΓαjiOUT+δΓαji方程I.33这个操作校正质量和能量通量,同时保持切向动量通量不变。如果流在面元附近大致均匀并接近平衡,那么该调整是小的。调整之后得到的法向动量通量被略微更改为基于邻域平均特性的平衡压力加上由于邻域的非均匀性或非平衡特性引起的校正的值。5.从体素到体素移动再次参考图9,粒子沿着三维直线格点在体素之间移动314。这种体素到体素移动是在不与面元交互的体素即,不位于表面附近的体素上执行的唯一移动操作。在典型的模拟中,不位于表面足够近而不与表面交互的体素构成体素的大部分。每个独立的状态表示粒子在三个维度x、y和z中的每一个中沿着格点以整数速率移动。整数速率包括:0、±1和±2。速率的符号指示粒子正沿着对应轴移动的方向。对于不与表面交互的体素,移动操作在计算上非常简单。在每个时间增量期间,状态的整个群体从其当前体素移动到其目的地体素。同时,目的地体素的粒子从该体素移动到它们自己的目的地体素。例如,在+1x和+1y方向上1,0,0中移动的能级1粒子从其当前体素移动到在x方向上为+1并且在其它方向上为0的体素。该粒子最终在其目的地体素处于与移动前相同的状态1,0,0。体素内的交互将有可能基于与其它粒子和表面的局部交互来改变那个状态的粒子数。如果不是这样,那么粒子将继续沿着格点以相同的速率和方向移动。对于与一个或多个表面交互的体素,移动操作变得稍微复杂一些。这可以导致一个或多个分数粒子被转移到面元。这种分数粒子到面元的转移导致分数粒子保留在体素中。这些分数粒子被转移到由面元占据的体素中。参考图17,当用于体素905的状态i粒子的一部分900移动到面元910时308,剩余部分915移动到面元910所在并且状态i的粒子从其指向面元910的体素920中。因此,如果状态群体等于25并且Viαx等于0.25即,体素的四分之一与平行六面体Giα相交,那么6.25个粒子将移动到面元Fα并且18.75个粒子将移动到由面元Fα占据的体素。因为多个面元可以与单个体素相交,所以转移到由一个或多个面元占据的体素Nf的状态i粒子的数量是:其中Nx是源体素。6.从面元到体素的散射接下来,来自每个面元的传出粒子被散射到体素316。从本质上讲,这与粒子从体素移动到面元的搜集相反。从面元Fα移动到体素Nx的状态i粒子的数量是:其中Pfx考虑部分体素的体积减小。由此,对于每个状态i,从面元指向体素Nx的粒子的总数量是:在将粒子从面元散射到体素之后,将它们与从周围体素平流进来的粒子组合,并使结果整数化,某些体素中的某些方向可能下溢变为负或者上溢在八位实现方案中超过255。在截断质量、动量和能量以适应允许的值范围之后,这将导致这些量的增益或者损失。为了防止这种情况发生,超出边界的质量、动量和能量在违规状态的截断之前被累加。对于该状态所属的能量,等于由于下溢增益或由于溢出丢失的值的质量的量被添加回具有相同能量并且本身不经受上溢或下溢的随机或顺序选定状态。从这种质量和能量的添加所产生的附加动量被累加并添加到截断所得的动量上。通过仅向相同的能量状态添加质量,当质量计数器达到零时,质量和能量二者都被校正。最后,使用推送拉取技术校正动量,直到动量累加器返回到零。7.执行流体动力学执行流体动力学318图9。这个步骤可以被称为微动力学或体素内操作。类似地,平流过程可以被称为体素间操作。下面描述的微动力学操作也可以用于碰撞面元处的粒子以产生Boltzmann分布。通过称为BGK碰撞模型的特定碰撞算子在LatticeBoltzmann方程模型中确保流体动力学。这个碰撞模型模仿真实流体系统中的分布的动力学。碰撞过程可以通过方程I.1和方程I.2的右侧很好地描述。在平流步骤之后,使用方程I.3从分布函数获得流体系统的守恒量,具体而言是密度、动量和能量。从这些量中,由方程I.2中的feq表示的平衡分布函数由方程I.4完全指定。速度矢量集ci、权重的选择都在表1中列出与方程I.2一起确保宏观行为服从正确的流体动力学方程。参考图18,系统生成1200粒子运输的分布,其中熵的确定与碰撞操作分开。在这个示例中,分布函数包括平流,并且通过利用熵确定增强平流而不是利用熵确定增强粒子碰撞来将熵确定包括在分布部分中。一般而言,平流包括粒子的运输例如,在水平方向上从一个区域到另一个区域。在操作中,系统在格点速度集中模拟1202一定体积的流体中的粒子的运输,其中运输造成粒子之间的碰撞。该系统还基于用于粒子的运输的分布函数生成1204粒子分布,其中分布函数包括热力学步骤和粒子碰撞步骤,并且其中热力学步骤基本上独立于粒子碰撞步骤并且与粒子碰撞步骤分离。在图12的示例中,系统还确定1204确定在特定时间t处流体体积中的特定位置x处的碰撞的碰撞后分布函数fi′x,t,其中fi′x,t=fix,t+Cix,t,其中Ci是碰撞算子,并且fi是碰撞前粒子的分布函数。该系统在1206根据方程7通过使用格点矢量qi的附加集合来求解熵和运输,以表示特定的熵。方程7和方程1将熵从一个网格点带到另一个网格点,从而有效地提供熵作为与流体流的平流一起平流的标量,如美国专利公开US-2016-0188768-A1中对于诸如温度之类的标量的平流所讨论的那样。这个技术在不同网格级别附近和复杂边界附近提供平滑过渡。可变分辨率也可以采用可变分辨率如US20130151221A1中所讨论的并且将使用不同尺寸的体素,例如粗略体素和精细体素。图19示出了流体模拟的屏幕截图。使用了上述熵求解器方法的流体模拟将提供流体模拟的类似描述以及任何常规的对应计算的数据输出。然而,在具有曲线表面的对象例如,实际物理对象被建模时,使用了上述熵求解器方法的这种流体模拟可以更快地进行流体模拟,和或使用比其它方法更少的计算资源,并且还可以用于对高Mach数流体流中的对象进行建模同时为需要高度准确的瞬态结果连带可压缩性影响的应用维持相对稳定的熵求解器。硬件和软件实现系统10一般可以被实现为各种不同的电气或电子计算或处理设备中的任何一个,并且可以执行上面讨论的各种步骤的任意组合以控制所公开的热管理系统的各种部件。系统10一般可以并且可选地包括处理器或多个处理器、存储器、存储设备和输入输出设备中的任何一个或多个。可以使用系统总线互连这些部件中的部分或全部,如图1中所示。处理器能够处理指令以供执行。在一些实施例中,处理器是单线程处理器。在某些实施例中,处理器是多线程处理器。通常,处理器能够处理存储在存储器中或存储设备上的指令,以在输入输出设备上显示用于用户界面的图形信息,并执行上面讨论的各种监视和控制功能。适用于本文公开的系统的处理器包括通用和专用微处理器,以及任何类型的计算机或计算设备的唯一处理器或多个处理器之一。存储器存储系统内的信息,并且可以是计算机可读介质,诸如易失性或非易失性存储器。存储设备能够为系统10提供大容量存储。一般而言,存储设备可以包括被配置为存储计算机可读指令的任何非瞬态有形介质。例如,存储设备可以包括计算机可读介质和相关联的部件,包括:磁盘,诸如内部硬盘和可移除盘;磁光盘;以及光盘。适于有形地体现计算机程序指令和数据的存储设备包括所有形式的非易失性存储器,包括例如半导体存储器设备,诸如EPROM、EEPROM和闪存设备;磁盘,诸如内部硬盘和可移除盘;磁光盘;以及CD-ROM和DVD-ROM盘。本文公开的系统的处理器和存储器单元可以由ASIC专用集成电路补充或并入其中。输入输出设备为系统10提供输入输出操作,并且可以包括键盘和或定点设备。在一些实施例中,输入输出设备包括用于显示图形用户界面和系统相关信息的显示单元。本文描述的特征,包括用于执行各种测量、监视、控制和通信功能的部件,可以在数字电子电路系统中实现,或者在计算机硬件、固件中或它们的组合中实现。方法步骤可以在有形地体现在信息载体中例如,在机器可读存储设备中的计算机程序产品中实现,用于由例如,系统10的可编程处理器执行,并且特征可以由执行这种指令的程序以执行上述任何步骤和功能的可编程处理器执行。适于由一个或多个系统处理器执行的计算机程序包括可以直接或间接地被使用的指令集,以使执行指令的处理器或其它计算设备执行某些活动,包括上面讨论的各种步骤。适于与本文公开的系统和方法一起使用的计算机程序可以用任何形式的编程语言编写,包括编译或解释的语言,并且可以以任何形式部署,包括作为独立程序或作为模块、部件、子例程,或适于在计算环境中使用的其它单元。已经描述了许多实现方案。然而,应该理解的是,在不脱离权利要求的精神和范围的情况下,可以进行各种修改。因此,其它实现方案在以下权利要求的范围内。

权利要求:1.一种用于在计算机上模拟流体流的方法,所述方法包括:跨网格模拟流体的活动,流体的所述活动被模拟以跨所述网格对粒子的移动进行建模;在计算机能够访问的存储器中存储所述网格中每个网格位置的状态矢量的集合,所述状态矢量中的每一个状态矢量包括多个条目,所述多个条目与对应网格位置处的可能的动量状态中的特定动量状态对应;通过以下操作来模拟所述流的熵的时间演变:针对碰撞操作,从相邻的网格位置收集传入的分布集合;由计算机计算每个位置中的标量值;将输出分布确定为所述碰撞操作和热源添加的乘积;以及通过计算机针对一时间间隔执行所述粒子到后续网格位置的平流来修改所述流。2.如权利要求1所述的方法,其中模拟流体流的活动包括部分地基于离散格点速率的第一集合来模拟所述流体流,并且所述方法还包括:部分地基于离散格点速率的第二集合来模拟熵量的时间演变。3.如权利要求1所述的方法,其中离散格点速率的所述第二集合与离散格点速率的所述第一集合是相同的格点速率。4.如权利要求1所述的方法,还包括:由计算机根据传入的格点集合矢量计算高阶误差项;确定所述高阶误差项的平均值;以及从碰撞算子中减去高阶误差项的所述平均值。5.如权利要求1所述的方法,其中附加热源项被计算并被加到第二状态,并且所述方法还包括:由计算机计算通过流体粘度加热和通过流体传导加热的效应,由计算机计算熵扩散并将所述熵扩散从所述附加热源项移除。6.如权利要求1所述的方法,还包括:由计算机计算所述网格中的网格位置的物理量的集合。7.如权利要求1所述的方法,其中LatticeBoltzmann熵求解器避免二阶速度项。8.如权利要求1所述的方法,其中碰撞算子涉及非平衡计算,而没有速度的任何二阶项。9.如权利要求1所述的方法,还包括:通过提供格点矢量qi的附加集合来求解熵,以表示具体的熵s,并且这些状态的时间演变由下式给出其中qi是格点矢量,x是方向,ci是状态的速度,Δt是时间t的改变,是平衡时的格点矢量,τq是弛豫时间,V是是非平衡贡献,p是压力,并且Qs是附加热源。10.如权利要求9所述的方法,其中所述碰撞算子与下式相关:11.一种被配置为模拟流体流的计算系统,所述计算系统包括:一个或多个处理器设备;存储器,可操作地耦合到一个或多个处理器设备,所述存储器存储计算指令以使所述一个或多个处理器设备:跨网格模拟流体的活动,流体的所述活动被模拟以跨所述网格对粒子的移动进行建模;在所述存储器中存储所述网格中每个网格位置的状态矢量的集合,所述状态矢量中的每一个状态矢量包括多个条目,所述多个条目与对应网格位置处的可能的动量状态中的特定动量状态对应;通过用于以下操作的指令模拟所述流的熵的时间演变:针对碰撞操作,从相邻的网格位置收集传入的分布集合;由计算机计算每个位置中的标量值;将输出分布确定为所述碰撞操作和热源添加的乘积;以及通过计算机针对一时间间隔执行所述粒子到后续网格位置的平流来修改所述流。12.如权利要求11所述的系统,其中用于模拟流体流的活动的指令包括用于部分地基于离散格点速率的第一集合来模拟流体流的指令;部分地基于离散格点速率的第二集合来模拟熵量的时间演变。13.如权利要求11所述的系统,其中离散格点速率的所述第二集合与离散格点速率的所述第一集合是相同的格点速率。14.如权利要求11所述的系统,还包括用于以下操作的指令:根据传入的格点集合矢量计算高阶误差项;确定所述高阶误差项的平均值;以及从碰撞算子中减去高阶误差项的所述平均值。15.如权利要求11所述的系统,其中附加热源项被计算并被加到第二状态,并且所述方法还包括:计算通过流体粘度加热和通过流体传导加热的效果,由计算机计算熵扩散并将所述熵扩散从所述附加热源项移除。16.如权利要求11所述的系统,还包括用于以下操作的指令:计算所述网格中的网格位置的物理量的集合。17.如权利要求11所述的系统,其中LatticeBoltzmann熵求解器避免二阶速度项。18.如权利要求11所述的系统,其中所述碰撞算子涉及非平衡计算而没有速度的任何二阶项。19.如权利要求11所述的系统,还包括用于以下操作的指令:通过提供格点矢量qi的附加集合来求解熵,以表示具体的熵s,并且这些状态的时间演变由下式给出其中qi是格点矢量,x是方向,ci是状态的速度,Δt是时间t的改变,是平衡时的格点矢量,τq是弛豫时间,V是是非平衡贡献,p是压力,并且Qs是附加热源。20.如权利要求19所述的系统,其中所述碰撞算子与下式相关:21.一种有形地存储在非瞬态硬件存储设备上的计算机程序产品,所述计算机程序产品包括用于将计算系统配置为执行以下操作的可执行指令:跨网格模拟流体的活动,流体的所述活动被模拟以跨所述网格对粒子的移动进行建模;在存储器中存储所述网格中每个网格位置的状态矢量的集合,所述状态矢量中的每一个状态矢量包括多个条目,所述多个条目与对应网格位置处的可能的动量状态中的特定动量状态对应;通过用于以下操作的指令模拟所述流的熵的时间演变:针对碰撞操作,从相邻的网格位置收集传入的分布集合;由计算机计算每个位置中的标量值;将输出分布确定为所述碰撞操作和热源添加的乘积;以及通过计算机针对一时间间隔执行所述粒子到后续网格位置的平流来修改所述流。

百度查询: 达索系统美国公司 用于高速流的基于格点玻尔兹曼的求解器

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。