CAD 嵌入式 CFD 的数值基础(一)
从前面的文章中,各位都了解到SOLIDWORKS不仅仅是CAD三维建模,它是一个CAD/CAE/PDM为一体的研发设计平台,提供行业中研发生产领域所涉及到的整体解决方案。而流体解决方案产品SOLIDWORKS Flow Simulation是一款被称为并行CFD的新型CFD(计算流体力学)分析软件,与传统的单一流体分析软件如Fluent不同,它完全嵌入CAD机械设计环境中,适用于所有普通工程应用。因此很多人觉得该产品不靠谱,没有权威性,低级等等。其实该软件开发跟其他专业分析软件一样,都有着相应的数值分析理论作为支撑。本文引用Sobachkin博士、Dumnov博士(Mentor GraphicsCorporation,机械分析部,俄罗斯)、Sobachkin博士工程经理撰写的相关文章,来给大家分享一下CAD嵌入式CFD的数值基础。
1.引文
在现代设计实践中,产品生命周期管理(PLM)理念被众多行业的工程师广泛用作整个产品生命周期内以及所有设计变更期间持续使用和维护3D制造产品数据的方式。PLM理念的基础是作为机械CAD系统中心元素的高质量、完整、详细和精确的3D产品模型数据的可用性。3D产品模型数据因此成为如今所有虚拟原型和物理仿真的基础和起点。在这样的CAD嵌入式环境中使用计算流体力学(CFD)流体仿真显然极具吸引力,因为在设计复杂度和对外部开发合作伙伴的依赖性不断增加的背景下,它不仅可以加快设计流程,还可以使这些流程更加可预测和可靠。需要说明一下,所有的主要CAD系统都已经被创建,并作为设计工具进行了优化。只是后来才认识到需要提供嵌入式CAE(特别是CFD)。此外,CAE和CFD工具具有较长的历史,在此期间已针对其各自的任务对其进行了优化。因此,在某一阶段,CFD继续独立开发是合乎逻辑的,并且与CAD的交互受到简单数据交换的限制。不过,从设计中使用CFD的角度来看,以及所有PLM路线图的要求来看,将CFD充分嵌入到CAD中的需求变得越来越迫切。
所有CFD软件都包括纳维-斯托克斯(Navier-Stokes)方程、湍流模型和物理现象模型的表示。自20世纪80年代早期以来,CFD软件的复杂性日益增加,特别是在物理建模方面,但对处理几何复杂性的关注不多。与此同时,机械CAD系统已成为大多数工业部门中产品创建流程的主干,能够相对容易地构造非常复杂的几何体。1999年,SOLIDWORKS推出了第一版FloWorks,首次在MCAD系统内提供CFD仿真功能,在CFD流程的起点无需修改就直接使用原始CAD几何体。自那时起,出现了大量CAD嵌入式和与CAD关联的工具。这些工具采用了与传统CFD不同的数值技术,包括网格生成、差分方式和壁处理等,但是其内部工作原理公开得不多。
SOLIDWORKS Flow Simulation的方法基于2个主要原则:
•将原始CAD直接用作几何体信息的来源;
•在网格分辨率不足以应对完整的3D仿真时,将完整的3D CFD建模与更简单的工程方法
相结合。
在CAD系统(SOLIDWORKS)内运行的SOLIDWORKS Flow Simulation包括大量技术:
•CAD数据管理;
•网格生成;
•CFD解算器;
•工程建模技术;
•结果处理
图1 CFD技术应用
2.SOLIDWORKS Flow Simula tio n边界处理
CAD描述了实体模型,而CFD主要关注流动空间(求解域减去实体模型)。在历史上,对于传统CFD软件,流体空间是在CAD系统内通过实体模型的布尔减创建的,而该反转的实体被传递到CFD工具进行网格化。传统CFD中的网格生成器通常是基于贴体算法。关于网格几何体基本类型的详细综述在多个出版物中有介绍(例如,Weatherill & Hassan,1994、Filipiak,1996和Parry& Tatchell,2008)。这些著作指出,贴体网格已被广泛用于解决工业问题。因此对于复杂的几何体一般使用非结构化网格,非结构化网格是通过构建不规则分布的节点形成的(参见图1)。在被网格化的几何体复杂度较低的情况下,通常可能会使用结构化网格(参见图2),并且这两种网格化策略可以结合起来,在一些子区域(如靠近壁)中使用结构化网格,而其他位置则使用非结构化网格(参见图3)。这些网格可称为部分结构化或部分非结构化。最初开发的CAD系统仅考虑了设计,未考虑数值仿真。贴体网格的特征是对CAD几何体的质量高度敏感(出于仿真目的,对设计并无必要)。通常从实体曲面的节点生成开始生成该类网格。然后通过Delaunay三角剖分对曲面进行网格化。之后,根据曲面三角剖分生成空间网格。通常,具有四面体单元的网格符合Delaunay准则(如,Delaunay,1934、Lawson,1977、Watson 1981、Baker,1989和Weatherill & Hassan,1994)。在很多情况下,曲面表示中的缺陷需要用户干预来解决歧义性问题,以修复CAD几何体中的缺陷。此外,在一些情况下,曲面的过度细化会导致小三角形的数量过多。这会发生在对流体仿真不那么重要的一些区域,因为针对一些几何特征(小半径、小尖端、材料接合处等)的网格化算法需要用户采取补救措施。
图2 几个网格边界处理图解
替代方法是使用浸润体网格,如图2所示。在该方法中,网格创建开始时与几何体本身无关,单元可以与实体和流体之间的边界任意相交。这使得其可以使用笛卡尔网格,该网格在通常情况下无法贴体。此网格可被定义为一组相互邻接并与计算域的外边界相邻、沿笛卡尔坐标定位的立方体(矩形单元)。与曲面相交的立方体(剪切单元)根据曲面定义的边界条件采用特殊方式处理,将在稍后说明。有必要指出的是,可对四面体和其他类型的单元采取浸润体网格方法(请参见Löhner等,2004),但在逼近精度和易于实施方面,更倾向于采用笛卡尔网格。笛卡尔网格的优势总结如下:
•网格生成算法的简单性、速度和可靠性,特别是在处理原始CAD数据时;
•局部截断误差最少;
•微分方法的可靠性。
SOLIDWORKS Flow Simulation技术是基于笛卡尔网格的使用,并且网格化技术是用于CAD嵌入式CFD的CAD/CFD桥接的关键元素之一。由于使用笛卡尔网格,我们拥有完全位于实体(实体单元)中的单元、完全位于流体(流体单元)中的单元、以及与浸润边界相交的单元(我们称之为“局部单元”)。在最简单的情况下,局部单元包含2个控制体(CV):一个流体CV和一个实体CV(参见图3)。
图3 最简单情况下的局部单元,内部含有2个控制体(CV)
每个CV为完全的实体或完全的流体。对于每个CV,计算所有必要的几何参数,如单元中心的数量和坐标。计算包围CV的面片的面积和法线向量方向。所有这些数据均从原始CAD模型中直接取得。此外,直接使用原始CAD模型允许指定局部单元内几何体的所有方面(例如实体边)——参见图4。在这里,CAD/CFD桥接技术考虑了实体边上的C1 C2点,以便在网格表示中描述2个面:A1-C1-C2-A2和B1-C1-C2-B2,它们与CAD模型中的2个面精确对应。
图4 局部单元(右)中的CAD几何体表示(左),一个单元内含有2个面和实体边
该技术允许对几何体特征进行良好求解,即使是在相对粗糙的网格中(参见图5)。
图5在局部单元内实体边线有解的CAD几何体网格表示
在一个单元内,可能有任意数量的CV:如果是一个薄壁则为3个或更多,在薄实心壁情况下具有3个控制体(流体-实体-流体)的局部单元,以及在内有5层不同材料属性的薄实心壁情况下具有7个控制体的局部单元,如图6所示。
图6 薄实心壁的局部单元
多层CV不仅对流体建模、也对热传递现象至关重要,包括实体内的接触阻力和焦耳热计算(完全
耦合的多物理学应用)。在每个单元内,实体和流体CV可多次交替出现,如图7所示。。
图7 局部单元的多个控制体(实体-流体-实体-流体-..等)
网格生成是从将矩形计算域划分成一组由与坐标轴平行的平面所围成的矩形单元(立方体)开
始的。使用为每个实体定义的各种适应性标准(曲率、窄道、细小特征等)可以细化网格(将
每个立方体分割成8个几何形状相似的立方体),此外还可根据求解中的梯度自动细化网格。
图8 细化后的SOLIDWORKS Flow Simulation网格
由于细化,形成了具有不同细化程度的单元,重要的是应注意EFD技术中相邻单元细化程度的
差异不得大于1,如图11所示。这些细化步骤对于解决一些CAD几何体特征(如具有小曲率、细小特征和窄道等的曲面)来说至关重要。此外,使用该网格生成技术可以实现高效而可靠的自动网格化工具。所需的输入数据仅为几何物体的尺寸(可从CAD中自动取得)、要求解的最小特征的尺寸以及一些有关格细化,旨在更好的调整网格以适应求解中的奇异性,如冲击波。