拓扑优化是指形状优化,有时也称为外型优化。
拓扑优化的目标是寻找承受单载荷或多载荷的物体的最佳材料分配方案。
这种方案在拓扑优化中表现为“最大刚度”设计。
与传统的优化设计不同的是,拓扑优化不需要给出参数和优化变量的定义。
目标函数、状态变量和设计变量(参见“优化设计”一章)都是预定义好的。
用户只需要给出结构的参数(材料特性、模型、载荷等)和要省去的材料百分比。
给每个有限元的单元赋予内部伪密度来实现。
这些伪密度用PLNSOL ,TOPO 命令来绘出。
拓扑优化的目标——目标函数——是在满足结构的约束(V )情况下减少结构的变形能。
减小结构的变形能相当于提高结构的刚度。
这个技术通过使用设计变量。
结构拓扑优化的基本思想是将寻求结构的最优拓扑问题转化为在给定的设计区域内寻求最优材料分布的问题。
通过拓扑优化分析,设计人员可以全面了解产品的结构和功能特征,可以有针对性地对总体结构和具体结构进行设计。
特别在产品设计初期,仅凭经验和想象进行零部件的设计是不够的。
只有在适当的约束条件下,充分利用拓扑优化技术进行分析,并结合丰富的设计经验,才能设计出满足最佳技术条件和工艺条件的产品。
连续体结构拓扑优化的最大优点是能在不知道结构拓扑形状的前提下,根据已知边界条件和载荷条件确定出较合理的结构形式,它不涉及具体结构尺寸设计,但可以提出最佳设计方案。
拓扑优化技术可以为设计人员提供全新的设计和最优的材料分布方案。
拓扑优化基于概念设计的思想,作为结果的设计空间需要被反馈给设计人员并做出适当的修改。
最优的设计往往比概念设计的方案结构更轻,而性能更佳。
经过设计人员修改过的设计方案可以再经过形状和尺寸优化得到更好的方案。
5.1.2优化拓扑的数学模型优化拓扑的数学解释可以转换为寻求最优解的过程,对于他的描述是:给定系统描述和目标函数,选取一组设计变量及其范围,求设计变量的值,使得目标函数最小(或者最大)。
一种典型的数学表达式为:()()()12,,0,,0min ,g x x v g x x v f x v ⎧=⎪⎪≤⎨⎪⎪⎩式中,x -系统的状态变量;12g g 、-一等式和不等式的结束方程;(),f x v -目标函数;v -设计变量。
注:在上述方程中,x 作为系统的状态变量,并不是独立的变量,它是由设计变量得出的,并且与设计变量相关。
优化拓扑所要进行的数学运算目标就是,求取合适的设计变量v ,并使得目标函数值最小。
5.2基于ANSYS 的优化拓扑的一般过程(进行内容排版修改)在ANSYS 中,进行优化拓扑,一般分为6个步骤。
具体流程见图5-1:图5-1 优化拓扑操作流程图各个步骤的具体操作解释如下:1、定义需要求解的结构问题对于结构进行优化分析,定义结构的物理特性必不可少,例如,需要定义结构的杨氏模量、泊松比(其值在0.1~0.4之间)、密度等相关的结构特性方面的信息,以供结构计算能够正常执行下去。
2、选择合理的优化单元类型在ANSYS中,不是所有的单元类型都可以执行优化的,必须满足如下的规定:(1)2D平面单元:PLANE82单元和PLANE183单元;(2)3D实体单元:SOLID92单元和SOLID95单元;(3)壳单元:SHELL93单元。
上述单元的特性在帮助文件中有详细的说明,同时对于2D单元,应使用平面应力或者轴对称的单元选项。
3、指定优化和非优化的区域在ANSYS中规定,单元类型编号为1的单元,才执行优化计算;否则,就不执行优化计算。
对于结构分析中,对于不能去除的部分区域将单元类型编号设定为≥2,就可以不执行优化计算,请见下面的代码片段:…………Et,1,solid92Et,2,solid92……Type,1Vsel,s,num,,1,2Vmesh,all……Type,2Vsel,s,num,,3Vmesh,all…………说明:上述代码片段定义相同的单元类型(solid92),但编号分别为1和2,并将单元类型编号1利用网格划分分配给了1#体和2#体,从而对其进行优化计算;而单元编号为2利用网格划分分配给了3#体,从而不执行优化计算。
4、定义载荷步或者需要提取的频率对于结构优化而言,其总是在特定的载荷(或者载荷步),约束和目标下进行的,在优化分析的过程中,必须执行线性结构静态分析,才能获得需要的优化之后的形状。
在ANSYS中,可以对单步载荷或者多步载荷执行优化分析,当然,单步载荷是最简单的了。
然而,对于某个特定载荷步,必须使用LSWRITE载荷步存储命令将载荷步预存起来,再用LSSOLVE命令进行求解。
先看看下面的代码片段:…………D,10,all,0,,20,1Nsel,s,loc,y,0Sf,AllselLswrite,1Ddel,Sfdel,Nsel,s,loc,x,0,1D,all,all,0F,212,fx,Lswrite,2…………Lswrite,3…………Finish……Tocomp,mcomp,multiple,3Tovar,mcomp,objTovar,volume,con,,10TodefToloop,20…………说明:该代码片段首先定义了3个载荷步,并利用LSWRITE命令将载荷步预存;之后利用Tocomp命令定义优化任务目标名称mcomp,并将体积减少10%作为优化的约束条件,之后用Todef初始化优化过程,最后利用Toloop命令执行优化计算,最大计算次数20次。
相关命令:TOCOMP、TOV AR、TODEF、TOEXE、TOLOOP和简要说明。
(1)TOCOMP:定义结构优化任务目标。
(如何理解COMPLIANCE:Compliance本意是一致性,统一性,在结构优化分析中,特别是对于多个载荷步,需要在多个载荷步之间取得一致性的结果,才能满足结构优化分析的目标)(2)TOV AR:定义优化变量,可以是目标变量,也可以是约束变量等;(3)TODEF:定义优化的初始化条件或者收敛准则;(4)TOEXE:执行单次优化计算;(5)TOLOOP:批量执行多次优化分析计算。
对于TOEXE和TOLOOP之间的区别:TOEXE执行单次优化分析计算,其本身不执行结构分析过程,因此,在利用TOEXE命令执行优化计算之前,需要利用SOLVE或者LSSOLVE命令先执行结构静态分析计算;而TOLOOP是一个执行优化计算的宏命令,其中包含了SOLVE和LSSOLVE等命令,因此在上述代码片段中没有出现SOLVE或者LSSOLVE命令。
就使用的便利性而言,利用TOLOOP命令可能更方便,但是利用TOEXE命令用户可以创建自己的优化宏命令,各有所长,主要是看用户如何使用这两个命令了。
5.3副车架及纵梁优化模型的建立5.3.1创建参数化有限元模型对副车架及纵梁运用ANSYS进行优化拓扑需要创建有限元模型,我们选择构件有限元参数化模型时,根据研究对象的特性采用BEAN188梁单元作为基础的有限元模型,如图5-2所示。
图5-2 副车架纵梁优化拓扑模型创建优化拓扑有限元模型的基本流程为:1)初始化设计变量参数本章节是对副车架及纵梁进行优化拓扑,需要对其尺寸参数进行初始化。
而且其设计变量的参数就是车架纵梁的截面尺寸。
2)创建材料特性3)添加单元类型BEAM1884)创建单元的截面形状对于副车架纵梁的截面形状,在输入尺寸值时需要输入参数,而不是数值。
5)创建单元节点和单元6)定义弯曲边界条件在定义约束的时候,约束后桥在纵梁上的垂直投影节点的X、Y、Z三个方向的平动自由度,约束前桥在纵梁上的垂直投影节点的Y、Z两个方向的平动自由度。
这样,车架结构就相当于一个简支架结构,在前后支撑的中点位置上的纵梁节点上添加F=1000N的载荷,方向垂直向下。
7)将建立的参数化有限元模型数据进行保存。
5.3.2优化拓扑模型各项参数设定1.定义工作文件名和工作标题启动ANSYS,单击打开按钮,根据路径选择之前保存好的参数化有限元模型文件;选择Utility Menu>File>Change Jobname命令,出现Change Jobname对话框。
在文本框中输入要使用的文件名称EXERCISE,单击OK按钮关闭该对话框;选择Utility Menu>File>Change Title命令,出现Change Title对话框,在文本框中输入工作标题名称STRUCTURAL TOPOLOGICAL OPTIMIZATION,单击OK按钮关闭该对话框。
2.定义单元类型选择Main Menu>Preprocessor>Element Type>Add/Edit/Delete命令,出现Element Types对话框;单击Add按钮,出现Library of Element Types对话框,在Library of Element Types列表中选择Structural Solid,Quad 4node82,在Element type reference number 文本框中输入1,单击Apply按钮,采用默认设置,单击OK按钮关闭该对话框。
3.定义材料性能参数选择Main Menu>Preprocessor>Material Props>Material Models命令,出现Define Material Model Behavior对话框;在Material Models Available一栏中依次单击Structural、Linear、Elastic、Istropic选项,出现Linear Isotropic Propeties for Material Number 1对话框,在EX 文本框中输入2.2E11,在PRXY文本框中输入0.3,单击OK按钮关闭该对话框。
4.对创建的有限元模型进行优化网格划分选择Main Menu>Preprocessor>Mesheing>Mesh>Areas>Free命令,出现Mesh Areas菜单,在文本框中输入1,单击OK按钮关闭该菜单;选择Utility Menu>Select>Entities命令,出现Select Entities对话框,在第一个下拉选项框中选择Nodes,在第二个下拉选项框中选By Location,在第三栏中选择X coordinates,在Min,Max文本框中输入0,0.4,在第五栏中选择Form Full,单击OK按钮关闭该菜单;选择Utility Menu>Select>Entities命令,出现Select Entities对话框,在第一个下拉选项框中选择Elements,在第二个下拉选项框中选Attached to,在第三栏中选择Nodes,在第四栏中选择Form Full,单击OK按钮关闭该对话框;选择Main Menu>Preprocessor>Meshing>Mesh Attributes>Default Attribs命令,出现Mesh Attributes对话框,在[TYPE] Element type number 文本框中输入2PLANE82,单击OK按钮关闭该对话框;选择Main Menu>Preprocessor>Modeling>Move/Modify>Elements>Modefy Attrib命令,出现Modify Elem Attr菜单,单击Pick All按钮,出现Modify Elem Attributes对话框,在STLOC Attribute to change下拉选框中选择Elem type TYPE,在I1 New attribute number文本框中输入2,单击OK按钮关闭该对话框;选择Utility Menu>Select>Everything命令;选择Utility Menu>Plot>Elements命令,ANSYS显示窗口显示所生成的对有限元模型进行的网格划分模型。