资源预览内容
第1页 / 共14页
第2页 / 共14页
第3页 / 共14页
第4页 / 共14页
第5页 / 共14页
第6页 / 共14页
第7页 / 共14页
第8页 / 共14页
第9页 / 共14页
第10页 / 共14页
亲,该文档总共14页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
ANSYS 优化揭密优化揭密引子引子时下 ANSYS 高手颇多,但还有很多 FEA 战友对 ANSYS 的优化过程用之 不熟,这里抛砖引玉,写下自己对 ANSYS 优化模块的使用心得,不当之处敬 请指正。 deformsmth Aug. 14,20021. 认识认识 ANSYS 优化模块优化模块1.1 什么时候我需要它的帮忙什么时候我需要它的帮忙?什么是 ANSYS 优化?我想说明一个例子要比我在这里对你絮叨半天容易理 解的多。注意过普通的水杯吗?底面圆圆的,上面加盖的哪一种。仔细观察一下, 你会发现比较老式的此类水杯有一个共同特点:底面直径水杯高度。图 1 水杯的简化模型 为什么是这样呢?偷偷的告诉你:因为只有满足这个条件,才能在原料耗 费最少的情况下使杯子的容积最大。可不是,在材料一定的情况下,如果水杯 的底面积大,其高度必然就要小;如果高度变大了,底面积又大不了,如何调 和这两者之间的矛盾?其实这恰恰就反应了一个完整的优化过程。在这里,一个水杯的材料是一定的,所要优化的变量就是杯子底面的半径 r 和杯子的高度 h,在 ANSYS 的优化模块里面把这些需要优化的变量叫做设计变 量(DV) ;优化的目标是要使整个水杯的容积最大,这个目标在 ANSYS 的优 化过程里叫目标函数(OBJ) ;再者,对设计变量的优化有一定的限制条件,比 如说整个杯子的材料不变,这些限制条件在 ANSYS 的优化模块中用状态变量 (SV)来控制。闲话少说,下面我们就来看看 ANSYS 中怎么通过设定 DV、SV、OBJ,利用优化模块求解以上问题。首先参数化的建立一个分析文件(我假设叫 volu.inp) ,水杯初始半径为 R1,高度为 H1(DV) ,由于水杯材料直接喝水杯的表面积有关系,这里我 假设水杯表面积不能大于 100,这样就有 S2RH2R2 SOLUTION HAS CONVERGED TO POSSIBLE OPTIMUM SOLUTION HAS CONVERGED TO POSSIBLE OPTIMUM (BASED ON OBJ TOLERANCE BETWEEN BEST AND FINAL DESIGNS)可见是因为导致循环提前结束。 (注:细观上图,bjFFFj=157.20,Fb=151.62,默认公差似乎此处应该是 1.5720,似乎还没有满足这个 收敛准则,为什么 ANSYS 却认为满足了,这里就不得而知,可能 ANSYS 内部 对默认公差里面的当前值另有解释;如果你强行规定目标函数公差为 1,可以 看到循环多进行一步后也会提前结束,不过这时候当前解 151.65 和最优解 151.62 倒的确相差小于公差 1 了) 。此时,大家一定可以理解例子中为什么要对 公差的限制如此严谨了(0.01) 。因为程序的取样,迭代都有随机性,只有这样, 才能保证程序不会因为上述公差太大的缘故自动停止而得不到最优解。有兴趣的同学还可以改变一下其他参数的公差大小,甚至用 opsubp 命令改 变默认循环的次数等,这些实验将会更加加深你对优化过程、收敛准则的理解, 便于提高你都负责优化问题的驾驭能力。1.2.4 可行解与不可行解可行解与不可行解这两个概念比较好理解,所谓可行解就是满足要求的一组结果。既是说设 计变量都在设计变量的上下限内,相应的状态变量也满足状态变量上下限要求。 以上任何一条不满足都被示为不可行解。图 4 中 SET 2、3、4 都被示为不可行解,因为他们相应的状态变量都越界 了。有的同学会提问,SET 6 中状态变量为 100.71,不是也越界了吗?这是因 为 ANSYS 中判断越界也有一个公差,状态变量的默认公差在这个例子中是 1, 而 100.71 和 100 直接的差的绝对值小于这个公差,因此认为 SET 6 也为可行解。2. ANSYS 优化设计的万能三步曲优化设计的万能三步曲这里我描述一下拿到一个工程问题,怎么用一种通用的模式进行最优化分 析。我通常不不使用 Batch 模式的优化方法,因为最好还不免需要打开 ANSYS 的 GUI 界面去提取优化数据库,绘出变量关系曲线等。这一节介绍的万能方法 是基于 GUI 的命令流方法。由于鄙人想象力有限,这里只要引以前写 APDL 教程时候的一个例子来说 明优化设计的一般方法。 (上次是用 APDL 做单循环求解最优角度,这里我们 用强大的 ANSYS 优化模块来完成它)问题描述:(a) (b) H r 图 5 薄板受压的模型图 如图 5(a)一所示,一带孔薄板,长 4000mm,宽 2000mm,顶部中心部分 1800mm 处承受 42MP 的压力,左右两个长圆孔中心分别踞四周 1000mm,长圆 孔的具体形式如图 5(b)所示,上下分别为半圆,中部用直线衔接。这里假设长 圆长轴与水平方向夹角为 。为了使得孔边缘应力集中最小,这里拟调整 的大小(0, /2),以在固定的 H 情况下达到长圆孔周围应力集中最小。2.1 构建优化分析文件构建优化分析文件这里用参数 My_sita 和 My_H 对整个模型进行参数化建模:(My_sita 表征 角 ,My_H 表征高度 H,两者的初始值分别为 0和 100mm,最后提取出孔 边缘最大应力值 mysmax)File:circle.inp PI=3.14159 My_H=150 My_sita=45 sita=My_sita/180*PI r=0.2 H=My_H/1000!Customize the Environment keyw,pr_struc,1 /prep7 et,1,shell63 r,1,0.12,0.12,0.12,0.12 uimp,1,ex,dens,nuxy,2.1e9,1.2,0.375!Modeling !Create plate k,1,0,0 k,2,2,0 k,3,2,2 k,4,0,2 k,5,0.9,2 k,6,1,1l,1,2 l,2,3 l,3,5 l,5,4 l,4,1al,1,2,3,4,5!Create hole !Create my coordinate k,7,1+H*cos(sita),1+H*sin(sita) k,10,1+H*cos(sita),1+H*sin(sita),100k,8,1+r*cos(sita+PI/2),1+r*sin(sita+PI/2) cskp,11,0,6,7,8 csys,11!Create Hole k,9,H,r l,7,9 l,7,6 adrag,6,7 arotat,6,7,10,-90 arsys,y,2,3,1 arsym,x,2,5,1 aadd,2,3,4,5,6,7,8,9 asba,1,10csys,0 arsym,x,2, , , ,0,0 nummer,all, , ,low aadd,1,2/auto,1 gplot!Meshing the plane smrt,6 amesh,all!Add DOF DK,2,UX,0, ,UY DK,14,UX,0,UY!Add Pressure SFL,4,PRES,42 SFL,11,PRES,42/solu solve /post1 ar11=ndinqr(0,14) _s1= *dim,_s1,ar11 *vget,_s1(1),node,1,s,1 *vscfun,mysmax,max,_s1(1)2.2 构建优化控制文件构建优化控制文件这第二步工作非常简单,随便拿个优化控制文件来,稍微把设计变量、状 态变量、目标函数一修改,就成完成了优化控制文件。File:optcircle.inp /opt opclr fini /clear,nostart /input,circle,inp /opt opanl,circle,inp opvar,My_sita,dv,0,90 opvar,H,dv,100,200 opvar,mysmax,obj opkeep,on optype,subp opsave,optcircle,opt0 opexec2.3 优化求解优化求解现在万事具备,打开 ANSYS 的 GUI 界面,输入/input,optcircle,inp,就开始 求解了。计算结束后看一下结果:图 6 优化结果 3由此得到最优解在 48.422,H161.79 附近。和我们上次用 APDL 循 环优化得到的结果 =40差不太多。这样,整个优化过程就完成了,非常容 易,而且适用于所有的优化问题。当然好的优化结果并不是单单遵循上面的三步法就能得到的。其实,上面 这不过这只是一个粗略的结果。从图 6 看到,才采样了 5 个点,我们上次用 APDL 循环优化都是每 5采样一个点,比这样的 0 阶优化还精确的多。没有 关系,既然嫌结果不精确,我们可以在 0 阶优化的基础上再进行一下 1 阶梯度 优化: (1) 在 circle.inp 文件中把 My_H=150 一句替换成 My_H=161.79 把 My_sita=45 一句替换成 My_sita=48.422 (2) 在 optcircle.inp 文件中 optype,subp 一句替换为 optype,first 给其中定义设计变量、状态变量、目标函数的语句都加上公差 1e-2,防 止其提前收敛。得到更加精确的结果如下:图 7 优化结果 4 这里得到的最优解是当 43.385,H108.50mm 时,最优解 mysmax=569.25,比原来的最优解值 639.03 精确了很多。当然这一次 1 阶优化 结束是因为达到了默认的循环次数 10,如果你再加以一些处理,或者把默认循 环次数加大,可能会得到更优的参数。3. ANSYS 优化工具理解优化工具理解看完前面这些部分,也许你对 ANSYS 的优化过程理解的游刃有余了。你已 经学会通过手动改变三大变量的公差,或者参数的初始值来获得更优解。不过 想不想更加提高自己的?手动在全自动控制中总是一个很大的累赘,也许你会 想先自动探测一下解空间,然后通过判断选择一下初始参数集,再进行二级甚至更多级的优化;也许你想自己规划优化的过程;也许你想考察各个设计变量 之间的耦合关系和它们对目标函数的影响。如果你想更进一步提高自己的 ANSYS 优化能力,可能需要进一步吃透 ANSYS 提供给大家使用的形形色色优 化工具。本来想详细写点优化工具使用的例子,但一来 ANSYS 培训手册里面有详细 的例子讲解,二来时间也不允许,整理几个很新颖的工程例子还是颇伤脑筋, 这里就每个优化工具点评一下其特点功用,相信大家也不难掌握。(1) 单循环工具 可用来在命令流中控制实现一次优化过程,得到所要目标值。 主要可以用于自己规划的优化过程,不常用。 (2) 随机工具 可用来在一些优化方案实施前,获得一定数量的可行解。 很多问题在优化过程中会出现大量不可行解,浪费求解效率,在求解前获 得一组可行解能够减少在后续迭代中出现不可行解的几率,提高求解效率, 复杂问题中常用。 (3) 扫描工具 可用来研究某一设计变量的变化对目标函数的影响情况。 多是在一定参照解得条件下(参照解默认取最优解) ,在保持参照解其他变 量不变得情况下,考察某一设计变量对目标函数得影响情况,其结果可以 看到该设计变量对目标函数的影响趋势和敏度。 (有时候可以根据结果把惰 性设计变量去除,减小优化过程规模) (4) 梯度工具 可用来研究在优化结果处,哪一个设计变量的扰动对目标函数影响最大。 也是在参照解(多是最优解)处,可以考察哪个设计变量对目标函数的变 化影响最大。 (有时候可以根据结果适当调整设计变量公差,来提高优化效 率) (5) 乘子工具 可用来研究在整个设计域内,设计变量或设计变量的耦合对目标函数的影 响大小。 该工具主要可以考察设计变量之间的耦合性,寻求最佳耦合点。该工具使 用不多
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号