第19章拓扑优化技术.docx
《第19章拓扑优化技术.docx》由会员分享,可在线阅读,更多相关《第19章拓扑优化技术.docx(13页珍藏版)》请在冰豆网上搜索。
![第19章拓扑优化技术.docx](https://file1.bdocx.com/fileroot1/2023-1/9/cde25efb-6126-4ebf-a86a-f04429bdbff7/cde25efb-6126-4ebf-a86a-f04429bdbff71.gif)
第19章拓扑优化技术
第19章拓扑优化技术
第1节基本知识
一、拓扑优化的概念
拓扑优化是指形状优化,有时也称为外型优化。
拓扑优化的目标是寻找承受单载荷或多载荷的物体的最佳材料分配方案。
这种方案在拓扑优化中表现为“最大刚度”设计。
与传统的优化设计不同的是,拓扑优化不需要给出参数和优化变量的定义。
目标函数、状态变量和设计变量都是预定义好的。
用户只需要给出结构的参数(材料特性、模型、载荷等)和要省去的材料百分比。
拓扑优化的目标—目标函数—是在满足结构的约束(V)情况下减少结构的变形能。
减小结构的变形能相当于提高结构的刚度。
这个技术通过使用设计变量(i)给每个有限元的单元赋予内部伪密度来实现。
这些伪密度用PLNSOL,TOPO命令来绘出。
ANSYS提供的拓扑优化技术主要用于确定系统的最佳几何形状,其原理是系统材料发挥最大利用率,同时确保系统的整体刚度(静力分析)、自振频率(模态分析)在满足工程要求的条件下获得极大或极小值。
拓扑优化应用场合:
线性静力分析和模态分析。
拓扑优化原理:
满足结构体积缩减量的条件下使目标函数结构柔量能量(theeneryofstructurecompliance—SCOMP)的极小化。
结构柔量能量极小化就是要求结构刚度的最大化。
例如,给定V=60表示在给定载荷并满足最大刚度准则要求的情况下省去60%的材料。
图19-1表示满足约束和载荷要求的拓扑优化结果。
图19-1a表示载荷和边界条件,图19-b表示以密度云图形式绘制的拓扑结果。
图19-1体积减少60%的拓扑优化示例
二、拓扑优化的基本过程
拓扑优化的基本步骤如下:
1.定义结构问题定义材料弹性模量、泊松系数、材料密度。
2.选择单元类型拓扑优化功能中的模型只能采用下列单元类型:
●二维实体单元:
Plane2和Plane82,用于平面应力问题和轴对称问题。
●三维实体单元:
Solid92、Solid95。
●壳单元:
SHELL93。
3.指定优化和不优化区域ANSYS只对单元类型编号为1的单元网格部分进行拓扑优化,而对单元类型编号大于1的单元网格部分不进行拓扑优化,因此,拓扑优化时要确保进行拓扑优化区域单元类型编号为1,而不进行拓扑优化区域单元类型编号大于1即可。
4.定义并控制载荷工况或频率提取可以在单个载荷工况和多个载荷工况下做拓扑优化,单载荷工况是最简便的。
要在几个独立的载荷工况中得到优化结果时,必须用到写载荷工况和求解功能。
在定义完每个载荷工况后,要用LSWRITE命令将数据写入文件,然后用LSSOLVE命令求解载荷工况的集合。
5.定义和控制优化过程拓扑优化过程包括定义优化参数和进行拓扑优化两个部分。
用户可以用两种方式运行拓扑优化:
控制并执行每一次迭代或自动进行多次迭代。
ANSYS有三个命令定义和执行拓扑优化:
TOPDEF,TOPEXE和TOPITER。
TOPDEF命令定义要省去材料的量,要处理载荷工况的数目,收敛的公差;TOPEXE命令执行一次优化迭代;TOPITER命令执行多次优化迭代。
(1)定义优化参数首先要定义优化参数。
用户要定义要省去材料的百分比,要处理载荷工况的数目,收敛的公差。
命令:
TOPDEF
GUI:
MainMenu>Solution>Solve>Topologicalopt
注:
本步所定义的内容并不存入ANSYS数据库中,因此在下一个拓扑优化中要重新使用TOPDEF命令。
(2)执行单次迭代定义好优化参数以后,可以执行一次迭代。
迭代后用户可以查看收敛情况并绘出或列出当前的拓扑优化结果。
可以继续做迭代直到满足要求为止。
如果是在GUI方式下执行,在TopologicalOptimization对话框(ITER域)中选择一次迭代。
命令:
TOPEXE
GUI:
MainMenu>Solution>Solve>Topologicalopt
TOPEXE的主要优点是用户可以设计自己的迭代宏进行自动优化循环和绘图。
在下一节,可以看到TOPITER命令是一个ANSYS的宏,用来执行多次优化迭代。
(3)自动执行多次迭代
在定义好优化参数以后,用户可以自动执行多次迭代。
在迭代完成以后,可以查看收敛情况并绘出或列出当前拓扑形状。
如果需要的话,可以继续执行求解和迭代。
TOPITER命令实际是一个ANSYS的宏,可以拷贝和定制。
命令:
TOPITER
GUI:
MainMenu>Solution>Solve>Topologicalopt
每次迭代执行一次LSSOLVE命令,一次TOPEXE命令和一次PLNSOL,TOPO显示命令。
当收敛公差达到(用TOPDEF定义)或最大迭代次数(用TOPITER定义)达到时优化迭代过程终止。
6.查看拓扑优化结果拓扑优化结束后,ANSYS结果文件(Jobname.RST)将存储优化结果供通用后处理器使用。
要列出结点解和/或绘出伪密度,使用PRNSOL和PLNSOL命令的TOPO变量。
要列出单元解和/或绘出伪密度,使用PLESOL和PRESOL命令的TOPO变量。
第2节拓扑优化设计实例
案例——桥梁的拓扑优化设计
图19-2拟实行拓扑优化的钢桥示意图
问题
如图19-2所示,欲在道路上建造一座钢质桥,其长为50米,高为20米,左右两端点连接公路两侧,下面左右端点是桥的两个桥墩安装的位置点。
桥面施加100e6Pa的载荷,求在体积减小60%条件下寻找最合适的桥梁形状。
条件
弹性模量为2.0×1011N/m2,泊松比为0.3。
解题过程
制定分析方案。
分析类型为线弹性性材料的拓扑优化分析,2D实体分析问题,选用四边形8节点实体结构单元Quad8node82单元Plane82,不需要设置实常数;边界条件为面左下角和右下角固定,上面受100e6N/m2的压力作用。
1.ANSYS分析开始准备工作
(1)清空数据库并开始一个新的分析选取Utility>Menu>File>Clear&StartNew,弹出ClearsdatabaseandStartNew对话框,单击OK按钮,弹出Verify对话框,单击OK按钮完成清空数据库。
(2)指定新的工作文件名指定工作文件名。
选取Utility>Menu>File>ChangeJobname,弹出ChangeJobname对话框,在EnterNewJobname项输入工作文件名,本例中输入的工作文件名为“Topo-bridge”,单击OK按钮完成工作文件名的定义。
(3)指定新的标题指定分析标题。
选取Utility>Menu>File>ChangeTitle,弹出ChangeTitle对话框,在EnterNewTitle项输入标题名,本例中输入“Topoproblem”为标题名,然后单击OK按钮完成分析标题的定义。
(4)重新刷新图形窗口选取Utility>Menu>Plot>Replot,定义的信息显示在图形窗口中。
2.定义单元
运行主菜单MainMenu>Preprocessor>ElementType>Add/Edit/Delete命令,弹出ElementTypes对话框,单击Add按钮新建单元类型,弹出LibraryofElementTypes对话框,先选择单元大类为Solid,接着选择Quad8node82(Plane82),单击Apply按钮定义第一种单元类型,再次选择Quad8node82(Plane82)按OK按钮设置单元类型2,并完成单元类型选择,单击Close按钮完成设置,如图19-3所示。
图19-3定义单元类型
注:
所定义的两种单元均为Plane82,Type1用于拓扑优化,Type2用于非优化区域定义。
3.定义材料属性
运行主菜单MainMenu>Preprocessor>MaterialProps>MaterialModels命令,系统显示材料属性设置对话框,在材料属性对话框中依次选择Structure、Linear、Elastic、Isotropic,如图19-4所示。
完成选择后,弹出材料属性输入对话框,分别输入弹性模量2e11,泊松比0.3,如图19-5所示,单击OK按钮完成材料属性输入并返回图19-4。
完成材料属性设置后,单击对话框右上方“X”按钮离开材料属性设置。
4.创建模型
(1)绘制矩形运行主菜单MainMenu>Preprocessor>Modeling>Create>Areas>rectangle>ByDimention命令,在对话框中分别输入X1=0,Y1=0,X2=50,Y2=20,单击OK按钮完成模型建立。
(2)创建工作平面运行菜单UtilityMenu>PlotCtrls>Numbering弹出PlotNumberingControls选择对话框,Linenumber置为On,显示线点编号,单击OK按钮完成设置。
图19-4进入材料属性设置
图19-5定义材料属性
5.划分网格,分配单元属性
(1)划分网格执运行主菜单MainMenu>Preprocessor>Meshing>MeshTool(网格划分工具)命令,出现MeshTool菜单,在ElementAttributes项中选Areas并按Set按钮,出现拾取对话框,按PickAll按钮,弹出单元属性定义对话框,选择如图19-6所示,按OK按钮完成单元属性定义;单击SizeControl设置框中Areas项的Set按钮,在单元尺寸对话框中的Elementedgelength项中输入单元尺寸,本例中输入1,单击OK按钮确定。
在MeshTool菜单中设置Mesh下拉框为Areas,Shape项选择Quad(四边形单元网格),选中Free(使用自由网格划分器)。
单击Mesh按钮划分网格,在出现的MeshAreas对话框中单击PickAll按钮,系统将自动完成网格划分,划分网格结果如图19-7所示。
图19-6定义单元属性
图19-7划分网格结果
(2)选择不参加拓扑优化部分单元执行菜单UtilityMenu>Select>Entities显示选择对话框,先选择不参加拓扑优化部分的单元,各项设置如图19-8所示,按Apply按钮选择节点;选择依附于所选择节点的单元,各项设置如图19-9所示,按Apply按钮选择单元,按Plot按钮显示所选择的单元如图19-10所示,按OK按钮完成选择。
图19-8选择不参加拓扑优化节点图19-9选择不参加拓扑优化单元
(3)修改不参加拓扑优化部分单元属性执行菜单MainMenu>Preprocessor>Modeling>Move/Modify>Elements>ModifyAttrib,弹出ModifyElemAttrib单元拾取对话框,单击PickAll按钮弹出ModifyElemAttributes对话框如图19-11所示,Attributrstochange项置为ElemtypeTYPE,NewAttributeNumber项输入2(单元类型编号),然后单击OK按钮。
(4)选择所有模型执行菜单UtilityMenu>Select>Everything,选择所有模型。
(5)重新刷新图形窗口选取Utility>Menu>Plot>Replot,所有信息显示在图形窗口中。
图19-10不参加拓扑优化的单元
图19-11修改单元属性
6.施加约束和载荷
(1)施加约束执行菜单UtilityMenu>Plot>Lines显示模型为线。
运行主菜单MainMenu>Solution>DefineLoads>Apply>Structural>Displacement>OnKeypoints,出现拾取菜单,依次选择关键点1和2(模型左下角和右下角),单击OK按钮出现约束定义对话框,如图19-12所示,选择AllDOF约束所有自由度,其它项默认,再单击OK按钮,完成约束定义。
(2)施加载荷运行主菜单MainMenu>Solution>DefineLoads>Apply>Structural>Pressure>OnLines命令,出现拾取菜单,拾取模型上面的线(线的编号为3),单击OK按钮出现载荷定义对话框,如图19-13所示,载荷类型为压力,数值为100e6N/m2,再单击OK按钮完成载荷的施加。
图19-12施加约束
图19-13施加载荷
7.显示模型上的载荷和边界条件
(1)设置显示方式执行菜单UtilityMenu>PlotCtrls>Symbols弹出显示符号Symbols对话框如图19-14所示,Boundaryconditionsymbol项选择AllAppliedBCs,SurfaceLoadSymbols项选择为Pressure,Showpresandconvectas项选择为Arrows,其它项按默认设置,按OK按钮。
图19-14设置显示方式
(2)将模型上的载荷转化到有限元模型上运行主菜单MainMenu>Solution>DefineLoads>Operate>TransfertoFE>AllSolidLds命令,出现TransferAllSolidModelLoadstoFEModel对话框,单击OK按钮。
(3)绘制单元有限元模型上执行UtilityMenu>Plot>Replot,施加在单元上的约束和载荷信息显示在图形窗口中,如图19-15所示。
图19-15拟执行拓扑优化的有限元模型
8.执行拓扑优化求解
(1)进入拓扑优化求解器执行主菜单MainMenu>TopologicalOpt。
(2)定义拓扑优化函数SCOMP执行MainMenu>TopologicalOpt>SetUp>AdvancedOpt>TopoFunction,弹出TopologicalOptimizationFunction对话框,默认系统设置,按OK按钮进入ComplianceFunction设置对话框如图19-16所示,Functionname项输入scomp,Loadcasenumber项输入1,然后按OK按钮。
图19-16定义拓扑优化函数
(3)定义目标函数执行MainMenu>TopologicalOpt>SetUp>AdvancedOpt>TopoObjective,弹出ObjectiveforTopologicalOptimization对话框,选择目标函数SCOMP,按OK按钮完成目标函数定义。
(4)定义约束条件执行MainMenu>TopologicalOpt>SetUp>AdvancedOpt>TopoConstraint>ByPercentage,弹出ConstraintforTopologicalOptByPercentage对话框,选择约束条件VOLUME,按OK按钮进入ConstraintforTopologicalOptByPercentage定义对话框,在Percentvolumereduct’n中输入60(体积减少60%),按OK按钮完成约束条件定义。
(5)选择优化方法并求解执行MainMenu>TopologicalOpt>Run,弹出RunTopologicalOptimization对话框如图19-17所示,Solutionapproach项选择Optimality(以体积为约束条件的选该项),Convergencetolerance项输入收敛精度准则值0.0001,Numberofiterations项输入迭代次数30,Plotdensity@eachiteration?
项选择Yes(每次迭代计算均刷新显示图形),按OK按钮开始求解。
程序开始求解并每求解一次刷新显示一次,直到求解完成。
图19-17定义优化方法
9.拓扑优化结果后处理
(1)关闭几何变形显示选择菜单UtilityMenu>PlotCtrls>Style>displacementScaling,弹出DisplacementDisplayScaling对话框,将Displacescalefactor设置为0.0(关闭),其它项按默认设置,按OK按钮。
(2)设置两色等值图显示选择菜单UtilityMenu>PlotCtrls>Style>Contours>UniformContours,弹出UniformContours对话框,将Numberofcontous设置为2(两种颜色显示),其它项按默认设置,按OK按钮。
(3)关闭图形窗口的图例显示选择菜单UtilityMenu>PlotCtrls>WindowsControls>WindowOptions,弹出WindowOptions对话框,将Displayoflegeng设置为off,其它项按默认设置,按OK按钮。
(4)绘制节点伪密度分布图执行MainMenu>TopologicalOpt>PlotDensities,绘制节点伪密度图如图19-18所示,图中的深颜色为钢桥拓扑优化后的模型。
图19-18
节点伪密度分布图
(5)绘制单元伪密度分布图执行MainMenu>TopologicalOpt>PlotDensUnavg,绘制单元伪密度图如图19-19所示。
图19-19单元伪密度分布图
(6)绘制目标函数与迭代次数关系曲线执行MainMenu>TopologicalOpt>GraphHistory,弹出GraphTopologicalOptimizationHistory菜单,选择Objectivefunc(目标函数),绘制目标函数与迭代次数关系曲线如图19-20所示,可见目标函数经过25次收敛。
图19-20目标函数随迭代次数变化曲线
(7)读入最后序列结果执行MainMenu>GeneralPostproc>ReadResult>Last,读入最后序列结果。
(8)定义单元表在ANSYS中有些数据无法直接访问,需要通过定义单元表完成单元结果的访问。
运行主菜单MainMenu>GeneralPostproc>ElementTable>DefineTable,弹出的菜单按Add…,出现单元表定义对话框如图19-21所示,Userlabelforitem项由用户定义表的名称,本例中定义为Tioporesult,Resultsdataitem项选择如图所示,按OK按钮返回上一菜单,按Close按钮完成单元表定义。
(9)绘制桥的概念设计模型选择菜单UtilityMenu>Select>Entitied,弹出选择对话框,对话框设置如图19-22所示,按Apply按钮弹出SelectElementsbyReaults对话框如图19-23所示,Rangeofvalves项分别输入0.8和1.0(伪密度在0.8—1.0之间),其它项按默认设置,按OK按钮,按图19-22中的Plot按钮显示桥的概念设计图19-24。
图19-21定义单元表
图19-22选择结果图19-23定义伪密度范围
图19-24钢桥经拓扑优化设计的概念模型
第3节本章小结
1.载荷对结果的影响
拓扑优化结果对载荷情况十分敏感。
很小的载荷变化将导致很大的优化结果差异。
2.网格划分密度对结果的影响
拓扑优化结果对网格划分密度敏感。
一般来说,很细的网格可以产生“清晰”的拓扑结果,而较粗的网格会生成“混乱”的结果。
但是,较大的有限元模型需要更多的收敛时间。
3.桁架形状的拓扑结果产生的原因
在一些情况下会得到桁架形状的拓扑结果,这种情况通常在指定很大的体积减少值和较细的网格划分时出现,很大的体积减少值如80%或更大(TOPDEF命令)。
4.多个载荷工况求解
如果有多个载荷工况时,有多种方式将其联合进行拓扑优化求解。
例如,考虑有五个载荷工况的情况。
可以选择使用五个单独的拓扑优化分析过程,也可以使用包括这五个工况的一次拓扑优化分析。
也可以将这五个工况合成为一个工况,然后做一次优化。
5.泊松比和杨氏模量对分析结果的影响
分析结果对泊松比敏感但对杨氏模量不敏感。
但是,随泊松比变化的效果不明显。
6.优化目标的定义
TOPDEF和TOPITER命令中的指定值并不存储在ANSYS数据库中,因此,用户必须在每次拓扑优化时重新指定优化目标和定义优化约束参数。