摘 要:提出了一种基于CAD参数化技术与CAD/CAE一体化技术的参数化动态有限元建模方法,该方法解决了三维实体有限元建模中几何模型的描述与驱动、参数联动、模型自动更新等一系列问题,为先进的参数化有限元分析与优化设计提供了关键技术基础;阐述了三维参数化动态有限元建模方法中的若干关键技术,包括具有典型意义的基于AutoCAD/MDT二次开发环境ObjectARX的CAD/CAE集成方法、复杂三维组合曲面网格全自动生成算法、复杂三维实体的四面体网格全自动生成算法、面向对象的有限元模型描述方法,以及有限元模型的参数驱动方法等;建立了一个三维参数化形状优化设计应用原型系统。
关键词:计算机辅助设计;参数化;有限元;网格生成;形状优化
0 引言
计算机辅助工程(CAE)分析是以有限元法为基础,并首先从计算结构力学和计算固体力学领域发展起来的一种十分有效的计算机数值仿真与优化设计技术。它对于提高产品设计水平和质量、降低生产成本和材料消耗、提高产品性能和寿命、缩短设计周期等都具有重要的指导意义和实际应用价值。有限元建模是有限元分析所必须的数据前置处理过程,也是有限元方法在实际应用中的主要困难。经验表明,有限元建模在整个有限元分析工作量中占70%~80%左右,因此,如何快速、准确、高质量地进行自动化的有限元建模,一直是计算固体力学的重要研究方向。目前,有限元模型描述方法一般为静态的或准动态的,不能很好地适应现代产品设计的动态特性,如修改与重分析的要求,严重地削弱了设计的自动化程度和设计效率的提高。特别是在结构形状优化设计领域,已有的各种建模方法,对于三维实体结构都十分困难,以至于无法实际应用。
CAD作为现代设计制造技术的核心技术,在近十年里取得了许多突破性进展,参数化设计成为CAD软件的一大发展方向。例如,Pro/Engineering,AutoCAD/MDT,UG,CATIA等,均是基于参数化设计技术的三维造型软件。参数化设计改变了传统CAD系统的设计模式,提出了特征造型和尺寸驱动的设计概念,极大地方便了模型的设计和修改,显著提高了产品设计的效率和质量。所谓尺寸驱动,就是通过改变模型的几何尺寸参数值,来改变模型的几何形状。这些几何尺寸将以设计参数的形式保存在造型系统中,并生存于模型设计的全过程。造型系统中的设计参数不仅为设计对象的几何特征提供了精确的数值描述,更重要的是,它为设计师提供了一种模型控制的手段,在这一点上,它与形状优化中的设计变量是一致的。由此,参数化设计技术为参数化有限元建模及三维参数化优化技术提供了可能性。
本文提出的参数化动态有限元建模方法,就是基于CAD参数化技术,将有限元模型,包括有限元网格以及荷载和边界条件等有限元属性数据,建立在参数化的描述和自动更新之上,解决三维实体有限元建模中几何模型描述、参数联动和模型自动更新等一系列问题,从而为先进的参数化有限元分析与优化设计建立关键技术基础。本文方法在有限元分析和结构优化软件JIFEX中实现,建立了一个应用原型系统。
1 参数化有限元建模方法
在参数化的几何造型系统中,设计参数的作用范围是几何模型。但几何模型不能直接用于进行分析计算,需要将其转化为有限元模型,才能为分析优化程序所用。因此,如果希望以几何模型中的设计参数作为形状优化的设计变量,就必须将设计参数的作用范围延拓至有限元模型,使有限元模型能够根据设计变量的变化,实现有限元模型的参数化。
参数化有限元建模大体可以分为参数化几何建模、设计变量定义和基于几何造型的有限元建模三个方面。参数化几何建模可借助于参数化几何造型软件系统来完成,在建模过程中应选择那些关键的设计参数作为尺寸变量,以驱动几何模型的形状。在参数化几何建模后,即可对形状优化设计变量进行定义。可直接选用几何模型的全部或部分尺寸变量作为设计变量,也可以用尺寸变量的函数作为设计变量。设计变量的初始值、上下限亦需确定。在基于几何造型的有限元建模方面,主要需解决以下三个问题:①有限元网格控制数据及属性数据定义;②全自动网格生成;③属性数据分派导算。
1.1 有限元网格控制数据及属性数据定义
在基于几何造型的有限元建模方法中,几何模型处于基础性地位,网格控制、荷载、边界条件、几何性质及材料性质的定义均建立在几何模型上。在大多数实体造型系统中,实体模型的机内表达由构造实体几何(CSG)树和边界表示(B-REP)结构共同完成。通过边界表示结构,可得到对形体几何拓扑信息的层次化的描述。该描述涵盖了组成形体的所有几何拓扑对象,如体、面、环、边和顶点等,及它们之间的邻接和归属关系,这就为有限元网格控制数据及属性数据的定义提供了载体。
基于边界表示的有限元网格控制数据及属性数据的定义过程是:交互定义有限元网格控制数据及属性数据,如网格剖分尺寸、荷载的类型与大小等;选择目标几何拓扑元素,如体、面、环、边和顶点等;建立定义数据与目标几何元素的关联,并附加在边界表示数据结构中。
1.2 全自动网格生成
在三维参数化形状优化设计中,基于几何造型的三维实体有限元网格全自动生成是一个关键技术。基于几何造型的三维实体有限元网格全自动生成,可分解为两个相对独立的过程:基于几何造型的三维组合曲面网格生成和三维实体网格生成。
为了满足三维参数化动态有限元建模的要求,基于几何造型的三维组合曲面网格生成,还需做一些改造与扩展。其基本做法是:将剖分过程中生成的节点分为边界节点和内部节点两类。边界节点是对曲面的边界曲线离散得到的节点,而内部节点是对成员曲面剖分时在曲面内部布置的节点。对于边界节点只建立节点与边界曲线的对应关系,对于内部节点只建立节点与成员曲面的对应关系。
1.3 属性数据分派导算
在完成基于几何模型的有限元网格控制与属性数据定义和基于几何模型的全自动网格剖分后,还需要将在几何模型上定义的荷载、边界条件等属性数据,自动地导算到相应的有限元单元或节点上。由于1.2节中已经建立了有限元单元、节点与几何模型的关系,因此,可以方便地将这些属性数据由几何对象导算到相应的有限元单元或节点上。
值得指出的是,上述处理方法在应用到形状优化上时可能会失效。这是由于设计变量的大范围变化,可能导致优化对象几何模型的拓扑结构的改变,如原曲线、曲面的消失和新曲线、曲面的引入产生。在这种情况下,建立在原几何模型上的有限元网格控制及属性数据,就可能无法正确导算。这里,假设在优化过程中设计变量的扰动不会引起几何模型拓扑结构的改变,该条件可以通过对设计变量取值范围的限定(合适的上下限值)而达到。
通过以上几个步骤,整个有限元模型就与优化设计变量建立了关联。一旦优化设计变量发生变化,就会引发尺寸变量、几何模型、有限元网格、网格的属性数据的一系列连锁反应,最终生成完整的新的有限元模型。
2 CAD/CAE集成技术
本文基于参数化几何造型平台MDT,采用面向对象二次开发环境ObjectARX[10]和MCADAPI,将CAD参数化设计技术、有限元建模技术与有限元分析优化系统集成,初步实现了CAD/CAE一体化的三维参数化有限元分析与优化系统。
2.1 三维实体的边界表示
几何模型的表面信息是进行有限元网格控制数据与属性数据定义、曲面网格剖分与边界网格拟合处理的基础。AutoCAD提供的开发工具ObjectARX在功能上相当完整,可利用它的AcBr类库[10]来提取三维实体的表面信息,包括几何信息和拓扑信息两个方面。
采用AcBr类库提取实体表面信息程序的步骤是:
步骤1 建立一个AcBrBrep对象;
步骤2 以读的方式打开AutoCAD实体,利用AcBrBrep类的set方法,将AcBrBrep对象指针指向该实体,获得实体边界,表示顶层对象-体对象;
步骤3 建立体-面穿梭器,并用set方法,将步骤2中得到的体对象赋给穿梭器,将其初始化;
步骤4 用步骤3建立的穿梭器遍历体对象中包含的所有下层边界表示对象(面对象),用穿梭器的get方法获取穿梭器当前指向的面对象,用next方法使穿梭器指针后移至体对象中包含的下一个面对象;
步骤5 提取面对象的相关信息。若提取边对象或点对象的信息,可将步骤2体对象替换为包含该边或点的面对象或边对象,然后类似地进行步骤3至步骤5的操作。
经过上述步骤,就可以得到三维实体模型外表面的全部信息。
2 2 物理空间与参数空间之间的转换
ObjectARX的AcGe类库提供了相当全面的几何操作方法,特别是物理空间与参数空间之间的转换方法,在曲面网格生成算法中是不可或缺的。对于三维曲面,可以用AcGeSurface类中paramOf方法取得三维曲面上任意点的参数坐标,又可以用AcGeSurface类中evalPoint方法返回参数坐标所对应的物理坐标;对于三维曲线,相应的类是AcGeCurve,物理坐标和参数坐标之间的转换方法与AcGeSurface类相类似。
2 3 基于CAD的面向对象的有限元模型描述
方法
面向对象方法首先需要解决数据抽象和对类继承关系的描述。有限元模型的基础元素是节点与单元,根据所要解决的问题不同,单元又分一维线单元、平面单元(三角形单元、四边形单元等)和体单元(四面体单元和六面体单元等)。虽然单元形状和特性各异,但它们有许多共同的特性和行为,这样的抽象就可以形成单元类。用类似的方法也可以形成载荷、边界条件等其他类。这里,给出一个面向对象有限元模型框架(如图1)。
(图片)
图1表示了组成有限元方法的各个程序模块。其中,CFeaModel表示整个前处理完毕后,有限元模型在CAD前台显示、交互以及导入计算模块所需要全部数据的公用接口,它包括节点类(CFeaNode)、荷载类(CFeaLoad)、材料类(CFeaMaterial)、边界条件类(CFeaConstrain)、单元类(CFeaElement)、几何类(CFeaGeometry)等。通过全局公共接口CFeaModel类,可以取得包括分析和交互所需要的整个有限元模型的全部数据,比如,模型中单元数据、节点数据、荷载数据、边界条件数据和几何数据等。这些都是通过该类中提供的成员函数(亦称为方法)实现的。通过这些成员函数,还可以完成多种格式的有限元模型数据的存储和读取操作。其中,CFeaNode类的成员主要包括节点的索引号、节点的坐标和对节点进行其他各种操作的方法。CFeaElement类维护了对所有类型单元的一个公共接口,其中的成员函数主要是对各种类型的单元共同特性的一种抽象,通过这些方法可以设置和获取单元的索引号、构成单元的节点序列、单元类型索引号、单元材料索引号和单元几何常数等。CFeaElement类是个虚基类,由它可以派生其他单元类,比如三角形单元、四边形单元、四面体单元和六面体单元等。和CFeaElement类似,CFeaLoad类、CFeaConstrain类以及CFeaGeometry类分别表示加载在模型上的载荷集和边界条件集,以及模型的几何信息等的公共接口,它们同样维护一个引用计数。CFeaInteractive类主要完成CAD平台的显示和交互,包括对模型数据的修改和存贮等。
在AutoCAD/MDT平台上的所有模型数据,都可以以dwg和dxf格式存储。由于使用面向对象方法中的继承和多态机制,以后向该系统中添加新的单元类型、载荷类型、边界条件等,现有的代码不需要修改就可以很好地复用。并且,整个模型只有CFeaInteractive类和CAD平台密切关联,其他模块都与CAD平台独立,这样,在程序的移植上带来许多方便。
AutoCAD的AcDbEntity类是所有具有图形表现的数据库对象的基类。为了在AutoCAD平台描述节点、单元、载荷等实体,需要创建一个派生自AcDbEntity的自定义类。用ObjectARX创建一个自定义的实体,主要包括以下步骤:①从AcDbEntity派生一个类;②重载所必需的AcDbObject(ObjectARX的另一个基类)函数;③重载所必需的AcDbEntity函数;④重载其他需要用来支持自定义功能的函数。
对于各个自定义实体需要重载worldDraw、view portDraw、transformBy等AcDbEntity基类函数,可以在AutoCAD前台正确显示模型中的各自定义实体,包括自定义实体的消隐、旋转及移动等操作,还需要对自定义实体重载dwgInFields、dwgOutFields、dxfInFields、dxfOutFields函数,这样,就可以存储和读取自定义实体的dwg和dxf格式的文件。对自定义实体的getGripPoints和moveGripPointsAt的重载,可实现对自定义实体简单地移动和编辑操作。
3 复杂三维组合曲面网格全自动生成算法
工程结构中常用的薄壳结构,如球罐、压力容器、冷凝塔、飞机蒙皮和汽车外壳等,均是由圆柱、圆锥、球面等规则曲面或Bezier、NURBS等自由曲面组合而成的。因此,三维组合曲面的有限元网格生成有着广泛的工程应用背景。组合曲面网格作为三维实体表面的离散形式,是三维实体网格剖分的前提和基础,其质量的优劣对后续生成的三维实体网格的质量有很大影响。已有的研究大多是针对单张非闭合曲面进行的,对于闭合曲面和组合曲面(相当于多个相互连接的剪裁曲面)的研究则十分有限,而该类型曲面在实际工程中却经常遇到。
三维实体表面是由若干个面域组合而成的。这些面域通过公共边界拼合在一起,构成一张连续的、形状复杂的大曲面,称为组合曲面。图2给出了组合曲面的一个示例,该曲面由六个性质单一的面域拼合而成,其中包括四个平面、一个圆柱面和一个圆锥面。组合曲面的有限元网格生成的步骤是:①将其分解为一系列性质单一的面域;②将各个面域分别映射到各自的参数空间;③在参数空间上生成有限元网格;④将网格反向映射回物理空间;⑤将这些网格剖分结果拼合起来,形成整个组合曲面的网格。
(图片)
闭合曲面网格剖分的主要困难是其参数域不闭合。若引入虚边界,则相当于对有限元网格施加了人为的约束。为了解决带有闭合曲面的复杂三维组合曲面的有限元网格生成问题,笔者研究并实现了虚边界调整算法,通过调节虚边界在物理空间的位置,提高了网格的质量;借鉴并改进二维多边形区域的裁减算法,形成一个平面域边界游历算法,解决了闭合曲面在参数空间中的边界环形成问题;对邻接曲面片的公共边界进行统一离散,这样,就使得曲面拼合处的节点数目和位置具有一致性,从而满足了有限元网格的相容性要求;采用边界表示法来描述组合曲面中各级对象间的几何拓扑关系,实现了组合曲面全自动网格剖分的总成算法;改进了曲面网格剖分布点算法,并结合局部连接、诊断交换等技术,提高了组合曲面网格的整体质量[11]。图3为本文算法给出的三维组合曲面网格生成的几个算例。(图片) 4 复杂三维实体的四面体网格全自动生成算法
经典Delaunay三角化方法,对于凸域剖分获得了相当好的效果,可是,并不能保证凹域剖分时边界的完整性。为了恢复凹域的原始边界,必须对经典Delaunay三角化方法加以修正,即约束Delaunay三角化方法。该方法是目前的研究热点。对于二维问题,一种有效的边界恢复算法是边交换法。这种方法基于一个简单的原理,即相邻两个三角形所构成的四边形的两个对角线可以互换,而不影响两个三角形与相邻三角形的相容关系。这样,可以通过不断地进行四边形对角线的交换来保证域边界的存在。三维问题的边界恢复过程更为复杂,行之有效的二维边界恢复算法并不能直接扩展到三维问题。Joe提出一种分治算法,这种算法的重点不是放在如何在实体剖分完成之后恢复边界,而是在实体剖分之前将目标域划分成若干个凸域。对每一个凸域进行Delaunay三角剖分,可以保证原问题区域边界的完整性。这种方法的难点在于如何将任意复杂目标域划分为若干凸域的集合。
另一种比较常用的三维问题边界恢复算法,称为装订法。该方法基本上可分成两步:①恢复边界三角形的线段;②恢复边界三角形。当边界线段与其他单元相交时则在线段上插入节点,这样,边界线段即可被恢复。三角形边界面恢复的思路与此类似,也是通过在三角形面上插入节点来恢复此边界面。这种边界恢复算法对于三维问题是有效的,但应注意,该算法在边界线段以及边界面上插入了新的节点,原有边界三角形也被分解为多个小的三角形,因而新的边界并不是严格意义上的原有边界。
三维Delaunay三角化方法的另一个问题是所谓薄元(Sliver element)的存在。这里的薄元是指四个节点几乎共面的四面体单元。薄元问题的解决对于Delaunay三角化方法在三维有限元网格生成中的应用至关重要。一种解决方法是采用抖动算法,即将四个节点中的一个节点进行移动,从而将扁平单元“拉”起来。然而,抖动算法在实际应用中有许多困难,在某些情况下还可能失效。
针对上述问题,研究并实现了一种有效的三维约束Delaunay三角剖分的边界恢复算法,该算法综合了P.L.George算法和N.P.Weatherill算法的优点,通过将约束边和约束面加以恢复,保持了实体边界的完整性,解决了经典Delaunay算法不能剖分凹域的问题,从而实现了复杂三维实体的网格剖分;提出了一种简易而有效的消除薄元方法--薄元分解法,彻底解决了三维Delaunay三角剖分过程中所产生的薄元问题。实践证明,边界恢复算法和薄元消除算法健壮有效,生成网格的质量高[12]。图4为本文算法给出的三维实体网格生成的几个算例。(图片) 5 参数化形状优化设计系统框架
基于以上几方面工作,参数化形状优化设计的总体流程表达如下:
步骤1 初始化,建立参数化的有限元模型;
步骤2 使用非线性分析程序JIFEX进行有限元分析,得到的分析结果数据作为下一步形状优化的初始条件;
步骤3 对优化器进行初始化;
步骤4 调用优化器;
步骤5 若优化器返回值INFO=0,说明优化过程完成,跳到步骤9;否则,说明优化过程未完成,此时优化器给出新的设计变量;
步骤6 将新的设计变量提交给参数化有限元建模系统,生成新的有限元模型;
步骤7 将新的有限元模型提交给JIFEX进行有限元分析,返回分析结果数据;
步骤8 根据分析结果数据计算目标值与约束方程值,并跳回步骤4;
步骤9 结束。
6 算例实现
算例1 扭力臂形状优化设计
结构初始设计:几何形状定义如图5所示(图中单位:cm);荷载:在圆柱面A上施加平行于x轴指向x正方向的表面压力;边界条件:圆柱面B的位移设为全固定;优化设计变量:截面轮廓图中带有英文名称(如R1,L1,H1等)的尺寸标注为结构的形状优化设计变量;形状优化的目标:在满足给定的应力约束和位移约束的前提下,使整个结构的重量达到最小。(图片) 图6给出了优化前后扭力臂几何形状的对比。经过形状优化设计,在满足给定的应力约束和位移约束的前提下,结构的重量降低了33.6%。(图片) 算例2 通用接头的形状优化设计
结构初始设计:几何形状定义如图7所示(图中单位:mm);荷载:在圆柱面A上施加表面压力;边界条件:圆环面B受固定约束;优化设计变量:图7中的radius、length和倒角filet;形状优化的目标:在满足给定的应力约束和位移约束的前提下,使整个结构的重量达到最小。图8给出了优化前后结构形状、应力云图对比,可以看到,结构的形状有了明显的改变,也更加符合实际情况。
(图片)
表1列出了优化设计前后的各项数据值,可以看到,结构的重量和应力都有了明显的降低,分别为51%和33%。(图片) 7 结束语
三维参数化CAD技术、有限元建模技术、有限元分析与优化技术的发展,已使参数化的三维结构形状优化设计成为较为现实的目标,而基于CAD/CAE集成的参数化动态有限元建模,是实现这一先进分析设计技术的重要基础。本文提出并实现的三维参数化动态有限元建模方法,能够较好地适应三维连续体形状优化问题,解决了以往结构形状优化方法中存在的三维建模困难、通用性差等问题,为机械产品三维结构优化设计提供了一个新途径。
10/6/2004
|