CN113673177A - 网格空隙空间识别和自动种子设定检测 - Google Patents
网格空隙空间识别和自动种子设定检测 Download PDFInfo
- Publication number
- CN113673177A CN113673177A CN202110528667.9A CN202110528667A CN113673177A CN 113673177 A CN113673177 A CN 113673177A CN 202110528667 A CN202110528667 A CN 202110528667A CN 113673177 A CN113673177 A CN 113673177A
- Authority
- CN
- China
- Prior art keywords
- cad
- geometry
- computer
- virtual
- discretization
- 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.)
- Granted
Links
- 239000011800 void material Substances 0.000 title claims abstract description 72
- 238000001514 detection method Methods 0.000 title abstract description 5
- 238000000034 method Methods 0.000 claims abstract description 88
- 238000011960 computer-aided design Methods 0.000 claims abstract description 71
- 238000004088 simulation Methods 0.000 claims description 73
- 239000012530 fluid Substances 0.000 claims description 49
- 238000012545 processing Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 11
- 238000003860 storage Methods 0.000 claims description 5
- 238000007670 refining Methods 0.000 claims description 4
- 238000004519 manufacturing process Methods 0.000 claims description 2
- 230000000644 propagated effect Effects 0.000 claims 3
- 230000001902 propagating effect Effects 0.000 abstract description 2
- 239000002245 particle Substances 0.000 description 91
- 230000008569 process Effects 0.000 description 44
- 230000004907 flux Effects 0.000 description 30
- 239000013598 vector Substances 0.000 description 23
- 238000009826 distribution Methods 0.000 description 21
- 238000005315 distribution function Methods 0.000 description 17
- 230000003197 catalytic effect Effects 0.000 description 10
- 230000003993 interaction Effects 0.000 description 10
- 230000008859 change Effects 0.000 description 7
- 238000013461 design Methods 0.000 description 7
- 238000002360 preparation method Methods 0.000 description 7
- 238000001816 cooling Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 238000012937 correction Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 239000007789 gas Substances 0.000 description 3
- 238000013515 script Methods 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000012938 design process Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000000047 product Substances 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- 229910006119 NiIn Inorganic materials 0.000 description 1
- 241001632422 Radiola linoides Species 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000002547 anomalous effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 239000002826 coolant Substances 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000011038 discontinuous diafiltration by volume reduction Methods 0.000 description 1
- 239000000428 dust Substances 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000012467 final product Substances 0.000 description 1
- 238000007654 immersion Methods 0.000 description 1
- 239000007788 liquid Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000007789 sealing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000007921 spray Substances 0.000 description 1
- 238000010561 standard procedure Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/23—Design optimisation, verification or simulation using finite element methods [FEM] or finite difference methods [FDM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/28—Design optimisation, verification or simulation using fluid dynamics, e.g. using Navier-Stokes equations or computational fluid dynamics [CFD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/10—Numerical modelling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2113/00—Details relating to the application field
- G06F2113/08—Fluids
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/14—Force analysis or force optimisation, e.g. static or dynamic forces
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Fluid Mechanics (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Computational Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本公开涉及网格空隙空间识别和自动种子设定检测。描述了一种用于进行以下操作的计算机实现的技术:选择计算机辅助设计(CAD)的单个表面作为与将被离散化的空隙空间共享边界的表面;产生定位在空隙区域内或围绕空隙区域的虚拟几何形状物品,以定义要被离散化的体积;以及通过以离散化因子对CAD生成的几何形状离散化,在所定义的体积内传播网格,以在CAD生成的几何形状内找到满足一起的所有虚拟几何形状的第一有效种子点。
Description
技术领域
本公开涉及定义对象的几何形状的技术。
背景技术
计算机辅助设计(CAD)是使用计算机系统来辅助设计的产生、修改、分析或优化。计算机辅助设计(CAD)有许多应用。CAD的一种应用是CAD绘图可以用作定义对象几何形状以进行流体流模拟的基础。
计算流体动力学(CFD)是解决涉及流体流的问题的流体力学的一个分支。在一些实现方式中,计算机系统执行模拟液体和气体与由边界条件定义的表面相互作用所需的计算。执行流体模拟的过程的部分包括定义与模拟相关的对象的几何形状。经常地,可以使用计算机辅助设计(CAD)定义几何形状。例如,可以使用CAD系统定义诸如汽车、风力涡轮机、风管等之类的要模拟的物理对象的几何形状。
在计算流体动力学(CFD)领域中,用户对于对空隙空间和间隙空间进行网格划分感兴趣。例如,考虑中空管道。管道在几何上表现为具有一定厚度的圆柱体。该管道的中空区域内的空隙空间/间隙是将被流体占据的空间。为了执行CFD模拟,需要识别该空隙空间,以便用离散计算点(网格)填充该空间。
用户可能还需要操纵该空隙空间。例如,用户可能只需要用计算点填充该空隙空间的对称的一半(从而减少计算资源和时间)。使用以上的管道类比,这将类似于沿着管道长度切割管道。也可能由CAD几何形状得到的空隙空间会过大,用户可能需要限制或缩小计算区域。
当前定义空隙空间的技术是手动进行的,涉及操纵和描述空隙空间的繁琐和累赘的方法。为了修改空隙空间,用户将需要修改原始零件几何形状(CAD表达)。修改零件几何形状是耗时的,并且可能需要产生新的封闭表面(这将操纵空隙空间)以便将空间分割成对称的两半。
除了其耗时之外的另一个缺点是,“CAD”表达通常在各种其它模拟中共享。为了以特定于某种模拟的方式进行一次模拟,将使该CAD现在被永久地改变了。这将自动地使引用该现在修改的CAD的所有其它模拟的任何结果或模拟设置无效。
另一个缺点是,用户需要明确指出空隙空间存在于何处。这在现在是通过选取封闭空隙空间的所有表面来完成的。这种方法的问题是,如果空隙空间被再次操纵,则空隙空间的当前描述不再有效。也就是说,通过选取一组封闭表面来描述空隙空间的当前方法不适于空隙空间的未来操纵。
另一个问题是设计实验问题。在这类问题中,许多模拟参数、几何形状配置在受到约束的同时经历变化,以便找到最优解。由于几何形状随着每次模拟实验而改变,因此空隙空间也将改变。那么有可能对于每次模拟实验,用户将需要手动地重新定义空隙空间。
发明内容
本文描述的方法使数据处理系统能够快速且以非繁琐的方式自动定义和操纵空隙空间。数据处理系统使用户能够在不改变CAD几何形状的情况下定义和操纵空隙空间,因此保持引用该相同CAD的所有模拟的有效性。本文定义的方法使数据处理系统能够自动检测空隙空间。
所公开的技术避免了用手动方法来操纵和描述空隙空间。所公开的技术使用户能够修改空隙空间,而用户不需要修改原始零件几何形状(CAD表达)。该方法使系统能够识别空隙空间存在于何处,因此避免与再次操纵关联的问题。该方法通过许可用户避免手动重新定义空隙空间来实现设计实验问题。
根据一方面,一种计算机实现的方法包括:选择计算机辅助设计(CAD)的单个表面作为与将被离散化的空隙空间共享边界的表面;产生定位在空隙区域内或围绕空隙区域的虚拟几何形状物品,以定义要被离散化的体积;以及通过以离散化因子对CAD生成的几何形状离散化来在所定义的体积内传播网格,以在CAD生成的几何形状内找到满足一起的所有虚拟几何形状的第一有效种子点。
以下特征中的一个或多个是可以被包括在以上方面中的一些附加特征。
当在CAD生成的几何形状内未找到满足一起的所有界定平面的有效点时,方法还包括:通过递增离散化因子来细化离散化;以及进行重复直至找到有效种子点。方法还包括识别在其中应用网格的计算机辅助设计(CAD)生成的几何形状中的空隙区域。方法还包括存储定义和定位与CAD零件相关的虚拟几何形状的信息。虚拟几何形状物品是平面。虚拟几何形状物品是盒。计算机实现的方法执行体积的离散化。计算机实现的方法还包括执行体积的计算流体动力学模拟。
以上方面中的一个或多个可以包括以下优点中的一个或多个。
在仅选取了属于空隙空间的一个表面之后,处理自动检测空隙空间。用户选取一个表面,之后处理寻求自动确定空隙空间位于何处。这种检测方法考虑了存在的所有虚拟几何形状。在处理之后,网格被拟合到所考虑的零件。
通过对几何形状进行非常粗略的离散化以找到满足一起的所有虚拟界定平面和/或虚拟盒的第一有效种子点,处理自动计算要网格划分的有效区域。如果未找到解,则处理细化离散化并重复到最大尝试次数。如果什么都没有找到,则平面和盒的设置导致无解。
在附图和以下描述中阐述了本说明书中描述的主题的一个或多个实施例的细节。根据说明书、附图和权利要求书,主题的其它特征、方面和优点将变得清楚。
附图说明
图1描绘了用于模拟流体流的系统。
图2描绘了示出用于表述格子玻尔兹曼模型(Lattice Boltzmann Model)模拟的操作的流程图。
图3是例示了用于确定的处理的各方面的流程图。
图4是例示了自动种子设定处理的流程图。
图5至图8是理解图3和图4的处理时可用的示图。
图9和图10例示了在欧式(Euclidian)空间中表达的两个LBM模型的速度分量(现有技术)。
图11是由使用经校正的CAD绘图的物理过程模拟系统遵循的过程的流程图。
图12是微块的立体图(现有技术)。
图13A至图13B是由图1的系统使用的格子结构的例示(现有技术)。
图14和图15例示了可变分辨率技术(现有技术)。
图16例示了粒子的移动(现有技术)。
图17例示了受表面的面元(facet)影响的区域(现有技术)。
图18例示了表面动力学的流程图(现有技术)。
图19是用于执行表面动力学的过程的流程图(现有技术)。
具体实施方式
用于定义和操纵空隙空间的当前方法的问题在于,这些方法大多或完全是手动处理。
参照图1,示出了用于模拟例如围绕物理对象的表示的流体流的系统10。该实现方式中的系统10基于客户端-服务器体系架构,并且包括被实现为大规模并行计算系统12的服务器系统12以及客户端系统14。服务器系统12包括存储器18、总线系统11、接口20(例如,用户接口/网络接口/显示器或监视器接口等)和处理设备24。在存储器18中有网格制备引擎(mesh preparation engine)32和模拟引擎34。
尽管图1示出了存储器18中的网格制备引擎32,但网格制备引擎可以是在与服务器12不同的系统上执行的第三方应用。无论网格制备引擎32是在存储器18中执行还是在与服务器12不同的系统上执行,网格制备引擎32都接收用户供应的网格定义30,并且网格制备引擎32制备网格并将所制备的网格发送到模拟引擎34。对于格子玻尔兹曼方法,模拟引擎34包括粒子碰撞相互作用模块、粒子边界模型模块和执行平流操作的平流模块。系统10访问存储例如如本文讨论的那样产生的2D和/或3D网格和库的数据存储库38。
如以上提到的,该技术适用于任何需要网格的物理模拟,不限于仅LBM,而且适用于FVM、CFD、E-Mag、结构模拟等。
在模拟引擎中执行模拟之前,将模拟空间建模为体元的集合。通常,使用计算机辅助设计(CAD)程序生成模拟空间。例如,可以使用CAD程序来绘制位于风洞中的设备。此后,处理由CAD程序产生的数据,以添加具有适当分辨率的格子结构并考虑模拟空间内的对象和表面。如以上讨论的,使用CAD绘图生成模拟空间的挑战之一包括处理在CAD生成的几何形状中的空隙空间的识别和操纵二者的问题。
现在参照图2,示出了用于模拟围绕物理对象的表示的流体流的处理。在本文将讨论的示例中,物理对象是催化转化器(catalytic converter)。然而,使用催化转化器仅是说明性的,因为物理对象可以具有任何形状,并且特别地可以具有至少部分地包围区域的(一个或多个)平面的和/或弯曲的表面。处理例如从客户端系统14或者通过从数据存储库38中检索来接收针对正被模拟的物理对象的网格。在其它实施例中,外部系统或服务器12基于用户输入来生成针对正被模拟的物理对象的网格。处理从检索到的网格预计算几何量,并且使用与检索到的网格对应的预计算出的几何量来执行动态格子玻尔兹曼模型模拟。格子玻尔兹曼模型模拟包括粒子分布的演化和粒子平流到LBM网格中的下一个元胞的模拟。
下面将讨论网格构造引擎,网格构造引擎使用计算机辅助设计(CAD)来构造合适质量的CAD绘图。实质上,网格构造引擎32寻求描述流体区域(空隙空间)、通过使用虚拟几何形状来操纵流体区域,并且自动检测空隙空间位于何处。网格构造引擎可以快速地操纵以及描述空隙空间。空隙空间和CAD零件的相对配置出现了三种情形。
第一种情形是参见图5的空隙空间在CAD几何形状内部(例如,排放气体在其中流动的催化转化器内部的空隙空间)的情况。第二种情形是流在CAD零件外部的情况;空隙空间将位于CAD零件的外部并以某种方式被包含。这情形的示例是汽车上方的气流,参见图6A。
第三种情形将是内部流和外部流二者的组合,其中空隙空间将位于CAD零件的内部和外部。在典型的模拟中,存在许多断开的空隙空间区域并要求各区域都是可识别的,参见图5中的R1、R2、R3。例如,在热交换器中,存在空隙空间的两个断开区域。第一个区域是由热流体占据的空间的体积,第二个内部空隙空间将是由冷却剂占据的区域。
为了操纵/限制或控制空隙空间,引擎使用虚拟几何形状。虚拟几何形状有许多益处。例如,通过使用虚拟几何形状,实际的零件几何形状不改变,从而保留了引用特定CAD的所有其它模拟的有效性。另外,可以使用两次点击来执行虚拟零件生产和定向/操作。这减少了操纵空隙空间的周转时间。用户可以选择使用各种虚拟几何形状。示例性的形状包括界定盒或界定平面。
在仅选取了属于空隙空间的一个表面之后,处理自动检测空隙空间。用户选取一个表面,之后,处理寻求自动确定空隙空间位于何处。这种检测方法考虑存在的所有虚拟几何形状。在处理之后,网格被拟合到所考虑的零件。
在产生CAD设计的CAD设计处理之后,CAD设计程序使CAD设计被例示在显示器上。
现在参照图3,示出了流体流识别处理40。用户选取42占据流体区域中的体积因此有助于定义流体区域的范围的零件列表。用户通过从所选择零件之一中选取表面来在所呈现的显示中识别44流体区域。算法选择46表面上的任何点作为初始种子点。用户进行选择48以使系统产生虚拟形状,该虚拟形状将用于穿过所显示的流体区域。虚拟形状的一个示例是界定平面。另一个示例是界定盒。其它虚拟形状是可以的。无论如何,用户使系统产生虚拟形状,例如,界定平面或界定盒。在下面的讨论中将使用界定平面。
一旦系统产生界定平面,用户或系统就可以将界定平面定位在关键位置处,例如沿着CAD零件的对称轴。一旦定位,系统就存储关于虚拟几何形状的可识别信息。在虚拟界定平面的情况下,系统存储界定平面上的点的坐标以及界定平面的法向量。
系统将通过调用图4的处理来开始种子点的自动计算54。一旦从图4的处理返回,系统或者计算有效的内部种子点,或者显示虚拟几何形状、参与的CAD零件和用户选取的初始表面的组合无法评估有效内部点的警告。
系统一旦从图4的处理返回就处于以下的状态:如果用户需要,可以接受额外的虚拟几何形状,以细化/定义流体区域的范围,并且利用它,对先前计算出的所有种子点再次自动重新评估。
现在参照图4,示出了种子点的自动计算处理60。种子点的自动计算通过系统对所考虑的表面执行离散化62而发生。种子点的自动计算在值为“n”的离散化处进行搜索63。系统在样本点内循环64并用所有虚拟界定平面验证所有点65。如果满足虚拟界定平面条件66,则系统保存67该点作为有效种子点并退出。
然而,如果不满足虚拟界定平面条件66,则系统确定68是否已达到预设的最大尝试次数。如果尚未达到最大尝试,则系统通过将离散化递增69例如1的值来传播回后续的搜索尝试。因此,下一次离散化将是针对“2n”的值。
另一方面,如果已达到最大尝试,则系统经由某些选定的算法传播70到下一个表面。例如,处理可以经由当前表面的边缘传播到下一个连接的表面,或者另一个处理可以是通过沿着当前表面绘制法线并找到与该法线相交的下一个表面来传播到下一个表面的处理。也就是说,存在许多表面传播算法,这可以是呈现给用户或者是预先确定的选择。所公开的方法未将处理约束于一个表面,而是移动到另一个表面,这有效取代了要求用户选取所有包络表面的常规技术。替代地,处理找到这些表面,我们只需要给我们“内部”点的一个表面。系统测试72是否存在更多的表面,例如,是否已经检查了表面或者是否访问了所有表面。如果尚未检查所有表面,则系统尝试对下一个表面进行自动种子设定,从而返回到功能特征62。另一方面,如果已经检查了所有表面,则系统退出73,因为不存在有效区域并且不产生种子点。
用户或系统具有包括最大迭代次数和“n”的初始值的参数集。“n”的值根据零件的几何形状和CAD设计而变化。例如,相对复杂的几何形状可以具有比简单几何形状更低的“n”的值。
通过对几何形状进行非常粗略的离散化以找到满足一起的所有虚拟界定平面和/或虚拟盒的第一有效种子点,自动计算处理计算要网格划分的有效区域。如果未找到解,则该处理细化离散化并重复到最大尝试次数。如果什么都没有找到,则平面和盒的设置导致无解。
可以诸如通过脚本或另一应用将存储的关于虚拟几何形状的信息参数化。修改所存储的参数将意味着使虚拟几何形状改变尺寸或重新定向。
现在参照图5,描绘了催化转化器80的部分82。如所示出的,催化转化器80已经通过界定平面84分支。
现在参照图6A和图6B,示出了图形用户界面86(图6B)。在图6A中,用户选择了平面作为边界类型。该选择使已被填充的第二图形用户界面88出现。第二GUI中示出的数字是系统存储的虚拟界定平面的“可识别”信息。界定平面的可识别信息是平面上的点的坐标(在全局轴系中)和平面的法向量(参见图6B)。
在界定盒的情况下,存储对角线相对的角的坐标(参见图6A)。图6A还示出了由系统选择的有效种子点86。
图6B中还示出了如系统向催化转化器的部分82应用的、所选择的边界虚拟界定平面。图6B示出了界定平面的定位,并且界定平面的原点和法线信息被系统存储为关于界定平面的可识别信息。
图7A描绘了其中用户希望使用虚拟界定平面来将流体域限制于导管的其中放置螺旋桨的一部分的用例90。
图7B示出了如何考虑所选择的CAD零件的列表连同所定义的任何虚拟几何形状来评估自动种子点。在图7B中,存在两(2)个沿着催化转化器的对称轴、彼此正交的虚拟界定平面92a、92b。这样的结果是,空隙空间限于催化转化器的左下角。可以看到种子点93处于该象限中,并且最终输出是空隙空间被正确地网格划分(离散化)。在图7B中,使用两(2)个界定平面沿着两(2)个对称平面划分催化转化器80。另外,使用户能够重新定向和重新定位任何虚拟几何形状,并且自动地重新评估自动种子设定。得到的体贴合的六面体为主的网格被产生,并且可以被看到终止于虚拟几何形状。
图8示出了可以操纵空隙空间的简易性。用户重新定向界定平面92a、92b中的一个以提供界定平面92a和92b',并且系统自动地重新计算种子点(如图3和图4中描述的)并产生空隙空间的期望离散化。
在识别了空隙空间后,(一个或多个)CAD绘图将适当的网格应用于CAD绘图,并且它们被用于由模拟引擎34执行的流体流模拟。例如,如在通过引用整体并入本文的标题为“COMPUTER SIMULATION OF PHYSICAL PROCESS”的美国专利申请No.11/463,673(现在公布为美国专利No.7,558,714)中描述的。
可替换地,可以使用诸如计算流体动力学(CFD)模拟(例如,CFD的有限体积法)之类的其它流体流模拟。可以使用任何CFD法。另外,以上技术可以被用于出于其它目的来离散化体积。
在下面图11中讨论的过程中,描述了使用带有识别出的空隙空间的CAD绘图来配置模拟空间的流模拟处理。在诸如图12(微块的透视图)、图13A至图13B(格子结构的例示)、图14和图15(可变分辨率技术的例示)、图16(粒子的移动的例示)和图17(受表面的面元影响的区域的例示)之类的后续附图中,这些图12至图17中的每个被标记为现有技术,因为这些图出现在以上引用的专利中。
然而,在以上专利中出现的图并没有考虑对使用识别出的空隙空间CAD绘图的流模拟进行的任何修改,因为以上引用的专利中并未描述本文描述的空隙识别处理。
模型模拟空间
在基于LBM的物理过程模拟系统中,流体流由在一组离散速率ci处评估的分布函数值fi表示。分布函数的动力学由式I1控制,其中,fi(0)被称为平衡分布函数,被定义为:
该式是众所周知的格子玻尔兹曼方程,其描述了分布函数fi的时间演变。左手侧表示由于所谓的“流传输过程”而导致的分布的变化。流传输过程是当流体囊(pocket offluid)开始于一个网格位置然后沿着多个速度向量之一移动到下一个网格位置的时间。在那时,计算“碰撞因子”,即,附近的流体囊对开始的流体囊的影响。流体只可以移动到另一网格位置,因此必须正确选择速度向量,使得所有速度的所有分量是共同速率的倍数。
第一式的右手侧是以上提到的“碰撞算子”,该碰撞算子表示由于流体囊之间的碰撞而导致的分布函数的变化。碰撞算子的特定形式是Bhatnagar、Gross和Krook(BGK)算子。碰撞算子使分布函数达到由作为“平衡”形式的第二式给出的规定值。
BGK算子是根据以下物理论点构造的:无论碰撞的细节如何,分布函数都经由碰撞接近由{feq(x,v,t)}给出的明确定义的局部平衡:
其中,参数τ表示经由碰撞到平衡的特征弛豫时间。处理粒子(例如,原子或分子)时,通常将弛豫时间取为常数。
通过该模拟,诸如质量ρ和流体速度u之类的常规流体变量作为式(I3)中的简单的求和来获得。
其中,ρ、u和T分别是流体密度、速度和温度,并且D是离散化速度空间的维数(不一定等于物理空间维数)。
由于对称性的考虑,选择速度值的集合使得它们当在配置空间中跨越时形成一定的格子结构。这种离散系统的动力学服从具有以下形式的LBE:
fi(x+ci,t+1)-fi(x,t)=Ci(x,t),
其中,碰撞算子通常采用如上所述的BGK形式。通过对平衡分布形式的适当选择,可以从理论上示出格子玻尔兹曼方程产生了正确的流体动力学和热流体动力学。也就是说,由fi(x,t)推导出的流体动力矩在宏观范围内服从纳维-斯托克斯(Navier-Stokes)方程。这些力矩由上式(I3)定义。
ci和wi的集合值定义LBM模型。LBM模型可以在可扩展计算机平台上高效地实现,并且对于时间不稳定的流以及复杂的边界条件以高鲁棒性运行。
从玻尔兹曼方程获得流体系统的宏观运动方程的标准技术是恰普曼—恩斯科格(Chapman-Enskog)方法,其中采取完整的玻尔兹曼方程的逐次逼近。在流体系统中,密度的小扰动以声速行进。在气体系统中,声速一般由温度确定。流中可压缩性效应的重要性由被称为马赫数(Mach number)的特征速度与声速的比率来测量。
下面提供对基于LBM的模拟系统的一般讨论,该模拟系统可以与以上的间隙填充CAD处理结合使用以进行流体流模拟。为了进一步说明基于LBM的物理过程模拟系统,读者参照以上通过引用并入的美国专利。
参照图9,第一模型(2D-1)200是包括21个速度的二维模型。在这21个速度之中,一个速度(205)表示未在移动的粒子;三组的四个速度表示正在沿着格子的x轴或y轴、在正方向或负方向上以归一化速率(r)(210-213)、归一化速率的两倍(2r)(220-223)或归一化速率的三倍(3r)(230-233)移动的粒子;以及两组的四个速度表示正在相对于x和y格子轴二者以归一化速率(r)(240-243)或归一化速率的两倍(2r)(250-253)移动的粒子。
参照图10,例示了第二模型(3D-1)260,是包括39个速度的三维模型,其中每个速度由图10的箭头之一表示。在这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)。
对于具有37个速度的二维模型2D-2,一个速度表示未在移动的粒子(组1);三组的四个速度表示正在沿着格子的x或y轴在正或负方向上以归一化速率(r)、归一化速率的两倍(2r)或归一化速率的三倍(3r)移动的粒子(组2、组4和组7);两组的四个速度表示正在相对于x和y格子轴二者以归一化速率(r)或归一化速率的两倍(2r)移动的粒子;八个速度表示正在相对于x和y格子轴中的一个轴以归一化速率(r)移动并且相对于另一个轴以归一化速率的两倍(2r)移动的粒子;以及八个速度表示正在相对于x和y格子轴中的一个轴以归一化速率(r)移动并且相对于另一个轴以归一化速率的三倍(3r)移动的粒子。
上述的LBM模型提供了用于在二维和三维二者中针对流的数值模拟的特定类别的高效且鲁棒的离散速度动力学模型。这种模型包括特定组的离散速度和与这些速度相关联的权重。这些速度与速度空间中的笛卡尔坐标的格网点重合,这有助于准确有效地实现离散速度模型,特别是被称为格子玻尔兹曼模型的那种。使用这样的模型,能够以高保真度来模拟流。
参照图11,描述了物理过程模拟系统根据过程270进行操作,以模拟诸如流体流之类的物理过程。在流模拟之前,使用上面讨论的经校正的CAD绘图将模拟空间建模(步骤272)为体元的集合。使用计算机辅助设计(CAD)程序和CAD生成的绘图的间隙校正处理来生成模拟空间。例如,可以使用CAD程序来绘制位于风洞中的微型设备,并且间隙校正处理可以识别重要的间隙并在这些间隙中进行填充,而无需明显的用户干预(除了设置dth和αth的阈值之外)。此后,处理由CAD程序产生的该经校正的数据,以添加具有适当分辨率的格子结构并考虑模拟空间内的对象和表面。
可以基于正被模拟的系统的雷诺数(Reynolds number)来选择格子的分辨率。雷诺数与流的粘度(ν)、流中的对象的特征长度(L)和流的特征速度(u)相关:
Re=uL/v 式(I4)
对象的特征长度表示对象的大尺度特征。例如,如果正在模拟微型设备周围的流,则可以将微型设备的高度视为特征长度。当所关注的是对象的小区域(例如,汽车的侧镜)周围的流时,模拟的分辨率可以增加,或者可以在所关注区域周围采用分辨率增加的区域。体元的尺寸随着格子的分辨率的增加而减小。
状态空间被表示为fi(x,t),其中,fi表示在时间t处由三维向量x表示的格子位点处的处于状态i的每单位体积的元素或粒子的数量(即,处于状态i的粒子的密度)。对于已知的时间增量,粒子的数量被简称为fi(x)。格子位点的所有状态的组合被表示为f(x)。
状态的数量由每个能级内的可能速度向量的数量确定。速度向量由具有三个维度x、y和z的空间中的整数线性速率组成。对于多种类的模拟,状态的数量增加。
每种状态i表示在特定能级(即,能级零、一或二)处的不同速度向量。每种状态的速度ci用其在三个维度中的每个维度上的“速率”指示如下:
ci=(cix,civ,ciz) 式(I5)
能级零状态表示未在任何维度上移动(即,cstopped=(0,0,0))的停止的粒子。能级一状态表示在三个维度中的一个维度上具有±1速率而在其它两个维度上具有零速率的粒子。能级二状态表示在所有三个维度上具有±1速率或者在三个维度中的一个维度上具有±2速率而在其它两个维度上具有零速率的粒子。
生成这三个能级的所有可能排列给出总共39种可能的状态(1种能量零状态、6种能量一状态、8种能量三状态、6种能量四状态、12种能量八状态和6种能量九状态)。
每个体元(即,每个格子位点)由状态向量f(x)表示。状态向量完全定义了体元的状态,并且包括39个条目。这39个条目对应于1种能量零状态、6种能量一状态、8种能量三状态、6种能量四状态、12种能量八状态和6种能量九状态。通过使用该速度集合,系统可以针对所实现的平衡状态向量产生麦克斯韦-玻尔兹曼统计。
为了处理效率,将体元分组成被称为微块的2×2×2体积。微块被组织,以允许并行处理体元并且使与数据结构相关联的开销最小化。微块中体元的速记符号被定义为Ni(n),其中,n表示微块内格子位点的相对位置,并且n∈{0,1,2,...,7}。
在图12中例示了微块。
参照图13A和图13B,表面S(图13A)在模拟空间(图13B)中被表示为面元Fα的集合:
S={Fα} 式(I6)
其中,α是列举特定面元的索引。面元不限于体元边界,但是通常尺寸近似等于或略小于与面元相邻的体元的尺寸,使得面元影响相对少量的体元。出于实现表面动力学的目的,为面元指派特性。特别地,每个面元Fα具有单位法线(nα)、表面积(Aα)、中心位置(xα)和描述了面元的表面动力学特性的面元分布函数(fi(α))。总能量分布函数qi(α)以与面元和体元相互作用的流分布相同的方式进行处理。
参照图14,可以在模拟空间的不同区域中使用不同水平的分辨率,以提高处理效率。通常,对象322周围的区域320是最受关注的,并且因此被以最高分辨率进行模拟。由于粘度的影响随着与对象的距离而减小,因此采用降低的分辨率水平(即,扩展的体元体积)来模拟与对象322间隔增大的距离的区域324、326。
类似地,如图15中例示的,可以使用较低水平的分辨率来模拟对象342的不太重要的特征周围的区域340,而使用最高水平的分辨率来模拟对象342的最重要特征(例如,前表面和后表面)周围的区域344。使用最低水平的分辨率和最大的体元来模拟在外区域346。
C.识别受面元影响的体元
再次参照图11,一旦已经对模拟空间建模(步骤272),就识别受一个或多个面元影响的体元(步骤274)。体元可能以多种方式受到面元的影响。首先,被一个或多个面元相交的体元受到影响是因为该体元相对于未相交的体元具有减小的体积。发生这种情况的原因是,面元以及该面元所表示的表面下方的材料占据体元的一部分。分数因子Pf(x)指示体元的不受面元影响的部分(即,可以被流体或针对其模拟流的其它材料占据的部分)。对于未相交的体元,Pf(x)等于1。
通过将粒子转移到面元或者从面元接收粒子而与一个或多个面元相互作用的体元也被识别为受面元影响的体元。被面元相交的所有体元将包括从面元接收粒子的至少一种状态和将粒子转移到面元的至少一种状态。在大多数情况下,另外的体元也将包括这样的状态。
参照图16,对于具有非零速度向量ci的每种状态i,面元Fα从由平行六面体Giα限定的区域接收粒子或者向其转移粒子,该平行六面体Giα具有由面元的单位法线nα和速度向量ci的向量点积(|cini|)的大小限定的高度以及由面元的表面积Aα限定的底,使得平行六面体Giα的体积Viα等于:
Via=|cina|Aa 式(I7)
面元Fα在状态的速度向量指向面元(|ci ni|<0)时从体积Viα接收粒子,并且在状态的速度向量指向背离面元(|ci ni|>0)时向该区域转移粒子。如下面将讨论的,当另一面元占据平行六面体Giα的一部分时(可能在诸如内角之类的非凸形特征附近发生的状况),必须修改该表达式。
面元Fα的平行六面体Giα可以与多个体元的部分或全部重叠。体元或其部分的数量取决于相对于体元尺寸的面元尺寸、状态的能量以及面元相对于格子结构的取向。受影响的体元的数量随着面元的尺寸而增加。因此,如上所述,面元的尺寸通常被选择为近似等于或小于位于面元附近的体元的尺寸。
体元N(x)的被平行六面体Giα重叠的部分被定义为Viα(x)。使用该项,在体元N(x)和面元Fα之间移动的状态i粒子的通量Γiα(x)等于体元中的状态i粒子的密度(Ni(x))乘以与体元重叠的区域的体积(Viα(x)):
Γ′ia(x)=Ni(x)+Via(x) 式(I8)
当平行六面体Giα被一个或多个面元相交时,以下条件为真:
Via=∑Va(x)+∑Viz(β) 式(I9)
其中,第一求和考虑所有被Giα重叠的体元,并且第二项考虑所有与Giα相交的面元。当平行六面体Giα没有被另一个面元相交时,该表达式简化为:
Via=∑Via(x) 式(I10)
D.执行模拟
一旦识别出受一个或多个面元影响的体元(步骤274),就初始化定时器以开始模拟(步骤276)。在模拟的每个时间增量期间,通过考虑粒子与表面面元的相互作用的平流阶段(步骤278-286)来模拟粒子从体元到体元的移动。接下来,碰撞阶段(步骤288)模拟在每个体元内的粒子的相互作用。此后,定时器递增(步骤200)。如果递增后的定时器未指示模拟完成(步骤202),则重复平流阶段和碰撞阶段(步骤278-200)。如果递增后的定时器指示模拟完成(步骤202),则存储和/或显示模拟的结果(步骤204)。
1.表面的边界条件
为了正确地模拟与表面的相互作用,每个面元必须满足四个边界条件。第一,由面元接收的粒子的组合质量必须等于由面元转移的粒子的组合质量(即,到面元的净质量通量必须等于零)。第二,由面元接收的粒子的组合能量必须等于由面元转移的粒子的组合能量(即,到面元的净能量通量必须等于零)。这两个条件可以通过要求每个能级(即,能级一和二)处的净质量通量等于零来满足。
其它两个边界条件与和面元相互作用的粒子的净动量有关。对于没有表面摩擦的表面(在本文被称为滑面),净切向动量通量必须等于零并且净法向动量通量必须等于面元处的局部压强。因此,组合的接收动量和转移动量的与面元的法线nα垂直的分量(即,切向分量)必须相等,而组合的接收动量和转移动量的与面元的法线nα平行的分量(即,法向分量)之间的差必须等于面元处的局部压强。对于非滑面,表面的摩擦将由面元转移的粒子的组合切向动量相对于由面元接收的粒子的组合切向动量按与摩擦量相关的因子减小。
2.从体元聚集到面元
作为模拟粒子与表面之间的相互作用的第一步,从体元聚集粒子并将粒子提供给面元(步骤278)。如上所述,体元N(x)和面元Fα之间的状态i的粒子的通量为:
Γiα(x)=Ni(x)Viα(x) 式(I11)
由此,对于指向面元Fα(cinα<0)的每种状态i,由体元提供给面元Fα的粒子的数量为:
ΓiαV→F=∑XΓiα(x)=∑XNi(x)Viα(x) 式(I12)
仅必须对Viα(x)具有非零值的体元进行求和。如上所述,选择面元的尺寸,使得仅对于少量体元,Viα(x)具有非零值。因为Viα(x)和Pf(x)可以具有非整数值,所以Γα(x)作为实数被存储并处理。
3.从面元移动到面元
接下来,粒子在面元之间移动(步骤280)。如果针对面元Fα为传入状态(cinα<0)的平行六面体Giα与另一个面元Fβ相交,则由面元Fα接收的状态i的粒子的一部分将来自面元Fβ。特别地,面元Fα将在先前时间增量期间接收由面元Fβ产生的状态i的粒子的一部分。在图19中例示了该关系,其中平行六面体Giα的被面元Fβ相交的部分380等于平行六面体Giβ的被面元Fα相交的部分382。如上所述,相交部分被表示为Viα(β)。使用该项,面元Fβ和面元Fα之间的状态i的粒子的通量可以被描述为:
Γiα(β,t-1)=Γi(β)Viα(β)/Viα 式(I.13)
其中,Γi(β,t-1)是在先前时间增量期间由面元Fβ产生的状态i的粒子的度量。由此,对于指向面元Fα(cinα<0)的每种状态i,由其它面元提供给面元Fα的粒子的数量为:
ΓiαF→F=∑βΓiα(β)=∑βΓi(β,t-1)Viα(β)/Viα 式(I.14)
并且进入面元的状态i的粒子的总通量为:
ΓiIN(α)=ΓiαF→F+ΓiαF→F=∑xNi(x)Viα+∑βΓi(β,t-1)Viα(β)/Viα
式(I.15)
也被称为面元分布函数的面元的状态向量具有与体元状态向量的M个条目对应的M个条目。M是离散格子速率的数量。面元分布函数N(α)的输入状态被设置为等于进入那些状态的粒子的通量除以体积Viα:对于cinα<0,
Ni(α)=ΓiIN(α)/Viα 式(I.16)
面元分布函数是用于生成来自面元的输出通量的模拟工具,并且不一定表示实际的粒子。为了生成准确的输出通量,将值分配给分布函数的其它状态。使用上述用于填充向内状态的技术填充向外状态:对于cinα≥0,
Ni(α)=ΓiOTHER(α)/Viα 式(I.17)
其中,使用上述用于生成ΓiIN(α)的技术来确定ΓiOTHER(α),但向除了传入状态(cinα<0)之外的状态(cinα≥0)应用该技术。在替代方法中,可以使用来自先前时间步骤的ΓiOUT(α)的值来生成ΓiOTHER(α),使得:
ΓiOTHER(α,t)=ΓiOUT(α,t-1)。 式(I.18)
对于平行状态(cinα=0),Viα和Viα(x)二者为零。在Ni(α)的表达式中,Viα(x)出现在分子中(根据ΓiOTHER(α)的表达式,并且Viα出现在分母中(根据针对Ni(α)的表达式)。因此,针对平行状态的Ni(α)被确定为Ni(α)的极限,因为Viα和Viα(x)接近零。在模拟开始时,基于温度和压强的初始条件来初始化具有零速度的状态(即,静止状态和状态(0,0,0,2)和(0,0,0,-2))的值。然后,随时间调整这些值。
4.执行面元表面动力学
接下来,针对每个面元执行表面动力学,以满足以上讨论的四个边界条件(步骤282)。图20中例示了用于执行针对面元的表面动力学的过程。初始地,通过将面元处的粒子的组合动量P(α)确定为下式来确定垂直于面元Fα的组合动量(步骤392):对于所有i,
据此,法向动量Pn(α)被确定为:
On(α)=nα·P(α) 式(I.20)
使用推/拉(pushing/pulling)技术来消除该法向动量(步骤394),以产生Nn-(α)。根据该技术,粒子以仅影响法向动量的方式在状态之间移动。在通过引用并入的美国专利No.5,594,671中描述了推/拉技术。
此后,Nn-(α)的粒子碰撞,以产生玻尔兹曼分布Nn-β(α)(步骤396)。如以下关于执行流体动力学描述的,玻尔兹曼分布可以通过将碰撞规则的集合应用于Nn-(α)来实现。
基于传入通量分布和玻尔兹曼分布来确定面元Fα的传出通量分布(步骤398)。首先,将传入通量分布Γi(α)与玻耳兹曼分布之间的差确定为:
ΔΓi(α)=ΓiIN(α)-Nn-βi(α)Viα 式(I.21)
使用该差,传出通量分布为:对于nαci>0,
ΔΓiOUT(α)=Γn-βi(α)Viα-.Δ.Γi*(α) 式(I.22)
并且其中,i*是具有与状态i相反的方向的状态。例如,如果状态i为(1,1,0,0),则状态i*为(-1,-1,0,0)。考虑到表面摩擦和其它因素,传出通量分布可以被进一步精简为:对于nαci>0,
ΓiOUT(α)=Nn-Bi(α)Viα-ΔΓi*(α)+
Cf(nα·ci)-[Nn-βi*(α)-Nn-βi(α)]Viα+
(nα·ci)(t1α·ci)ΔNj,1Viα+
(nα·ci)(t2α·ci)ΔNj,2Viα 式(I.23)
其中,Cf是表面摩擦的函数,tiα是垂直于nα的第一切向向量,t2α是与nα和t1α二者垂直的第二切向向量,并且ΔNj,1和ΔNj,2是与状态i的能量(j)和所指示的切向向量对应的分布函数。根据下式来确定分布函数:
其中,对于能级1状态,j等于1,而对于能级2状态,j等于2。
针对ΓiOUT(α)的式子的各项的功能如下。第一项和第二项强制执行法向动量通量边界条件,使得碰撞有效地产生玻尔兹曼分布,但包括切向动量通量异常。第四项和第五项校正该异常,该异常可以是由于离散效应或因不充分碰撞而导致的非玻尔兹曼结构引起的。最后,第三项增加了指定量的表面摩擦,以在表面上的切向动量通量中强制执行期望改变。以下描述了摩擦系数Cf的产生。注意的是,所有涉及向量操纵的项都是可以在开始模拟之前被计算的几何形状因子。
由此,切向速度被确定为:
ui (α)=(P(α)-Pn (α)nα)/ρ, 式(I.25)
其中,ρ是面元分布的密度:
如前,传入通量分布与玻耳兹曼分布之间的差被确定为:
ΔΓi(α)=ΓiIN(α)-Nn-βi(α)Viα 式(I.27)
然后,传出通量分布变为:
ΓiOUT(α)=Nn-βi(α)Viα-ΔΓi*(α)+Cf(nαCi)[Nn-βi*(α)-Nn-βi(α)]Viα,
式(I.28)
该等式对应于由先前技术确定的传出通量分布的前两行,但不需要校正异常切向通量。
使用任一种方法,所得到的通量分布都满足所有动量通量条件,即:
其中,pα是面元Fα处的平衡压强,并且基于向面元提供粒子的体元的平均密度和温度值,而uα是面元处的平均速度。
为了确保满足质量和能量边界条件,对于每个能级j,测量输入能量与输出能量之间的差为:
其中,索引j表示状态i的能量。然后,使用该能量差来生成差值项:对于cjinα>0,
使用该差值项来改变传出通量,使得通量变为:对于cjinα>0,
ΓαjiOUTf=ΓαjiOUT+δΓαji 式(I.32)
该操作校正质量和能量通量,同时使切向动量通量保持不变。如果流在面元附近近似均匀并接近平衡,则该调整小。在调整之后,所得到的法向动量通量被略微更改为作为基于邻近平均性质的平衡压强加上由于邻近的非均匀性质或非平衡性质导致的校正的值。
5.从体元移动到体元
再次参照图11,粒子沿着三维直线格子在体元之间移动(步骤284)。该体元到体元的移动是仅对不与面元相互作用的体元(即,不位于表面附近的体元)执行的移动操作。在典型的模拟中,未定位成足够靠近表面以与表面相互作用的体元构成了大多数体元。
单独状态中的每一种表示以在三个维度x、y和z中的每个维度上的整数速率沿着格子移动的粒子。整数速率包括:0、±1和±2。速率的符号指示粒子正在沿着对应轴移动的方向。
对于不与表面相互作用的体元,移动操作在计算上十分简单。在每个时间增量期间,状态的整个填充从其当前体元移动到其目的地体元。同时,该目的地体元的粒子从该体元移动到其自己的目的地体元。例如,正在+1x和+1y方向上移动的能级1粒子(1,0,0)从其当前体元移动到在x方向上为+1而对于其它方向为0的体元。粒子以与它在移动之前具有的状态相同的状态(1,0,0)在其目的地体元处结束。体元内的相互作用将有可能基于与其它粒子和表面的局部相互作用而改变该状态的粒子计数。如若不然,粒子将继续以相同的速率和方向沿着格子移动。
对于与一个或多个表面相互作用的体元,移动操作变得稍微更复杂。这可以导致一个或多个分数(fractional)粒子被转移到面元。这种分数粒子到面元的转移导致保留在体元中的分数粒子。这些分数粒子被转移到由面元占据的体元。
参照图17,当体元362的状态i的粒子的部分360移动到面元364(步骤278)时,其余部分366移动到体元368,其中面元364位于体元368中,并且来自体元368的状态i的粒子被引导到面元364。因此,如果状态填充等于25并且Viα(x)等于0.25(即,体元中的四分之一与平行六面体Giα相交),则6.25个粒子将移动到面元Fα并且18.75个粒子将移动到由面元Fα占据的体元。因为多个面元可以与单个体元相交,所以转移到被一个或多个面元占据的体元N(f)的状态i的粒子的数量为:
其中,N(x)是源体元。
6.从面元分散到体元
接下来,来自每个面元的传出粒子被分散到体元(步骤286)。本质上,该步骤是粒子从体元移动到面元的聚集步骤的相反步骤。从面元Fα移动到体元N(x)的状态i的粒子的数量为:
其中,Pf(x)说明了部分体元的体积减小。由此,对于每种状态i,从面元引导到体元N(x)的粒子的总数量为:
在将粒子从面元分散到体元之后,将它们与从周围体元平流进来的粒子组合并将结果整数化,可能的是某些体元中的某些方向可以或者下溢(变为负的)或者上溢(在八位实现方式中,超过255)。这将导致质量、动量和能量在这些量被截断以适合值的允许范围之后出现增益或损失。为了防止这样的情况发生,出界的质量、动量和能量在违规状态的截断之前被累积。对于状态所属的能量,将与增益(由于下溢)或损失(由于上溢)的值相等的质量的量添加回到具有相同能量并且本身并没有经历上溢或下溢的随机(或顺序)选择的状态。由质量和能量的这种添加而得到的附加的动量被累积并添加到截断的动量。通过仅将质量添加到相同的能量状态,在质量计数器达到零时对质量和能量二者进行了校正。最后,使用推/拉技术来校正动量,直到动量累积器返回零。
7.执行流体动力学
执行流体动力学(步骤288)图11。该步骤可以被称为微动力学或体元内操作。类似地,平流过程可以被称为体元间操作。下述的微动力学操作也可以被用于在面元处碰撞粒子以产生玻尔兹曼分布。
通过被称为BGK碰撞模型的特定碰撞算子来在格子玻尔兹曼方程模型中确保流体动力学。该碰撞模型模拟了真实流体系统中的分布的动力学。可以通过式1和式2的右手侧很好地描述碰撞过程。在平流步骤之后,使用式3从分布函数获得流体系统的守恒量,具体是密度、动量和能量。根据这些量,由式(4)充分指定由式(2)中的feq表示的平衡分布函数。速度向量集ci的选择、权重二者在表1中列出,与式2一起确保了宏观行为服从正确的流体动力学方程。
可变分辨率
可变分辨率(如在US 2013/0151221 A1中讨论的)也可以被采用,并且将使用不同尺寸的体元(例如,粗体元和细体元)。
通过利用独特的、基于瞬态的格子玻尔兹曼的物理学,该系统可以执行准确预测现实状况的模拟。例如,当改变的影响对于设计和预算而言最重要时,工程师在构建任何原型之前在设计过程的早期评估产品性能。系统可以使用CAD几何形状来准确且高效地执行空气动力学、空气声学和热管理模拟。系统可以执行模拟,以应对诸如以下的应用:空气动力学(空气动力学效率;车辆操纵;污物和水管理;面板变形;驾驶动力学)、空气声学(温室风噪声;底盘风噪声;缝隙/密封噪声;镜、笛和音调噪声;天窗和窗户抖振;经过/外界噪声;冷却风扇噪音)、热管理(冷却气流;热保护;制动器冷却;驾驶周期模拟;钥匙关闭(key-off)和浸没(soak);电子器件和电池冷却;ROA/进气口)、气候控制(厢室舒适度;HVAC单元&配电系统性能;HVAC系统和风扇噪声;除霜和除雾)、动力系统:(传动系统冷却;排气系统;冷却套管;引擎组)、污物和水管理(支柱溢出、污垢和灰尘累积、轮胎喷雾)。
本说明书中描述的主题和功能操作的实施例可以用数字电子电路、有形实施的计算机软件或固件、计算机硬件(包括本说明书中公开的结构及其结构等同物)或它们中的一个或多个的组合来实现。本说明书中描述的主题的实施例可以被实现为一个或多个计算机程序(即,在有形的非暂态程序载体上编码以供数据处理装置执行或者用于控制数据处理装置的操作的计算机程序指令的一个或多个模块)。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备或它们中的一个或多个的组合。
术语“数据处理装置”是指数据处理硬件,并且涵盖所有种类的用于处理数据的装置、设备和机器,包括(举例来说)可编程处理器、计算机或者多个处理器或计算机。装置还可以是或者进一步包括专用逻辑电路系统(例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路))。除了硬件之外,装置还可以可选地包括产生计算机程序的执行环境的代码(例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或多个的组合的代码)。
可以用任何形式的编程语言(包括编译或解释语言或者说明性或程序性语言)来编写计算机程序(也可以被称为或描述为程序、软件、软件应用、模块、软件模块、脚本或代码),并且可以按任何形式来部署计算机程序,包括将其部署为独立程序或部署为模块、部件、子例程或适于在计算环境中使用的另一单元。计算机程序可以但不需要对应于文件系统中的文件。程序可以被存储在保持其它程序或数据的文件的一部分中(例如,存储在标记语言文档中、在专用于所讨论程序的单个文件中或者在多个协调文件(例如,存储一个或多个模块、子程序或代码的部分的文件)中的一个或多个脚本)。可以部署计算机程序,使得程序在一个计算机上或者在位于一个位点处或跨多个位点分布并通过数据通信网络互连的多个计算机上执行。
适于执行计算机程序的计算机可以是基于通用或专用微处理器或这二者或者任何其它种类的中央处理单元。适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性介质上存储器和存储器设备,包括(举例来说)半导体存储器设备(例如,EPROM、EEPROM和闪存存储器设备)、磁盘(例如,内部硬盘或可移动盘)、磁光盘以及CDROM和DVD-ROM盘。处理器和存储器可由专用逻辑电路系统补充或被包含在专用逻辑电路系统中。
本说明书中描述的主题的实施例可以在包括后端部件的计算系统(例如,作为数据服务器)或包括中间件部件的计算系统(例如,应用服务器)或包括前端部件的计算系统(例如,具有用户可以通过其与本说明书中描述的主题的实现方式交互的图形用户界面或网络浏览器的客户端计算机)或者一个或多个这样的后端部件、中间件部件或前端部件的任何组合的计算系统中实现。该系统的部件可以通过数字数据通信的任何形式或介质(例如,通信网络)互连。通信网络的示例包括局域网(LAN)和广域网(WAN)(例如,互联网)。
计算系统可以包括客户端和服务器。客户端和服务器常常彼此远离并且通常通过通信网络进行交互。客户端和服务器的关系是凭借在相应计算机上运行并且彼此具有客户端-服务器关系的计算机程序引起的。在一些实施例中,服务器将数据(例如,HTML页面)发送到充当客户端的用户设备(例如,出于向与用户设备交互的用户显示数据并且从用户接收用户输入的目的)。可以在服务器处从用户设备接收在用户设备处生成的数据(例如,用户交互的结果)。
已经描述了主题的特定实施例。其它实施例在所附权利要求的范围内。例如,权利要求中记载的动作可以按不同次序执行,并且仍然实现期望的结果。作为一个示例,附图中描绘的处理不必需要所示出的特定次序或顺序的次序来实现期望的结果。在一些情况下,多任务和并行处理可以是有利的。
Claims (20)
1.一种计算机实现的方法,包括:
选择计算机辅助设计(CAD)的单个表面作为与将被离散化成网格的空隙空间共享边界的表面;
产生定位在空隙区域内或围绕该空隙区域的虚拟几何形状物品,以定义要被离散化的体积;以及
通过以离散化因子对CAD生成的几何形状离散化,在所定义的体积内传播网格,以在所述CAD生成的几何形状内找到满足一起的所有虚拟几何形状的第一有效种子点。
2.根据权利要求1所述的方法,其中,当在所述CAD生成的几何形状内未找到满足一起的所有界定平面的有效点时,所述方法还包括:
通过递增所述离散化因子来细化所述离散化;以及
进行重复直至找到有效种子点。
3.根据权利要求1所述的方法,还包括:
识别在其中应用网格的计算机辅助设计(CAD)生成的几何形状中的空隙区域。
4.根据权利要求1所述的计算机实现的方法,还包括:
存储定义和定位与CAD零件相关的虚拟几何形状的信息;以及
对所存储的信息进行参数化,以修改虚拟几何形状的尺寸或定向。
5.根据权利要求1所述的计算机实现的方法,其中,所述虚拟几何形状物品是平面。
6.根据权利要求1所述的计算机实现的方法,其中,所述虚拟几何形状物品是盒。
7.根据权利要求1所述的计算机实现的方法,其中,所述方法执行所述体积的离散化。
8.根据权利要求1所述的计算机实现的方法,还包括:
对所述体积执行计算流体动力学模拟。
9.一种系统,包括:
一个或多个处理设备;
存储器,可操作地耦接到所述一个或多个处理设备;以及
一个或多个存储设备,其存储指令,所述指令在由所述一个或多个处理设备执行时可操作,以将所述系统配置为:
选择计算机辅助设计(CAD)的单个表面作为与将被离散化的空隙空间共享边界的表面;
产生定位在空隙区域内或围绕该空隙区域的虚拟几何形状物品,以定义要被离散化的体积;以及
通过以离散化因子对CAD生成的几何形状离散化,在所定义的体积内传播网格,以在所述CAD生成的几何形状内找到满足一起的所有虚拟几何形状的第一有效种子点。
10.根据权利要求9所述的系统,其中,当在所述CAD生成的几何形状内未找到满足一起的所有界定平面的有效点时,所述系统还包括用于进行以下操作的指令:
通过递增所述离散化因子来细化所述离散化;以及
进行重复直至找到有效种子点。
11.根据权利要求9所述的系统,还包括用于进行以下操作的指令:
识别在其中应用网格的计算机辅助设计(CAD)生成的几何形状中的空隙区域;当没有找到内部点时,
传播到与所述空隙空间共享边界的下一个表面,并进行重复直至找到有效的内部点。
12.根据权利要求9所述的系统,还包括用于进行以下操作的指令:
存储定义和定位与CAD零件相关的虚拟几何形状的信息。
13.根据权利要求9所述的系统,其中,所述虚拟几何形状物品是平面。
14.根据权利要求9所述的系统,其中,所述虚拟几何形状物品是盒。
15.根据权利要求9所述的系统,还包括用于进行以下操作的指令:
对所述体积执行离散化。
16.根据权利要求9所述的系统,还包括用于进行以下操作的指令:
对所述体积执行计算流体动力学模拟。
17.一种计算机程序产品,有形地存储在非暂态硬件存储设备上,用于识别计算机辅助设计图中的间隙,所述计算机程序产品包括指令,所述指令当由系统执行时可操作以使所述系统:
选择计算机辅助设计(CAD)的单个表面作为与将被离散化的空隙空间共享边界的表面;
产生定位在空隙区域内或围绕该空隙区域的虚拟几何形状物品,以定义要被离散化的体积;以及
通过以离散化因子对CAD生成的几何形状离散化,在所定义的体积内传播网格,以在所述CAD生成的几何形状内找到满足一起的所有虚拟几何形状的第一有效种子点。
18.根据权利要求17所述的产品,其中,当在所述CAD生成的几何形状内未找到满足一起的所有界定平面的有效点时,所述系统还包括用于进行以下操作的指令:
通过递增所述离散化因子来细化所述离散化;以及
进行重复直至找到有效种子点。
19.根据权利要求17所述的产品,还包括用于进行以下操作的指令:
识别在其中应用网格的计算机辅助设计(CAD)生成的几何形状中的空隙区域。
20.根据权利要求17所述的系统,还包括用于进行以下操作的指令:
存储定义和定位与CAD零件相关的虚拟几何形状的信息。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/874,977 | 2020-05-15 | ||
US16/874,977 US11615218B2 (en) | 2020-05-15 | 2020-05-15 | Mesh void space identification and auto seeding detection in computer added design defined geometries |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113673177A true CN113673177A (zh) | 2021-11-19 |
CN113673177B CN113673177B (zh) | 2024-04-09 |
Family
ID=75977582
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110528667.9A Active CN113673177B (zh) | 2020-05-15 | 2021-05-14 | 网格空隙空间识别和自动种子设定检测 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11615218B2 (zh) |
EP (1) | EP3910520A1 (zh) |
JP (1) | JP2021179992A (zh) |
CN (1) | CN113673177B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115659443B (zh) * | 2022-12-29 | 2023-06-27 | 摩尔线程智能科技(北京)有限责任公司 | 几何形状流数据处理方法和装置、计算设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1869993A (zh) * | 2005-04-08 | 2006-11-29 | 达索系统公司 | 具有若干面的模型化对象的计算机辅助设计方法 |
CN107884754A (zh) * | 2017-11-06 | 2018-04-06 | 电子科技大学 | 雷达散射面有效面积检测装置与方法 |
US20190134915A1 (en) * | 2017-11-09 | 2019-05-09 | Dassault Systemes | Additive manufacturing of a 3d part |
CN110852003A (zh) * | 2018-07-30 | 2020-02-28 | 达索系统西姆利亚公司 | 计算机辅助设计定义的几何形状中的对象间的间隙的检测 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH027173A (ja) | 1988-06-27 | 1990-01-11 | Fujitsu Ltd | 透き間算出方式 |
US5377129A (en) | 1990-07-12 | 1994-12-27 | Massachusetts Institute Of Technology | Particle interaction processing system |
US6256038B1 (en) * | 1998-12-10 | 2001-07-03 | The Board Of Trustees Of The Leland Stanford Junior University | Parameterized surface fitting technique having independent control of fitting and parameterization |
US20040174362A1 (en) | 2003-02-11 | 2004-09-09 | George Celniker | Deformable healer for removing CAD database connectivity gaps from free-form curves and surfaces |
US7558714B2 (en) | 2006-08-10 | 2009-07-07 | Exa Corporation | Computer simulation of physical processes |
WO2008091583A2 (en) | 2007-01-23 | 2008-07-31 | Dtherapeutics, Llc | Image-based extraction for vascular trees |
US8531463B2 (en) * | 2009-08-10 | 2013-09-10 | Dem Solutions Limited | Method and apparatus for discrete element modeling with a virtual geometry object |
JP2012033064A (ja) | 2010-07-30 | 2012-02-16 | Canon Inc | 情報処理装置および情報処理方法 |
US10360324B2 (en) | 2011-12-09 | 2019-07-23 | Dassault Systemes Simulia Corp. | Computer simulation of physical processes |
AU2015338996B2 (en) | 2014-10-31 | 2018-03-22 | Exxonmobil Upstream Research Company | Managing discontinuities in geologic models |
US9920429B2 (en) | 2014-12-01 | 2018-03-20 | Raytheon Company | Method for manufacturing polymer-metal composite structural component |
US10303825B2 (en) * | 2015-12-28 | 2019-05-28 | Dassault Systemes Simulia Corp. | Convergence estimation of non-linear PDE and linear solvers |
-
2020
- 2020-05-15 US US16/874,977 patent/US11615218B2/en active Active
-
2021
- 2021-05-14 JP JP2021082245A patent/JP2021179992A/ja active Pending
- 2021-05-14 EP EP21173809.1A patent/EP3910520A1/en active Pending
- 2021-05-14 CN CN202110528667.9A patent/CN113673177B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1869993A (zh) * | 2005-04-08 | 2006-11-29 | 达索系统公司 | 具有若干面的模型化对象的计算机辅助设计方法 |
CN107884754A (zh) * | 2017-11-06 | 2018-04-06 | 电子科技大学 | 雷达散射面有效面积检测装置与方法 |
US20190134915A1 (en) * | 2017-11-09 | 2019-05-09 | Dassault Systemes | Additive manufacturing of a 3d part |
CN110852003A (zh) * | 2018-07-30 | 2020-02-28 | 达索系统西姆利亚公司 | 计算机辅助设计定义的几何形状中的对象间的间隙的检测 |
Non-Patent Citations (1)
Title |
---|
GUNNAR JANSEN 等: "HULK – Simple and fast generation of structured hexahedral meshes for improved subsurface simulations", COMPUTERS & GEOSCIENCES, vol. 99, pages 159 - 170, XP029870970, DOI: 10.1016/j.cageo.2016.11.011 * |
Also Published As
Publication number | Publication date |
---|---|
CN113673177B (zh) | 2024-04-09 |
US20210357541A1 (en) | 2021-11-18 |
US11615218B2 (en) | 2023-03-28 |
EP3910520A1 (en) | 2021-11-17 |
JP2021179992A (ja) | 2021-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2853625C (en) | Computer simulation of physical processes | |
US11334691B2 (en) | Detection of gaps between objects in computer added design defined geometries | |
US11645433B2 (en) | Computer simulation of physical fluids on irregular spatial grids stabilized for explicit numerical diffusion problems | |
EP3695333B1 (en) | Acoustic effects of a mesh on a fluid flow | |
US9542506B2 (en) | Computer simulation of physical processes including modeling of laminar-to-turbulent transition | |
EP3816842A1 (en) | Computer system for simulating physical process using lattice boltzmann based scalar transport enforcing galilean invariance for scalar transport | |
US11763048B2 (en) | Computer simulation of physical fluids on a mesh in an arbitrary coordinate system | |
US20170124232A1 (en) | Lattice Boltzmann Collision Operators Enforcing Isotropy and Galilean Invariance | |
CN110837685A (zh) | 提高稳定显式扩散的性能和准确性 | |
US10262087B2 (en) | Data processing method for including the effect of the tortuosity on the acoustic behavior of a fluid in a porous medium | |
US11847391B2 (en) | Computer system for simulating physical processes using surface algorithm | |
US20190258764A1 (en) | Lattice Boltzmann Based Solver for High Speed Flows | |
US20210117597A1 (en) | Method and Apparatus for Automatic Underhood Thermal Modeling | |
CN113673177B (zh) | 网格空隙空间识别和自动种子设定检测 | |
US20200285709A1 (en) | Turbulent Boundary Layer Modeling via Incorporation of Pressure Gradient Directional Effect | |
JP7402125B2 (ja) | 陽的数値拡散問題を安定化させる不規則空間グリッドによる物理流体のコンピュータシミュレーション |
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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20240320 Address after: Massachusetts USA Applicant after: Dassault Systemes Americas Corp. Country or region after: U.S.A. Address before: Rhode Island USA Applicant before: Dassault Systemes Simulia Corp. Country or region before: U.S.A. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |