1、ANSYS 拓扑优化注意点结果对载荷情况十分敏感。很小的载荷变化将导致很大的优化结果差异。结果对网格划分密度敏感。一般来说,很细的网格可以产生“清晰”的拓扑结果,而较粗的网格会生成“混乱” 的结果。但是,较大的有限元模型需要更多的收敛时间。在一些情况下会得到珩架形状的拓扑结果。这通常在用户指定很大的体积减少值和较细的网格划分时出现。很大的体积减少值如 80%或更大(TOPDEF 命令) 。如果有多个载荷工况时,有多种方式将其联合进行拓扑优化求解。例如,考虑有五个载荷工况的情况。可以选择使用五个单独的拓扑优化分析过程,也可以使用包括这五个工况的一次拓扑优化分析。还有,也可以将这五个工况合成为一个
2、工况,然后做一次优化。综合起来,可以有七个不同的拓扑优化求解:5 独立的拓扑优化求解(每个工况一次)1 拓扑优化求解针对五个工况1 拓扑优化求解针对一个联合工况附加的结果或结果的组合都是可用的。结果对泊松比敏感但对杨氏模量不敏感。但是,随泊松比变化的效果不明显。TOPDEF 和 TOPITER 命令中的指定值并不存储在 ANSYS 数据库中;因此,用户必须在每次拓扑优化时重新指定优化目标和定义。ANSYS 拓扑优化二维多载荷优化设计示例在本例中,对承受两个载荷工况的梁进行拓扑优化。问题描述图 2 表示一个承载的弹性梁。梁两端固定,承受两个载荷工况。梁的一个面是用一号单元划分的,用于拓扑优化,另
3、一个面是用二号单元划分的,不作优化。最后的形状是单元 1 的体积减少 50%。图片 2 承受两个载荷工况的梁 图片 3 拓扑优化结果50%体积减少 本问题是用下列的 ANSYS 命令流求解的。两个载荷工况定义并用 LSWRITE 命令写入文件。使用 ANSYS 选择功能,单元 SOLID82 通过类型号 1 和 2 分别指定优化和不优化的部分。TOPDEF 命令定义问题有两个载荷工况并要求 50%体积减少。TOPEXE 命令在本例中没有使用,代之以用 TOPITER 宏命令指定最大迭代次数为12 次。/TITLE,A 2-d,multiple-load example of topologic
4、al optimization/PREP7BLC4,0,0,3,1 !生成实体模型(3X1 矩形)ET,1,82 !二维实体单元,1 号为优化ET,2,82 !2 号不优化MP,EX,1,118E9 !线性各项同性材料MP,NUXY,1,0.3ESIZE,0.05 !较细的网格密度TYPE,1AMESH,ALL !自由矩形网格划分NSEL,S,LOC,X,0,0.4 !选择不优化的部分ESLNTYPE,2EMODI,ALL !定义 2 号单元ALLSELNSEL,S,LOC,X,0D,ALL,ALL,0 !在 X=0 处固定NSEL,S,LOC,X,3D,ALL,ALL,0 !在 X=3 处固
5、定FORCE=1000 !载荷数值NSEL,S,LOC,X,1NSEL,R,LOC,Y,1F,ALL,FY,FORCE !定义第一个载荷工况ALLSELLSWRITE,1 !写第一个载荷工况FDEL,ALLNSEL,S,LOC,X,2NSEL,R,LOC,Y,0F,ALL,FY,-FORCE !定义第二个载荷工况ALLSELLSWRITE,2 !写第二个载荷工况FDEL,ALLTOPDEF,50,2 !定义拓扑优化有两个载荷工况/SHOW,topo,grph !将图形输出到文件(在交互方式下删除本命令/DSCALE,OFF/CONTOUR,2TOPITER,12,1 !执行不多于 12 次迭代
6、FINISH求解结果图 3 表示上例的计算结果。这些结果存入 top.grph 文件便于后续的显示处理。如果是交互地运行 ANSYS 程序,将/SHOW 命令删除以观看每次迭代的结果。ANSYS 拓扑优化如何做拓扑优化拓扑优化包括如下主要步骤:1 定义拓扑优化问题。2 选择单元类型。3 指定要优化和不优化的区域。4 定义和控制载荷工况。5 定义和控制优化过程。6 查看结果。拓扑优化的细节在下面给出。关于批处理方式和图形菜单方式不同的做法也同样提及。定义拓扑优化问题定义拓扑优化问题同定义其他线性,弹性结构问题做法一样。用户需要定义材料特性(杨氏模量和泊松比),选择合适的单元类型生成有限元模型,施
7、加载荷和边界条件做单载荷步或多载荷步分析。参见“ANSYS Analysis Procedures Guides”第一、二章。选择单元类型拓扑优化功能可以使用二维平面单元,三维块单元和壳单元。要使用这个功能,模型中只能有下列单元类型:二维实体单元:SOLID2 和 SOLID82三维实体单元:SOLID92 和 SOLID95壳单元:SHELL93二维单元用于平面应力问题。指定要优化和不优化的区域只有单元类型号为 1 的单元才能做拓扑优化。可以使用这种限制控制模型优化和不优化的部分。例如,如果要保留接近圆孔部分或支架部分的材料,将这部分单元类型号指定为 2 或更大即可:ET,1,SOLID92
8、ET,2,SOLID92TYPE,1VSEL,S,NUM,1,2 !用这些单元划分的实体将被优化VMESH,ALLTYPE,2VSEL,S,NUM,3 !用这些单元划分的实体将保持原状VMESH,ALL用户可以使用 ANSYS 的选择和修改命令控制单元划分和类型号定义。定义和控制载荷工况可以在单个载荷工况和多个载荷工况下做拓扑优化。单载荷工况是最简便的。要在几个独立的载荷工况中得到优化结果时,必须用到写载荷工况和求解功能。在定义完每个载荷工况后,要用 LSWRITE 命令将数据写入文件,然后用LSSOLVE 命令求解载荷工况的集合。例如,下面的输入演示如何将三个载荷工况联合做一个拓扑优化分析。
9、D,10,ALL,0,20,1 !定义第一个载荷工况的约束和载荷NSEL,S,LOC,Y,0SF,ALLSELLSWRITE,1 !写第一个载荷工况DDEL,SFDEL,NSEL,S,LOC,X,0,1D,ALL,ALL,0NSEL,ALLF,212,FXLSWRITE,2 !写第二个载荷工况LSWRITE,3 !写第三个载荷工况FINISH/SOLUTIONTOPDEF,10,3 !定义优化的参数LSSOLVE,1,3,1 !在拓扑优化前做所有三个载荷工况求解定义和控制优化过程拓扑优化过程包括两部分:定义优化参数和进行拓扑优化。用户可以用两种方式运行拓扑优化:控制并执行每一次迭代,或自动进行
10、多次迭代。ANSYS 有三个命令定义和执行拓扑优化:TOPDEF,TOPEXE 和 TOPITER。TOPDEF命令定义要省去材料的量,要处理载荷工况的数目,收敛的公差。TOPEXE 命令执行一次优化迭代。TOPITER 命令执行多次优化迭代。定义优化参数首先要定义优化参数。用户要定义要省去材料的百分比,要处理载荷工况的数目,收敛的公差。命令:TOPDEFGUI:Main MenuSolution-Solve-Topological opt注本步所定义的内容并不存入 ANSYS 数据库中,因此在下一个拓扑优化中要重新使用 TOPDEF 命令。执行单次迭代定义好优化参数以后,可以执行一次迭代。迭
11、代后用户可以查看收敛情况并绘出或列出当前的拓扑优化结果。可以继续做迭代直到满足要求为止。如果是在GUI 方式下执行,在 Topological Optimization 对话框(ITER 域)中选择一次迭代。命令:TOPEXEGUI:Main MenuSolution-Solve-Topological opt下面的例子说明了如何在拓扑优化中每次执行一次迭代:/SOLUTIONTOPDEF,25,1 !移去 25%体积并处理一个载荷工况SOLVE !执行第一次应力分析TOPEXE !执行第一次拓扑优化迭代FINISH/POST1 !进入后处理器PLNSOL,TOP0 !画出优化结果*GET,T
12、IPSRAT,TOPO,CONV !读取拓扑收敛状态*STATUS,TOPSTAT !列表/SOLUTIONSOLVE !执行第二次应力分析TOPEXE !执行第二次拓扑优化迭代FINISH/POST1TOPEXE 的主要优点是用户可以设计自己的迭代宏进行自动优化循环和绘图。在下一节,可以看到 TOPITER 命令是一个 ANSYS 的宏,用来执行多次优化迭代。自动执行多次迭代在定义好优化参数以后,用户可以自动执行多次迭代。在迭代完成以后,可以查看收敛情况并绘出或列出当前拓扑形状。如果需要的话,可以继续执行求解和迭代。TOPITER 命令实际是一个 ANSYS 的宏,可以拷贝和定制(见 APD
13、L Programmers Guide)。命令:TOPITERGUI:Main MenuSolution-Solve-Topological opt下面的例子说明了如何使用 TOPITER 宏执行多次迭代: !定义并写第一个载荷工况LSWRITE !定义并写第二个载荷工况LSWRITE !定义并写第三个载荷工况 LSWRITETOPDEF,80,3,.001 !80%体积减少,3 个载荷工况 0.001 为收敛公差/DSCALE,OFF !关闭形状改变/CONTOUR,3 !每次显示 3 个轮廓数值TOPITER,20,1 !最大 20 次迭代。每次迭代求解并绘出 结果每次迭代执行一次 LSS
14、OLVE 命令,一次 TOPEXE 命令和一次 PLNSOL,TOPO 显示命令。当收敛公差达到(用 TOPDEF 定义)或最大迭代次数(用 TOPITER 定义)达到时优化迭代过程终止。查看结果。拓扑优化结束后,ANSYS 结果文件(Jobname.RST)将存储优化结果供通用后处理器使用。用户可以使用后面提到的后处理命令。要得到更详细的信息,请查阅 ANSYS Commands Reference 或 ANSYS Basic Analysis Procedures Guide 第五章。要列出结点解和/或绘出伪密度,使用 PRNSOL 和 PLNSOL 命令的 TOPO 变量。要列出单元解和
15、/或绘出伪密度,使用 PLESOL 和 PRESOL 命令的 TOPO 变量。可以使用 ANSYS 表格功能查看结果:ETABLE,EDENS,TOPOPLETAB,EDENSPRETAB,EDENSESEL,S,ETAB,EDENS,0.9,1.0EPLOT要查看最近(最后一次迭代)的收敛情况和结构变形能,使用*GET 命令:*GET,TOPCV,TOP0,CONV !如果 TOPCV=1(收敛)*GET,ECOMP,TP0,COMP !ECOMP=变形能*STAT ANSYS 拓扑优化什么是拓扑优化拓扑优化是指形状优化,有时也称为外型优化。 拓扑优化的目标是寻找承受单载荷或多载荷的物体的最
16、佳材料分配方案。这种方案在拓扑优化中表现为“最大刚度”设计。与传统的优化设计不同的是,拓扑优化不需要给出参数和优化变量的定义。目标函数、状态变量和设计变量(参见“优化设计”一章)都是预定义好的。用户只需要给出结构的参数(材料特性、模型、载荷等)和要省去的材料百分比。i)给每个有限元的单元赋予内部伪密度来实现。这些伪密度用 PLNSOL,TOPO命令来绘出。拓扑优化的目标目标函数是在满足结构的约束(V)情况下减少结构的变形能。减小结构的变形能相当于提高结构的刚度。这个技术通过使用设计变量(例如,给定 V=60 表示在给定载荷并满足最大刚度准则要求的情况下省去 60%的材料。图 1 表示满足约束和载荷要求的拓扑优化结果。图 1a 表示载荷和边界条件,图 1b 表示以密度云图形式绘制的拓扑结果。图片 1 体积减少 60%的拓扑优化示例