《2022年如何利用ANSYS进行拓扑优化.docx》由会员分享,可在线阅读,更多相关《2022年如何利用ANSYS进行拓扑优化.docx(32页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选学习资料 - - - - - - - - - 如何利用 ANSYS 进行拓扑优化前言就目前而言,利用有限元进行优化主要分成两个阶段:(1) 进行拓扑优化, 明确零件正确的外形、 刚度、体积,或者合理的固有频率,主要目的是确定优化的方向;(2) 进行尺寸优化, 主要目的是确定优化后的的零件具体尺寸值,通常是在完 成拓扑优化之后,再执行尺寸优化;在 ANSYS中,利用拓扑优化,可以完成以下两个目的:(1) 在特定载荷和约束的条件下, 确定零件的正确外形, 或者最小的体积 (或 者质量);(2) 利用拓扑优化, 使零件达到需要的固有频率, 防止在使用过程中产生共振 等不利影响;本文主要就在 AN
2、SYS 环境中如何执行拓扑优化进行说明;名师归纳总结 - - - - - - -第 1 页,共 21 页精选学习资料 - - - - - - - - - 1、利用 ANSYS 进行拓扑优化的过程在 ANSYS中,执行优化,通常分为以下 6 个步骤:定义需要求解的结构问题挑选合理的优化单元类型设定优化和非优化的区域定义载荷步或者需要提取的频率对优化过程进行定义和掌握运算并查看结果1.1 、定义需要求解的结构问题对于结构进行优化分析,定义结构的物理特性必不行少,例如,需要定义结构的杨氏模量、泊松比(其值在0.10.4 之间)、密度等相关的结构特性方面名师归纳总结 - - - - - - -第 2
3、页,共 21 页精选学习资料 - - - - - - - - - 的信息,以供结构运算能够正常执行下去;1.2 、挑选合理的优化单元类型在 ANSYS中,不是全部的单元类型都可以执行优化的,必需满意如下的规定:(1)2D 平面单元: PLANE82 单元和 PLANE183 单元;(2)3D 实体单元: SOLID92 单元和 SOLID95 单元;(3)壳单元: SHELL93 单元;上述单元的特性在帮忙文件中有具体的说明,面应力或者轴对称的单元选项;1.3 、指定优化和非优化的区域同时对于 2D 单元,应使用平在 ANSYS中规定,单元类型编号为 1 的单元,才执行优化运算;否就,就 不执
4、行优化运算; 例如,对于结构分析中, 对于不能去除的部分区域将单元类型 编号设定为 2,就可以不执行优化运算,请见下面的代码片段: Et,1,solid92 Et,2,solid92 Type,1 Vsel,s,num,1,2 名师归纳总结 - - - - - - -第 3 页,共 21 页精选学习资料 - - - - - - - - - Vmesh,all Type,2 Vsel,s,num,3 Vmesh,all 说明:上述代码片段定义相同的单元类型(solid92),但编号分别为 1 和 2,并将单元类型编号 1 利用网格划分安排给了 1体和 2体,从而对其进行优化运算;而单元编号为 2
5、 利用网格划分安排给了 3体,从而不执行优化运算;1.4、定义载荷步或者需要提取的频率1.4.1 线性结构静态分析对于结构优化而言,其总是在特定的载荷(或者载荷步),约束和目标下进行的,在优化分析的过程中, 必需执行线性结构静态分析,才能获得需要的优化之后的外形; 在 ANSYS 中,可以对单步载荷或者多步载荷执行优化分析,当然,单步载荷是最简洁的了;然而,对于某个特定载荷步,必需使用 LSWRITE 载荷步储备命令将载荷步预存起来,再用 先看看下面的代码片段: D,10,all,0,20,1 LSSOLVE 命令进行求解;名师归纳总结 - - - - - - -第 4 页,共 21 页精选学
6、习资料 - - - - - - - - - Nsel,s,loc,y,0 Sf, Allsel Lswrite,1 Ddel, Sfdel, Nsel,s,loc,x,0,1 D,all,all,0 F,212,fx, Lswrite,2 Lswrite,3 Finish Tocomp,mcomp,multiple,3 Tovar,mcomp,obj Tovar,volume,con,10 Todef Toloop,20 名师归纳总结 - - - - - - -第 5 页,共 21 页精选学习资料 - - - - - - - - - 说明:该代码片段第一定义了3 个载荷步, 并利用 LSWRI
7、TE 命令将载荷步预存;之后利用 Tocomp 命令定义优化任务目标名称 mcomp,并将体积削减 10作为优化的约束条件,之后用 Todef 初始化优化过程,最终利用 Toloop 命令执行优化运算,最大运算次数 20 次;相关命令: TOCOMP、TOVAR 、TODEF 、TOEXE 、TOLOOP 和简要说明;(1)TOCOMP : 定 义 结 构 优 化 任 务 目 标 ;( 如 何 理 解COMPLIANCE :Compliance本意是一样性,统一性,在结构优化分析中,特殊是对于多个载荷步, 需要在多个载荷步之间取得一样性的结果,才能满意结构优化分析的目标)(2)TOVAR :定
8、义优化变量,可以是目标变量,也可以是约束变量等;(3)TODEF :定义优化的初始化条件或者收敛准就;(4)TOEXE :执行单次优化运算;(5)TOLOOP :批量执行多次优化分析运算;说说 TOEXE 和 TOLOOP 之间的区分: TOEXE 执行单次优化分析运算,其本身不执行结构分析过程,因此,在利用TOEXE 命令执行优化运算之前,需要利用 SOLVE 或者 LSSOLVE 命令先执行结构静态分析运算; 而 TOLOOP 是一个执行优化运算的宏命令,其中包含了SOLVE 和 LSSOLVE 等命令,因此在上述代码片段中没有显现 SOLVE 或者 LSSOLVE 命令;就使用的便利性而
9、言,利用 TOLOOP 命令可能更便利,但是利用TOEXE 命令用户可以创建自己的优化名师归纳总结 - - - - - - -第 6 页,共 21 页精选学习资料 - - - - - - - - - 宏命令,各有所长,主要是看用户如何使用这两个命令了;1.4.2 模态优化分析在执行模态优化分析之前,需要使用TOFREQ 和 TOVAR 定义模态分析任务名称和优化分析变量,这点和上述的结构优化分析过程类似;值得留意的是,在利用 MXPAND 指定模态频率分析运算中, 需要将单元运算设定为 “ YES”,这样才能利用 TOEXE 命令正常执行优化运算过程,当然在MXPAND 之前仍要使用 modo
10、pt 命令设定模态运算的选项;而利用 TOLOOP 命令执行模态优化分析 运算过程中, 由于 TOLOOP 是编制好的宏命令, 不需要使用 MXPAND 等命令,请见下面的代码片段: /solution Antype,modal Finish Tofreq,mfreq,reciprocal,3 Tovar,mfreq,obj Tovar,volume,con,50 Todef,1.0d-4 Toloop,20 名师归纳总结 - - - - - - -第 7 页,共 21 页精选学习资料 - - - - - - - - - 说明:第一定义模态求解作为分析类型,之后利用tofreq 设定频率优化作
11、为优化任务,名称为 mfreq(其中 reciprocal表示多阶模态频率,本例中为前 3 阶模态),并利用命令 tovar 设定了体积削减 50作为优化的约束条件,之后设定优化的收敛准就, 最终利用 toloop 命令执行最多 20 次优化迭代运算; 在本例中,由于 toloop 是一个宏命令,所以并没有显式的使用modopt 和 mxpand 命令,如果使用 toexe命令,就用户必需显式的使用 modopt 和 mxpand命令;1.5 、对优化过程进行定义和掌握在 ANSYS中执行优化过程有 2 种方式:(1) 采纳 solve和 toexe 命令相结合的机制,一步一步的执行优化运算,
12、直到满意用户的优化目标和约束条件为止;(2) 采纳 toloop 宏命令执行优化运算,可执行多次优化分析运算;说明:采纳其次种方式操作更简洁,举荐采纳;总体上来说,执行优化运算过程大致上分为 4 个步骤:(1) 定义优化函数(或者方式和任务) ;(2) 定义优化目标或者约束条件;(3) 初始化优化过程;(4) 执行优化运算(可以是单次运算,也可以自动批量运算);以下分别进行描述:1.5.1、定义优化函数在 ANSYS中,主要采纳以下两种方式定义优化函数:名师归纳总结 - - - - - - -第 8 页,共 21 页精选学习资料 - - - - - - - - - (1)利用 TOCOMP 定
13、义结构优化;(2)利用 TOFREQ 定义频率优化;说明:可以利用 TOLIST 命令例举出全部定义了的优化函数;1.5.2、定义优化目标或者约束条件定义优化目标或者约束条件主要是利用码片段: Tocomp,comp,single,1 Tovar,comp,obj Tovar,Volume,con,25 Todef,1.0d-4 Toloop,10,1 TOVAR 命令设定,看看下面的代说明:第一利用 tocomp 命令定义了一个单步 (single)的结果优化分析任务,并将任务名称( comp)作为优化任务,并设定体积削减25作为优化约束条件,之后初始化优化过程, 并利用 toloop命令批
14、量执行优化运算, 当然,可以使用 tostat 命令查询 tovar、todef 和 totype 命令的设定状态( totype 命令设定优化类型,具体说明可以参见帮忙文件) ;同样,也可以利用如下的命令格式删除已经定义好的优化任务名称或者约束条件:名师归纳总结 - - - - - - -第 9 页,共 21 页精选学习资料 - - - - - - - - - Tovar,Reference_Name,DEL 可以定义的优化目标和约束条件的组合方式见下表:序号优化类型优化目标约束条件1 结构优化单步优化体积2 (TOCOMP )(single)(VOLUME )多步优化体积3 频率优化(Mu
15、ltiple )(VOLUME )单阶频率优化体积4 (TOFREQ )(Single)(VOLUME )加权平均频率优化体积5 (Weighted Mean)(VOLUME )一样平均频率优化体积6 (Reciprocal Mean)(VOLUME )欧几里德范数频率优化体积7 (Euclidean norm)(VOLUME )体积( VOLUME )单步结构载荷8 体积( VOLUME )多部结构载荷1.5.3、初始化优化过程初始化优化过程主要是利用TOTYPE 和 TODEF 命令分别设定优化运算执行的方式和终止运算(或者运算收敛的精度),具体说明如下:(1) TOTYPE :设定优化运
16、算执行方式,主要有优化准就方式(Optimality Criteria)和次序凸状程序方式( Sequential Convex Programming),OC 方式可以定义仅将体积作为约束条件,而SCP方式必需定义优化运算的目标;(2) TODEF :设定优化运算的终止方式或者收敛精度;说明:优化运算的设定参数并不储存到数据库中,假如用户利用 RESUME 复原数据库,就需要重新利用 TOCOMP、TOFREQ、TOVAR 、TOTYPE 、TODEF 等命令进行重新设定;名师归纳总结 - - - - - - -第 10 页,共 21 页精选学习资料 - - - - - - - - - 1.
17、5.4、执行优化运算执行优化运算分为单次优化运算和批量多次自动优化运算两种方式,以下分别说明:(1) 利用 SOLVE TOEXE 方式,看看下面的代码片段: TOCOMP ,COMP,Single,1 TOVAR ,COMP,OBJ TOVAR ,VOLUME ,CON,25 TOTYPE ,OC TODEF ,1.0d-4 /SOLUTION SOLVE TOEXE FINISH /POST1 PLNSOL,TOPO *GET ,TOPSTAT,TOPO,CONV *STAT,TOPSTAT /SOLUTION SOLVE TOEXE 名师归纳总结 - - - - - - -第 11 页,
18、共 21 页精选学习资料 - - - - - - - - - FINISH /POST1 说明:第一利用 TOCOMP、TOVAR 等命令设定好优化定义,之后进入求解模块,利用 SOLVETOEXE 命令组合求解单次优化运算, 之后进入后处理模块,显示拓扑优化的结果;再进入求解模块,再一次执行优化运算,直到满意用户的运算目标为止;再看看一个利用单步优化运算进行频率优化的代码片段: TOFREQ,FREQ1,SINGLE ,1 TOVAR ,FREQ1,OBJ TOVAR ,VOLUME ,CON,25 TOTYPE ,SCP TODEF ,1.0d-4 /SOLUTION ANTYPE ,MO
19、DAL MODOPT ,LANB ,1 MXPAND ,1,YES SOLVE TOEXE FINISH 名师归纳总结 - - - - - - -第 12 页,共 21 页精选学习资料 - - - - - - - - - TOPLOT ,0 *GET ,TOPSTAT,TOPO,CONV *STAT,TOPSTAT /SOLUTION SOLVE TOEXE FINISH TOPLOT ,0 说明:采纳单步优化频率运算过程类似于单步结构优化运算过程,不再赘述;(2) 自动批量多次优化运算 该方式是 ANSYS 中举荐采纳的优化运算方式,主要命令是 TOLOOP ,其本身是一个宏命令, 看看下面
20、的代码片段, 并要留意和 SOLVE TOEXE 方式的 区分: LSWRITE LSWRITE 名师归纳总结 - - - - - - -第 13 页,共 21 页精选学习资料 - - - - - - - - - LSWRITE TOCOMP ,MCOMP,MULTIPLE ,3 TOVAR ,MCOMP,OBJ TOVAR ,VOLUME ,CON,30 TODEF ,0.001 TOLOOP ,20,1 说明:本段程序代码第一定义3 个载荷步,之后定义了优化分析的设定等,最终利用 TOLOOP 命令执行最多 20次的优化运算迭代;1.6 、查看优化运算的结果当优化运算完毕,优化的结果存放在
21、结果文件中(如下的命令格式查看优化运算的结果:*.RST),用户可以使用(1) 对于节点运算的结果, 用 PLNSOL,TOPO 或者 PRNSOL,TOPO 显示虚密度(虚密度是指去除和保留部分的指标,是一个01 之间的值,虚密度为 0,表示可以去除;虚密度为 1,表示应当保留),当然也可以使用TOPLOT ,0 命令显示节点运算结果;(2) 对于单元运算的结果,用PLESOL,TOPO 或者 PRESOL,TOPO 显示虚密度,当然也可以使用 TOPLOT ,1 命令显示单元运算结果;(3) 另外,也可以使用TOGRAPH 和 TOPRINT 显示优化运算过程,看看下名师归纳总结 - -
22、- - - - -第 14 页,共 21 页精选学习资料 - - - - - - - - - 面的代码片段: /POST1 TOPLOT ,1 PLNSOL,TOPO TOGRAPH ,OBJ TOGRAPH ,CON ,VOLUME TOPRINT ,OBJ TOPRINT ,CON (4) 也可以利用 ANSYS 中的单元表格功能进行结果显示,看看下面的代码片 段: ETABLE ,EDENS ,TOPO PLETAB ,EDENS PRETAB,EDENS ESEL,S,ETAB ,EDENS ,0.9,1.0 EPLOT 名师归纳总结 - - - - - - -第 15 页,共 21
23、页精选学习资料 - - - - - - - - - (5) 如何查看优化运算过程是否收敛和迭代的次数?看看下面的代码片段: *GET ,TOPCV,TOPO,CONV *GET ,TITER ,TOPO,ITER *GET ,TOBJ,TOPO,ITER 1,TOHO *GET ,TCON ,TOPO,ITER 1,TOHC ,1 *STAT, 说明:变量 TOPCV1 表示优化运算收敛, TITER 变量表示优化运算的次数, TOBJ 变量表示优化运算最终的目标值,TCON 变量表示约束条件值;(6) 对于频率优化运算,特殊是对于加权平均、一样性平均和欧几里德范数,可以通过如下的代码片段命令
24、获得优化运算后的频率: *GET ,FREQ1,MODE ,1,FREQ *GET ,FREQ2,MODE ,2,FREQ *GET ,FREQ3,MODE ,3,FREQ 名师归纳总结 - - - - - - -第 16 页,共 21 页精选学习资料 - - - - - - - - - 说明:可以进入后处理模块(应的振形;/POST1)和利用 SET 和 PLDISP 命令获得对名师归纳总结 - - - - - - -第 17 页,共 21 页精选学习资料 - - - - - - - - - 2、拓扑优化有关的命令简要说明总体说明:拓扑优化的命令均以TO 开头,共计 12 个,现简洁说明如下
25、:(1)TOCOMP,REFName,Type,NUMLC ,LCARR 命令功能:定义单步或者多部一样性结果拓扑优化任务;参数说明:REFName:优化任务名称,最多 8 个字符;Type:优化载荷步类型,可以是Single(单步)或者 Multiply(多步);NUMLC :对于单步载荷,指定对哪个载荷步进行优化运算;对于多步载荷,指 定需要考虑的载荷步总数;LCARR:对于多步载荷,利用该参数可以定义多个载荷步之间权重,需要将各 个载荷步的权重先定义在一个数组中,再用权重数组的方式加以引用;(2)TOFREQ,REFName,Type,NFreq,Frqarr,TargVal 命令功能:
26、定义单个或者多个频率拓扑优化任务;参数说明:8 个字符;REFName:优化任务名称,最多 Type:可以是 Single、Weighted、Reciprocal、Euclidean四种优化形式;NFreq:对于 TypeSingle,该参数表示频率的标志值; 对于 Weighted、Reciprocal、Euclidean这三种方式,该参数表示频率的总体阶数;Frqarr:对于 TypeWeighted、Reciprocal,该参数表示加权数组, 用权重数组的方式加以引用;对于TypeEuclidean,该参数表示目标频率;TargVal:对于 TypeReciprocal,该参数用于定义目
27、标频率;名师归纳总结 - - - - - - -第 18 页,共 21 页精选学习资料 - - - - - - - - - (3) TOVAR ,REFName,Type,Lower,Upper,Boundtype 命令功能:定义优化变量和类型;参数说明:REFName:优化任务名称,最多8 个字符,它是利用TOCOMP 或者 TOFREQ命令定义的;Type:优化变量类型,可以是OBJ、CON 和 DEL ;Lower:当 TypeCON 时,优化变量的下限;Upper:当 TypeCON 时,优化变量的上限;Boundtype:当 TypeCON 时,表示优化变量的类型,可以是 PERCE
28、NT(百分 数)或者 ACTUAL (实际值);命令缺省:TOVAR ,VOLUME ,OBJ (4) TOTYPE ,Type 命令功能:定义拓扑优化求解类型;参数说明:Type:可以是 OC(优化准就方式,默认值) ,或者 SCP(次序凸度程序方式) ;在使用 OC 方式时,只能将 VOLUME 作为限制条件,而 SCP方式可以对于任何 优化方式进行采纳;(5) TODEF ,ACCUR 命令功能:定义拓扑优化初始化精度掌握或者收敛准就;参数说明:名师归纳总结 ACCUR:精度掌握或者收敛精度,默认值0.0005;第 19 页,共 21 页- - - - - - -精选学习资料 - - -
29、 - - - - - - (6) TOEXE 命令功能:执行单次拓扑优化,无参数;(7) TOLOOP ,Niter,Plot 命令功能:批量执行多次拓扑优化运算;参数说明:Niter:优化运算执行次数,最大100次,默认值 1 次;Plot:Plot0 表示每次运算完成后不显示运算结果;Plot1 表示每次运算完成 后显示运算结果;(8) TOPLOT ,Aver 命令功能:显示拓扑优化运算的结果;参数说明:Aver:Aver0 表示显示的节点结果进行平滑处理(默认值);Aver1 表示显示 的节点不进行平滑处理;(9) TOSTAT 命令功能:显示拓扑优化的状态和运算结果信息,无参数;(1
30、0) TOPRINT ,Type,RefName 命令功能:打印拓扑优化迭代运算的历史过程信息;参数说明:Type:TypeOBJ 表示打印目标优化变量的求解过程 表示打印约束优化变量的求解过程 VS 迭代步数;VS 迭代步数; TypeCONRefName:当使用多步约束的参考名称,缺省是第一个约束名称;(11) TOGRAPH ,Type,RefName 名师归纳总结 - - - - - - -第 20 页,共 21 页精选学习资料 - - - - - - - - - 命令功能:打印拓扑优化迭代运算的历史过程信息;参数说明:Type:TypeOBJ 表示打印目标优化变量的求解过程 表示打印约束优化变量的求解过程 VS 迭代步数;VS 迭代步数; TypeCONRefName:当使用多个约束的参考名称,缺省是第一个约束变量名称;(12) TOLIST 命令功能:打印已定义的全部优化运算任务,无参数;名师归纳总结 - - - - - - -第 21 页,共 21 页