
如何利用ANSYS进行拓扑优化转.doc
20页如何利用 ANSYS 进行拓扑优化、八 、亠前言就目前而言,利用有限元进行优化主要分成两个阶段:(1) 进行拓扑优化, 明确零件最佳的外形、 刚度、体积,或者合理的固有频率, 主要目的是确定优化的方向;( 2) 进行尺寸优化, 主要目的是确定优化后的的零件具体尺寸值, 通常是在完 成拓扑优化之后,再执行尺寸优化在 ANSYS 中,利用拓扑优化,可以完成以下两个目的:( 1) 在特定载荷和约束的条件下, 确定零件的最佳外形, 或者最小的体积 (或 者质量);( 2) 利用拓扑优化, 使零件达到需要的固有频率, 避免在使用过程中产生共振 等不利影响本文主要就在 ANSYS 环境中如何执行拓扑优化进行说明1利用ANSYS进行拓扑优化的过程在ANSYS中,执行优化,通常分为以下 6个步骤:1.1、定义需要求解的结构问题对于结构进行优化分析,定义结构的物理特性必不可少,例如,需要定义 结构的杨氏模量、泊松比(其值在 0.1〜0.4之间)、密度等相关的结构特性方面 的信息,以供结构计算能够正常执行下去1.2 、选择合理的优化单元类型在 ANSYS 中,不是所有的单元类型都可以执行优化的, 必须满足如下的规 定:(1)2D 平面单元: PLANE82 单元和 PLANE183 单元;(2)3D 实体单元: SOLID92 单元和 SOLID95 单元;(3)壳单元: SHELL93 单元。
上述单元的特性在帮助文件中有详细的说明, 同时对于 2D 单元,应使用平 面应力或者轴对称的单元选项1.3 、指定优化和非优化的区域在 ANSYS 中规定,单元类型编号为 1 的单元,才执行优化计算;否则,就 不执行优化计算 例如,对于结构分析中, 对于不能去除的部分区域将单元类型 编号设定为》2,就可以不执行优化计算,请见下面的代码片段:Et,1,solid92Et,2,solid92Type,1Vsel,s,num,,1,2Vmesh,allType,2Vsel,s,num,,3Vmesh,all说明:上述代码片段定义相同的单元类型(solid92),但编号分别为1和2, 并将单元类型编号 1 利用网格划分分配给了 1#体和 2#体,从而对其进行优化 计算;而单元编号为 2 利用网格划分分配给了 3#体,从而不执行优化计算1.4、 定义载荷步或者需要提取的频率1.4.1 线性结构静态分析对于结构优化而言,其总是在特定的载荷(或者载荷步) ,约束和目标下进 行的,在优化分析的过程中, 必须执行线性结构静态分析, 才能获得需要的优化 之后的形状在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,2Lswrite,3FinishTocomp,mcomp,multiple,3Tovar,mcomp,objTovar,volume,con,,10TodefToloop,20说明:该代码片段首先定义了 3个载荷步,并利用 LSWRITE 命令将载荷步 预存;之后利用Tocomp命令定义优化任务目标名称 mcomp,并将体积减少10% 作为优化的约束条件,之后用 Todef 初始化优化过程,最后利用 Toloop 命令执 行优化计算,最大计算次数 20 次相关命令:TOCOMP、TOVAR、TODEF、TOEXE、TOLOOP 和简要说明1 ) TOCOMP : 定 义 结 构 优 化 任 务 目 标 如 何 理 解COMPLIANCE : Complianee本意是一致性,统一性,在结构优化分析中,特别是对于多个载荷步, 需要在多个载荷步之间取得一致性的结果, 才能 满足结构优化分析的目标)(2) TOVAR :定义优化变量,可以是目标变量,也可以是约束变量等;3)TODEF :定义优化的初始化条件或者收敛准则;4)TOEXE :执行单次优化计算;5)TOLOOP :批量执行多次优化分析计算。
说说 TOEXE 和 TOLOOP 之间的区别: TOEXE 执行单次优化分析计算, 其本身不执行结构分析过程, 因此,在利用 TOEXE 命令执行优化计算之前, 需 要利用SOLVE或者LSSOLVE命令先执行结构静态分析计算;而TOLOOP是一 个执行优化计算的宏命令,其中包含了 SOLVE和LSSOLVE等命令,因此在上 述代码片段中没有出现 SOLVE或者LSSOLVE命令就使用的便利性而言,利 用 TOLOOP 命令可能更方便,但是利用 TOEXE 命令用户可以创建自己的优化宏命令,各有所长,主要是看用户如何使用这两个命令了1.4.2 模态优化分析在执行模态优化分析之前,需要使用 TOFREQ 和 TOVAR 定义模态分析任 务名称和优化分析变量,这点和上述的结构优化分析过程类似值得注意的是, 在利用MXPAND指定模态频率分析计算中,需要将单元计算设定为“YES”,这 样才能利用 TOEXE 命令正常执行优化计算过程, 当然在 MXPAND 之前还要使 用 modopt 命令设定模态计算的选项;而利用 TOLOOP 命令执行模态优化分析 计算过程中, 由于 TOLOOP 是编制好的宏命令, 不需要使用 MXPAND 等命令, 请见下面的代码片段:/solutionAntype,modalFinishTofreq,mfreq,reciprocal,3Tovar,mfreq,objTovar,volume,con,,50Todef,1.0d-4Toloop,20说明:首先定义模态求解作为分析类型,之后利用 tofreq 设定频率优化作 为优化任务,名称为mfreq (其中reciprocal表示多阶模态频率,本例中为前3阶 模态),并利用命令 tovar 设定了体积减少 50%作为优化的约束条件,之后设定 优化的收敛准则,最后利用toloop命令执行最多20次优化迭代计算。
在本例中, 因为toloop是一个宏命令,所以并没有显式的使用 modopt和mxpand命令,如 果使用toexe命令,则用户必须显式的使用 modopt和mxpand命令1.5 、对优化过程进行定义和控制在 ANSYS 中执行优化过程有 2 种方式:(1)采用solve和toexe命令相结合的机制,一步一步的执行优化计算, 直到满足用户的优化目标和约束条件为止 2) 采用 toloop 宏命令执行优化计算,可执行多次优化分析计算说明:采用第二种方式操作更简单,推荐采用 总体上来说,执行优化计算过程大致上分为 4 个步骤:( 1 ) 定义优化函数(或者方式和任务) ;( 2) 定义优化目标或者约束条件;( 3) 初始化优化过程;( 4) 执行优化计算(可以是单次计算,也可以自动批量计算) 以下分别进行描述:1.5.1、定义优化函数在 ANSYS 中,主要采用以下两种方式定义优化函数:(1) 利用 TOCOMP 定义结构优化;(2) 利用 TOFREQ 定义频率优化 说明:可以利用 TOLIST 命令例举出所有定义了的优化函数1.5.2、定义优化目标或者约束条件定义优化目标或者约束条件主要是利用 TOVAR 命令设定,看看下面的代 码片段:Tocomp,comp,single,1Tovar, comp, objTovar,Volume,con,,25Todef, 1.0d-4Toloop,10,1说明:首先利用tocomp命令定义了一个单步(single)的结果优化分析任务, 并将任务名称(comp)作为优化任务,并设定体积减少25%作为优化约束条件, 之后初始化优化过程,并利用toloop命令批量执行优化计算,当然,可以使用tostat 命令查询 tovar、todef 和 totype 命令的设定状态( totype 命令设定优化类型,具 体说明可以参见帮助文件) 。
同样,也可以利用如下的命令格式删除已经定义好 的优化任务名称或者约束条件:Tovar, Reference_Name DEL可以定义的优化目标和约束条件的组合方式见下表:序号优化类型优化目标约束条件1结构优化(TOCOMP )单步优化(sin gle)体积(VOLUME )2多步优化(Multiple)体积(VOLUME )3频率优化(TOFREQ )单阶频率优化(Sin gle)体积(VOLUME )4加权平均频率优化(Weighted Mea n)体积(VOLUME )5一致平均频率优化(Reciprocal Mean)体积(VOLUME )6欧几里德范数频率优化(Euclidean norm)体积(VOLUME )7体积(VOLUME )单步结构载荷8体积(VOLUME )多部结构载荷1.5.3、初始化优化过程初始化优化过程主要是利用TOTYPE和TODEF命令分别设定优化计算执 行的方式和终止计算(或者计算收敛的精度),具体说明如下:(1) TOTYPE :设定优化计算执行方式,主要有优化准则方式( OptimalityCriteria)和顺序凸状程序方式(Sequential Convex Programming OC 方式 可以定义仅将体积作为约束条件,而 SCP方式必须定义优化计算的目标。
2) TODEF :设定优化计算的终止方式或者收敛精度说明:优化计算的设定参数并不保存到数据库中,如果用户利用 RESUME恢复数据库,贝U需要重新禾I」用 TOCOMP、TOFREQ、TOVAR、TOTYPE、TODEF 等命令进行重新设定1.5.4、执行优化计算执行优化计算分为单次优化计算和批量多次自动优化计算两种方式,以下分别说明:( 1) 利用 SOLVE TOEXE 方式,看看下面的代码片段:TOCOMP ,COMP,Single,1TOVAR ,COMP,OBJTOVAR ,VOLUME ,CON ,, 25TOTYPE ,OCTODEF ,1.0d-4/SOLUTIONSOLVETOEXEFINISH/POST1PLNSOL,TOPO*GET ,TOPSTAT,TOPO ,,CONV*STAT ,TOPSTAT/SOLUTIONSOLVETOEXEFINISH/POST1说明:首先利用 TOCOMP 、TOVAR 等命令设定好优化定义,之后进入求 解模块,利用 SOLVE TOEXE 命令组合求解单次优化计算, 之后进入后处理模 块,显示拓扑优化的结果; 再进入求解模块, 再一次执行优化计算, 直到满足用 户的计算目标为止。
再看看一个利用单步优化计算进行频率优化的代码片段:TOFREQ ,FREQ1,SINGLE ,1TOVAR ,FREQ1,OBJTOVAR ,VOLUME ,CON ,, 25TOTYPE ,SCPT。












