如何利用ANSYS进行拓扑优化(转)_第1页
如何利用ANSYS进行拓扑优化(转)_第2页
如何利用ANSYS进行拓扑优化(转)_第3页
如何利用ANSYS进行拓扑优化(转)_第4页
如何利用ANSYS进行拓扑优化(转)_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、如何利用 ansys 进行拓扑优化、夕 4,刖百就目前而言,利用有限元进行优化主要分成两个阶段:1) 进行拓扑优化, 明确零件最佳的外形、 刚度、 体积, 或者合理的固有频率,主要目的是确定优化的方向;2) 进行尺寸优化, 主要目的是确定优化后的的零件具体尺寸值, 通常是在完成拓扑优化之后,再执行尺寸优化。在 ansys 中,利用拓扑优化,可以完成以下两个目的:1) 在特定载荷和约束的条件下, 确定零件的最佳外形, 或者最小的体积 (或者质量) ;2) 利用拓扑优化, 使零件达到需要的固有频率, 避免在使用过程中产生共振等不利影响。本文主要就在ansys环境中如何执行拓扑优化进行说明。1、利用

2、ansys进行拓扑优化的过程在ansys中,执行优化,通常分为以下 6个步骤:(义需要求解的结构问题)(选择合理的优化单元类型)(设定优化和非优化的区域)_彳r_i定义载荷步或者需要提取的频率 )1 ;(对优化过程进行定义和控制,(计算并查看结果 1.1 、定义需要求解的结构问题对于结构进行优化分析,定义结构的物理特性必不可少,例如,需要定义 结构的杨氏模量、泊松比(具值在 0.10.4之间)、密度等相关的结构特性方面的信息,以供结构计算能够正常执行下去。1.2 、选择合理的优化单元类型在 ansys 中,不是所有的单元类型都可以执行优化的,必须满足如下的规定: 1) 2d平面单元:plane

3、82单元和plane183单元; 2) 2) 3d 实体单元: solid92 单元和 solid95 单元;(3)壳单元:shell93单元。上述单元的特性在帮助文件中有详细的说明, 同时对于 2d 单元, 应使用平面应力或者轴对称的单元选项。1.3 、指定优化和非优化的区域在 ansys 中规定,单元类型编号为1 的单元,才执行优化计算;否则,就不执行优化计算。 例如, 对于结构分析中, 对于不能去除的部分区域将单元类型编号设定为2,就可以不执行优化计算,请见下面的代码片段:et,1,solid92et,2,solid92type,1vsel,s,num,1,2vmesh,alltype,

4、2vsel,s,num,3vmesh,all说明:上述代码片段定义相同的单元类型(solid92) ,但编号分别为1 和 2,并将单元类型编号1 利用网格划分分配给了 1 体和2 体,从而对其进行优化计算;而单元编号为 2 利用网格划分分配给了3体,从而不执行优化计算。1.4 、 定义载荷步或者需要提取的频率1.4.1 线性结构静态分析对于结构优化而言,其总是在特定的载荷(或者载荷步) ,约束和目标下进行的, 在优化分析的过程中, 必须执行线性结构静态分析, 才能获得需要的优化之后的形状。 在 ansys 中, 可以对单步载荷或者多步载荷执行优化分析, 当然,单步载荷是最简单的了。然而,对于某

5、个特定载荷步,必须使用 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 命令将载荷步预存; 之

6、后利用 tocomp 命令定义优化任务目标名称mcomp, 并将体积减少10作为优化的约束条件,之后用 todef 初始化优化过程,最后利用 toloop 命令执行优化计算,最大计算次数20次。相关命令:tocomp、 tovar、 todef 、 toexe 、 toloop 和简要说明。( 1) tocomp : 定 义 结 构 优 化 任 务 目 标 。 ( 如 何 理 解compliance : compliance本意是一致性,统一性,在结构优化分析中,特别是对于多个载荷步, 需要在多个载荷步之间取得一致性的结果, 才能满足结构优化分析的目标)( 2) tovar :定义优化变量,可

7、以是目标变量,也可以是约束变量等;( 3) todef :定义优化的初始化条件或者收敛准则;( 4) toexe :执行单次优化计算;( 5) toloop :批量执行多次优化分析计算。说说 toexe 和 toloop 之间的区别: toexe 执行单次优化分析计算,其本身不执行结构分析过程,因此,在利用 toexe 命令执行优化计算之前,需要利用 solve 或者 lssolve 命令先执行结构静态分析计算; 而 toloop 是一个执行优化计算的宏命令,其中包含了 solve 和 lssolve 等命令,因此在上述代码片段中没有出现solve 或者 lssolve 命令。就使用的便利性而

8、言,利 用 toloop 命令可能更方便,但是利用 toexe 命令用户可以创建自己的优化 宏命令,各有所长,主要是看用户如何使用这两个命令了。1.4.2 模态优化分析在执行模态优化分析之前,需要使用 tofreq 和 tovar 定义模态分析任务名称和优化分析变量,这点和上述的结构优化分析过程类似。值得注意的是,在利用 mxpand 指定模态频率分析计算中, 需要将单元计算设定为“yes” , 这样才能利用 toexe 命令正常执行优化计算过程,当然在mxpand 之前还要使用 modopt 命令设定模态计算的选项;而利用 toloop 命令执行模态优化分析计算过程中, 由于 toloop

9、是编制好的宏命令, 不需要使用 mxpand 等命令,请见下面的代码片段:/solutionantype,modalfinishtofreq,mfreq,reciprocal,3tovar,mfreq,objtovar,volume,con,50todef,1.0d-4toloop,20说明:首先定义模态求解作为分析类型,之后利用 tofreq 设定频率优化作 为优化任务,名称为mfreq (其中reciprocal表示多阶模态频率,本例中为前3阶模态) ,并利用命令tovar 设定了体积减少50作为优化的约束条件,之后设定优化的收敛准则, 最后利用 toloop 命令执行最多 20次优化迭代

10、计算。 在本例中,因为toloop是一个宏命令,所以并没有显式的使用modopt和mxpand命令,如果使用toexe命令,则用户必须显式的使用modopt和mxpand命令。1.5 、对优化过程进行定义和控制在ansys中执行优化过程有2种方式:(1)采用solve和toexe命令相结合的机制,一步一步的执行优化计算,直到满足用户的优化目标和约束条件为止。( 2) 采用 toloop 宏命令执行优化计算,可执行多次优化分析计算。说明:采用第二种方式操作更简单,推荐采用。总体上来说,执行优化计算过程大致上分为 4 个步骤:( 1) 定义优化函数(或者方式和任务) ;( 2) 定义优化目标或者约

11、束条件;( 3) 初始化优化过程;( 4) 执行优化计算(可以是单次计算,也可以自动批量计算) 。以下分别进行描述:1.5.1、定义优化函数在 ansys 中,主要采用以下两种方式定义优化函数:( 1) 利用 tocomp 定义结构优化;( 2) 利用 tofreq 定义频率优化。说明:可以利用 tolist 命令例举出所有定义了的优化函数。1.5.2、 定义优化目标或者约束条件定义优化目标或者约束条件主要是利用 tovar 命令设定,看看下面的代码片段:tocomp, comp, single, 1tovar, comp, objtovar, volume, con, , 25todef,

12、1.0d-4toloop, 10, 1说明: 首先利用 tocomp 命令定义了一个单步( single) 的结果优化分析任务,并将任务名称(comp)作为优化任务,并设定体积减少25%作为优化约束条件,之后初始化优化过程,并利用10100p命令批量执行优化计算,当然,可以使用tostat命令查询tovar、 todef 和 totype 命令的设定状态( totype 命令设定优化类型,具体说明可以参见帮助文件) 。同样,也可以利用如下的命令格式删除已经定义好 的优化任务名称或者约束条件:tovar, reference_name del可以定义的优化目标和约束条件的组合方式见下表:序号优化

13、类型优化目标约束条件1结构优化(tocomp )单步优化(single)体积(volume )2多步优化(multiple)体积(volume )3频率优化(tofreq )单阶频率优化(single)体积(volume )4加权平均频率优化(weighted mean)体积(volume )5一致平均频率优化(reciprocal mean)体积(volume )6欧几里德范数频率优化(euclidean norm)体积(volume )7体积(volume );单步结构载荷一8体积(volume )多部结构载荷1.5.3、 初始化优化过程初始化优化过程主要是利用 totype和todef命

14、令分别设定优化计算执行的方式和终止计算(或者计算收敛的精度),具体说明如下:(1) totype :设定优化计算执行方式,主要有优化准则方式( optimalitycriteria)和顺序凸状程序方式(sequential convex programming oc 方式 可以定义仅将体积作为约束条件,而 scp方式必须定义优化计算的目标。(2) todef :设定优化计算的终止方式或者收敛精度。说明:优化计算的设定参数并不保存到数据库中,如果用户利用resume恢复数据库,贝u需要重新禾1j用 tocomp、tofreq、tovar、totype、todef等命令进行重新设定。1.5.4、执

15、行优化计算执行优化计算分为单次优化计算和批量多次自动优化计算两种方式,以下分别说明:( 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说明:首先利用 toco

16、mp 、 tovar 等命令设定好优化定义,之后进入求解模块, 利用 solve toexe 命令组合求解单次优化计算, 之后进入后处理模块,显示拓扑优化的结果;再进入求解模块,再一次执行优化计算,直到满足用户的计算目标为止。再看看一个利用单步优化计算进行频率优化的代码片段:tofreq, freq1, single , 1tovar , freq1, objtovar , volume , con , , 25totype , scptodef , 1.0d-4/solutionantype , modalmodopt , lanb , 1mxpand , 1, , , yessolveto

17、exefinishtoplot , 0*get , topstat , topo , , conv*stat , topstat/solutionsolvetoexefinishtoplot , 0说明:采用单步优化频率计算过程类似于单步结构优化计算过程,不再赘述。( 2) 自动批量多次优化计算该方式是 ansys 中推荐采用的优化计算方式,主要命令是toloop ,其本身是一个宏命令, 看看下面的代码片段, 并要注意和 solve toexe 方式的区别:lswritelswritelswritetocomp , mcomp, multiple , 3tovar , mcomp , objt

18、ovar , volume , con , , 30todef , 0.001toloop , 20, 1说明:本段程序代码首先定义3 个载荷步,之后定义了优化分析的设定等,最后利用 toloop 命令执行最多 20次的优化计算迭代。1.6 、查看优化计算的结果当优化计算完毕,优化的结果存放在结果文件中(*.rst) ,用户可以使用如下的命令格式查看优化计算的结果:( 1) 对于节点计算的结果, 用 plnsol , topo 或者 prnsol, topo 显示虚密度(虚密度是指去除和保留部分的指标,是一个01之间的值,虚密度为0,表示可以去除;虚密度为1,表示应该保留) ,当然也可以使用t

19、oplot , 0命令显示节点计算结果。( 2) 对于单元计算的结果,用 plesol, topo 或者 presol, topo 显示虚密度,当然也可以使用 toplot , 1 命令显示单元计算结果。( 3) 另外,也可以使用 tograph 和 toprint 显示优化计算过程,看看下/post1toplot , 1plnsol , topotograph , objtograph , con , volumetoprint , objtoprint , con4) 也可以利用 ansys 中的单元表格功能进行结果显示,看看下面的代码片etable , edens , topopleta

20、b , edenspretab , edensesel, s, etab , edens , 0.9, 1.0eplot5) 如何查看优化计算过程是否收敛和迭代的次数?看看下面的代码片段:* get , topcv , topo , , conv* get , titer , topo, , iter* get , tobj, topo, iter1, toho* get , tcon , topo, iter1, tohc , 1* stat,说明:变量topcv=1表示优化计算收敛,titer变量表示优化计算的次数, tobj 变量表示优化计算最终的目标值, tcon 变量表示约束条件值。

21、( 6) 对于频率优化计算,特别是对于加权平均、一致性平均和欧几里德范数,可以通过如下的代码片段命令获得优化计算后的频率:* get , freq1, mode , 1, freq* get , freq2, mode , 2, freq* get , freq3, mode , 3, freq说明:可以进入后处理模块(/post1)和利用set和pldisp命令获得对应的振形。2、拓扑优化有关的命令简要说明总体说明:拓扑优化的命令均以 to开头,共计12个,现简单说明如下:( 1) tocomp , refname, type, numlc , lcarr命令功能:定义单步或者多部一致性结果

22、拓扑优化任务。参数解释:refname:优化任务名称,最多8个字符;type:优化载荷步类型,可以是 single (单步)或者multiply (多步);numlc :对于单步载荷,指定对哪个载荷步进行优化计算;对于多步载荷,指定需要考虑的载荷步总数;lcarr:对于多步载荷,利用该参数可以定义多个载荷步之间权重,需要将各个载荷步的权重先定义在一个数组中,再用权重数组的方式加以引用。( 2) tofreq , refname, type, nfreq, frqarr, targval命令功能:定义单个或者多个频率拓扑优化任务。参数解释:refname:优化任务名称,最多8个字符;type:可

23、以是 single weighted reciprocal euclidean四种优化形式;nfreq:对于type= single,该参数表示频率的标志值; 对于 weighted reciprocaleuclidean这三种方式,该参数表示频率的总体阶数;frqarr:对于type= weighted reciprocal该参数表示加权数组,用权重数组的方式加以引用;对于type= euclidean,该参数表示目标频率;targval:对于type= reciprocal该参数用于定义目标频率。( 3) var , refname, type, lower, upper, boundtype命令功能:定义优化变量和类型。参数解释:refname:优化任务名称,最多 8个字符,它是利用 tocomp或者tofreq 命令定义的;type:优化变量类型,可以是 obj、con和del;lower:当type= con时,优化变量的下限;upper:当type= con时,优化变量的上限;boundtype:当type= con时,表示优化变量的类型,可以是 percent (百分 数)或者 actual (实际值) 。命令缺省:tovar , volume , obj( 4) totype , type命令功

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论