ANSYS优化设计(含几个实例)_第1页
ANSYS优化设计(含几个实例)_第2页
ANSYS优化设计(含几个实例)_第3页
ANSYS优化设计(含几个实例)_第4页
ANSYS优化设计(含几个实例)_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

1、* *ANSYS优化设计1. 认识ANSYS优化模块1.1 什么时候我需要它的帮忙 ?什么是ANSYS优化?我想说明一个例子要比我在这里对你絮叨半天容易理解的多。注意过普通的水杯吗?底面圆圆的,上面加盖的哪一种。仔细观察一下,你会发现比较老式的此类水杯有一个共同特点:底面直径=水杯高度。图1水杯的简化模型为什么是这样呢?因为只有满足这个条件,才能在原料耗费最少的情况下使杯子的容积最大。在材料一定的情况下,如果水杯的底面积大,其高度必然就要小;如果高度变大了,底面积又大不了,如何调和这两者之间的矛盾?其实这恰恰就反应了一个完整的优化过程。在这里,一个水杯的材料是一定的,所要优化的变量就是杯子底面

2、的半径r和杯子的高度h,在ANSYS的优化模块里面把这些需要优化的变量叫做设计变量( DV);优化的目 标是要使整个水杯的容积最大,这个目标在 ANSYS的优化过程里叫目标函数( OBJ);再者,对设计变量的优化有一定的限制条件,比如说整个杯子的材料不变,这些限制条件在ANSYS的优化模块中用状态变量(SV)来控制。下面我们就来看看ANSYS中怎么通过设定DV、SV、OBJ,利用优化模块求解以上问题。首先参数化的建立一个分析文件(假设叫volu.inp ),水杯初始半径为 R= 1,高度为H = 1 (DV),由于水杯材料直接喝水杯的表面积有关系,这里假设水杯表面积不能大于100 ,这样就有

3、S=2 ttRH + 2 TtR2<100 (SV),水杯的容积为 V=tiR2H (OBJ)。File:volu.inp (用参数直接定义也可或者在命令栏内直接写)R=1H=1S=2*3.14*R*H+2*3.14*R*RV=10000/(3.14*R*R*H)然后再建一个优化分析文件(假设叫optvolu.inp ),设定优化变量,并求解。/clear,nostart/input,volu,inp /opt opanl,volu,inp opvar,R,dv,1,10,1e-2 opvar,H,dv,1,10,1e-2 opvar,S,sv,100,1e-2 opvar,V,obj,

4、1e-2 opkeep,on optype,subp opsave,optvolu,opt0 opexec最后,打开 Ansys6.1 ,在命令输入框中键入“/input,optvolu,inp : 整个优化过程 就开始了。图2 ANSYS优化过程图几秒钟的优化过程结束后,让我们来看一下优化的结果:/optoptlist,all图3优化结果1上图中左右带*的SET 22是最优解,由此可以看出,要想在表面积一定的情况下使水杯容积最大,的确有这样一个规律H=D=2*R 。有兴趣的同志可以用求极值的方法演算一下,一定会得到相同的答案。ANSYS的优化模块是用来求解工程分析中的优化例子的,但上面一个例

5、子说明即使这样于工程毫无关系纯数学极值问题,也能够轻松求解。不过在细节处会有一些技巧,后面再仔细分析。(其实用ANSYS的优化模块完全能解决数学上比较负责的极值问题,不过现在 有了 Matlab、Mathematica ,大概也没有人愿意来用ANSYS献丑了)。1.2 ANSYS优化设计基础前面写了一个例子,来说明ANSYS的基本优化过程。在这一节中,我们结合这个例子来说明一下优化模块中的一些概念。1.2.1 优化模块中的三大变量:设计变量(DV):即自变量。例子中的opvar,R,dv,1,10,1e-2就是用来定义一个设计变量R,其上限为10,下限为1,公差为10-2 (公差和优化过程的收

6、敛有关)。 ANSYS优 化模块中允许定义不超过60个设计变量。状态变量(SV):用来体现优化的边界条件,是设计变量的函数。例子里面 opvar,S,sv,100,1e-2就是定义了一个状态变量S,它的上限为100 ,无下限,公差为10-2。从文件volu.inp 中可以看到,S=2*3.14*R*H+2*3.14*R*R。可见,定义这样一个状态变量, 即是限制水杯的表面积(可以认为表示材料的多少)不大于 100。在ANSYS优化模块中用 户可以定义不超过100个状态变量。目标函数(OBJ):最终的优化目的。它必须是设计变量的函数,而且只能求其最小值。看到volu.inp 里面目标函数的定义了

7、吧V=10000/(3.14*R*R*H),为了把求最大体积转化为求最小值,只好对它求倒数了; 如果知道目标函数的上限,还可以用一个大数减目标函数 的方法来转换。例子中 opvar,V,obj,1e-2就是定义了一个目标函数 V,它的公差是10-2。1.2.2 ANSYS 优化模块中的两种求解模式ANSYS优化模块的求解有两种运行模式,一种是在GUI方式下运行,即已经打开ANSYS的分析界面后进行分析;另一种是Batch模式,无需打开 ANSYS分析界面,后台运行求解。前面例子的运行过程其实就是一个典型的GUI方式体现,它涉及到两个重要的文件:一个就是类似volu.inp的ANSYS分析文件,

8、如果是一个工程问题,该文件中应该有参数 定义、参数建模、求解、结果提取、目标函数赋值的一个全过程(由于优化求解是一个不断 跌代的过程,ANSYS分析文件其实是包涵了一个完整的循环)。另一个文件是类似 optvolu.inp的优化控制文件,基本语句就那么几条,无非是定义三大变量、优化方式、优化控制等几条,用户拿过去稍稍替换下就可以用在不同的问题上。(注:细心的读者可能会提问,既然ANSYS分析文件包涵了一个完整的循环,但是整个优化过程中是要求设计变量 不断改变的,每次循环都有一个参数重定义的过程,不会使设计变量恢复初始值吗?这一点勿用担心,正是由于有了另一个优化控制文件,优化过程只在第一次进行完

9、全的参数定义工作,在后续循环中,优化控制文件中声明的设计变量定义将被忽略)。有了这样两个文件, 简单的在命令窗口把优化控制文件输入进去(其中的opanl命令会自动调用指定的 ANSYS分析文件),就可以完成整个优化过程。以上说明的是完全使用命令流的GUI方式,至于如何在菜单中进行优化过程的定制,窃以为没有命令流方式快捷,这里就不再赘述了。另一种方式是后台运行的Batch方式,它只需要一个输入命令流文件( batch文件)。该文件可以简单的把GUI方式下ANSYS分析文件和优化控制文件合并得到。不过有几个注意点:1、需要把optanl语句去掉,因为在 batch文件中,不需要提供 ANSYS分析

10、文件名 字,系统默认batch文件中/opt语句以前的所有部分为ANSYS分析文件内容。2、以前为防止在 GUI方式下的重新定义错误而引入的一些语句,如 /cle,nostart 需要 去除。上述例子经过合并、处理,就可以得到 Batch方式下需要的batch文件batch.inpFile:batch.inpR=1H=1S=2*3.14*R*H+2*3.14*R*RV=10000/(3.14*R*R*H) /optopvar,R,dv,1,10,1e-2opvar,H,dv,1,10,1e-2opvar,S,sv,100,1e-2opvar,V,obj,1e-2opkeep,onoptype,

11、subp opsave,optvolu,opt0opexec假定batch.inp 在目录bvolu 下,在cmd命令行方式下,进入bvolu目录,执行命令: ansys61 -b -j bvolu -p ane3flds -i batch.inp-o output.txt命令中-b参数指定用batch模式求解;- j bvolu参数指定该求解默认工作名字为bvolu (不指定就,默认为file)- p ane3flds参数指定使用 ANSYS/Multiphysics/LS-DYNA求解器- i batch.inp参数指定输入 batch文件为batch.inp-o output.txt参数

12、指定把输出导向到output.txt 中,便于查看过程纠错运行结束后,可以从 output.txt文件中看到最有解是多少:文件output.txt 中的一部分数据:SOLUTION HAS CONVERGED TO POSSIBLE OPTIMUM(BASED ON DV TOLERANCES BETWEEN FINAL TWO DESIGNS)FINAL VARIABLES ARESET 22(FEASIBLE)S(SV)99.997R(DV)2.2851H(DV)4.6830V(OBJ)130.23其结果与用GUI方式求解完全一样,生成的 bvolu.opt文件中也有最优解的信息,同 时还

13、能看到求解整个参数迭代求解过程。1.2.3 ANSYS 的优化方法和收敛准则例子中优化控制文件里面的优化命令, 还有opkeep,on (用来要求保留最优解的 DB), opexec (执行优化),剩下重要的命令就只有 optype 了,这个命令指定 ANSYS优化中 使用的优化方法。优化方法发展到今天可说是形形色色,比较完善了。ANSYS的优化模块中只支持两种优化方法,不能不说是一大遗憾。但 ANSYS的这两种优化方法对绝大多数的工程问题已经 足够,更何况ANSYS还留下了用户话优化接口,方便用户写出适合于自己问题的优化方法 来使用。看看例子中的命令" optype,subp :这

14、里指定的是第一种通用的函数逼进优化方法。 改种方法的本质是采用最小二乘逼进,求取一个函数面来拟和解空间,然后再对该函数面求极值。无疑这是一种普适的优化方法,不容易陷入局部极值点,但优化精度一般不是很高, 因此多用来做粗优化的手段。另外一种是针对第一种优化方法缺点的改进方法,叫做梯度寻优。如果说第一种方法是C0阶、大范围普适的粗优化方法;第二种方法就是C1阶、局部寻优的精优化方法。一般来说,一个比较负责的问题都需要同时采用两种优化方法,先用函数逼进的第一类方法初步求得最优解基本位置,然后再采用梯度寻优的对最优解的位置进行更精确的确定。(注:但用第二类梯度寻优进行优化,不仅时间消耗长,还可能陷入局

15、部最小点,因此通常的问题都 建议使用0阶函数逼进优化subp )前面讨论了 ANSYS的两种优化方法,但光了解优化进行的方式是不够的。ANSYS进行优化计算,都是一个不断迭代的过程。有时候,了解优化过程什么时候结束比了解优化过程本身更加重要。下面我们就来谈谈决定优化过程什么时候结束的条件:优化准则。假设Fj、Xj和Fj-i、Xj-i分别为目标函数、设计变量第j次迭代和第j-1次迭代的结果(Xj或者为矢量),Fb和Xb分别是当前的最优目标函数和其相应的设计变量值。如果满足为目标函数的公差, 那么认为迭代收敛, 于是迭代停止。假设 或者,那么也认为设计变量的搜索已经趋于收敛,于是迭代停止。当然,为

16、了防止优化过程在某些问题中不收敛,ANSYS还提供了循环数量控制。比如说,如果你使用的是 0阶函数逼进优化,你可以用 opsubp命令设定最多循环多少次退出,已经当不可行解连续出现多少次就认为优化过程发散,强行退出等。(注:在 0阶函数逼进优化中,默认的最大循环次数为30;默认当连续出现 7次不可行解,就认为优化过程发散)在上面的描述中,可能只有公差和不可行解这两个概念在 ANSYS中的意义我们不甚了解了。可行解与不可行解的定义将在下一小节中详细定义,这里说明一下公差。从例子里面可以看出,我对设计变量、状态变量、目标函数都给出了公差限制。从上面一段的的分析可以得知,设计变量、目标函数的公差可以

17、控制优化过程的收敛性。其实设计变量也一样,如果前后两次设计变量之间的误差小于设计变量的公差时,优化过程也会自动停止, 不过对它的限制主要是来控制可行性(下一节介绍可行性),三大变量的公差都有一个默认值:对于设计变量,默认公差就是0.01 X (上限-下限),如果只有上限,默认公差为0.01 X上限绝对值。(设计变量定义时必须指定上限)。对于目标函数,由于定义时不指定上下限,默认公差为0.01 X当前目标函数值。对于状态变量,如果指定了上下限,默认公差为0.01 X (上限-下限),如果只有上限或者下限,默认公差为 0.01 X上限或者下限的绝对值。上述默认公差的定义都能在ANSYS的随机帮助中

18、查到,这里为什么如此冗余的详细介绍它呢?因为大多数情况下你不能得到最优解都是这个东西在作怪。为什么例子中要每个变量都详细定义公差呢?我们可以把这些公差都去掉,看看是什么结 果:图4优化结果2由此可见,不带任何公差的最优化分析得不到我们所要求的最有解(151.62显然比带公差后得到的结果130.23要大许多),而且优化过程才做了 6步就停止了,查看下ANSYS 的输出窗口,显示: >>>>>> SOLUTION HAS CONVERGED TO POSSIBLE OPTIMUM <<<<<<(BASED ON OBJ TOL

19、ERANCE BETWEEN BEST AND FINAL DESIGNS)可见是因为导致循环提前结束。(注:细观上图,Fj=157.20 , Fb=151.62,默认公差似乎此处应该是1.5720,似乎还没有满足这个收敛准则,为什么 ANSYS却认为满足了,这里 就不得而知,可能 ANSYS内部对默认公差里面的当前值另有解释;如果你强行规定目标函数公差为1 ,可以看到循环多进行一步后也会提前结束,不过这时候当前解151.65和最优解151.62倒的确相差小于公差 1 了)。此时,大家一定可以理解例子中为什么要对公差的 限制如此严谨了( 0.01 )。因为程序的取样,迭代都有随机性,只有这样,

20、才能保证程序不 会因为上述公差太大的缘故自动停止而得不到最优解。有兴趣的同学还可以改变一下其他参数的公差大小,甚至用opsubp命令改变默认循环的次数等,这些实验将会更加加深你对优化过程、收敛准则的理解,便于提高你都负责优化问题的驾驭能力。/clear拓扑优化实例/TITLE, A 2-D,multiple compliance minimization problem subjected to volumeconstraint/PREP7BLC4,0,0,3,1! Create solid model (3 x 1 rectangle)ET,1,82! Use 2-D solids. Typ

21、e 1 is optimizedET,2,82! Type 2 is not optimized.MP,EX,1,118E9! Linear isotropic, materialMP,NUXY,1,0.3ESIZE,0.05! Use a relatively fine mesh densityTYPE,1AMESH,ALL! Free, rectangular-element meshingNSEL,S,LOC,X,0,0.4! Select region not to be optimizedESLNTYPE,2EMODIF,ALL! Define type 2 elementsALLS

22、ELNSEL,S,LOC,X,0D,ALL,ALL,0! Fixed at X = 0NSEL,S,LOC,X,3D,ALL,ALL,0! Fixed at X = 3FORCE = 1000NSEL,S,LOC,X,1NSEL,R,LOC,Y,1F,ALL,FY,FORCEALLSELLSWRITE,1FDEL,ALLNSEL,S,LOC,X,2NSEL,R,LOC,Y,0F,ALL,FY,-FORCEALLSELLSWRITE,2FDEL,ALLValue for applied loadDefine first load caseWrite first load caseDefine s

23、econd load caseWrite second load caseTOCOMP ,MCOMP ,MULTIPLE,2 ! Define multiple compliance function! "MCOMP" for topological optimizationTOVAR,MCOMP ,OBJ! Define "MCOMP" as topological objectiveTOVAR,VOLUME,CON,50! Define "VOLUME" as topological constraint;50percentvol

24、ume reductionTOTYPE,OC! Specify solution approachTODEF! Initialize topological opt./SHOW,topo,grphPut graphics in a file (remove if interactive)/DSCALE,OFFPerform no more than 12 iterations/CONTOUR,2TOLOOP,12,1FINISHTOGRAPH,OBJ! Graph final objective (compliance) historyTOGRAPH,CON! Graph final cons

25、traint (volume) historyTOPRINT,OBJ! Print final objective (compliance) historyTOPRINT,CON! Print final constraint (volume) history*GET,TITER,TOPO,ITER ! Get iteration counter*GET,OCMP ,TOPO,TITER-1,TOHO ! Get final compliance value第3例复杂形状实体的创建实例一螺栓本例提示在使用ANSYS软件进行结构分析时,建立实体模型是最复杂最难以掌握的一个过程。因此,有必要熟练掌

26、握实体模型的创建。本例使用ANSYS软件提供的各种建AIMur JMH模工具,对复杂形状实体的创建进行了练习。1立3 E/PREP7CSYS,1K,1,0.008,0,-0.002K,2,0.008,90,-0.0015K,3,0.008,180,-0.001(4,0.008,270,-0.0005K,5,0.008,0,0/VIEW,1,1,1,1L,1,2L,2,3L,3,4L,4,5LGEN,7,ALL,0.002NUMMRG,KP,LOWLCOMB,ALLK,80Q008+0.0015/4,90,0.012+0.002/4K,81Q008+2*0.0015/4,180,0.012+2*

27、0.002/4K,82Q008+3*0.0015/4,270,0.012+3*0.002/4 (83,0.008+4*0.0015/4,0,0.012+4*0.002/4L,35,80L,80,81L,81,82L,82,83CSYS,0K,90,0.008,0,-0.00025K,91,0.006918,0,-0.002K,92,0.006918,0,0/PNUM,KP,1/PNUM,LINE,1GPLOTLSTR,1,90LSTR,91,92LANG,7,90,60,0LANG,7,1,120,0AL,6,9,10,11VDRAG,1,123,4,5/PNUM,KP,0/PNUM,LINE

28、,0/PNUM,AREA,1/PNUM,VOLU,1CYLIND,0.0079,0,0.04,0,360VSEL,U,6CM,VVV2,VOLUALLSVSBV,6,VVV2/REPLOTK,93,0.0065,0,0K,94,0.0095,0,0.003K,95,0,0,0K,96,0,0,0.03LSTR,93,94AROTAT,6,95,96,360ASEL,S,1,4,1VSBA,7,ALLASEL,ALLVDELE,1,1RPRISM,0.04,0.05,6,0.0131CONEQ03477,0.00549,0.03Q055,0,360VINV,1,3/REPLOTVPLOTFINI

29、SH第26例优化设计实例一梁的优化设计本例提示介绍了优化设计的相关理论和应用,讲述了将设计问题的物理模型转化为 数学模型一选取设计变量、写出目标函数、给出约束条件的方法。1 .优化分析文件!File : EXAMPLE26.LGWH=0.06B=0.06L=1/PREP7ET,1, BEAM3R,1,B*H,B*H*H*H/12,HMP,EX,1,2E11MP,NUXY,1,0.3K,1,0,0,0K,2,L,0,0LSTR,1,2LESIZE,1,50LMESH,1FINISH/SOLUDK,1,UXDK,1,UYDK,2,UXDK,2,UYSFBEAM,ALL,1,PRES,5000SOL

30、VESAVEFINISH/POST1ETABLE,E_VOL,VOLUSSUM*GET,V_TOT,SSUM,ITEM,E_VOLNSORT,U,Y*GET,UY_MIN,SORT,MINUY_MAX=ABS(UY_MIN)FINISH2 .优化控制文件!File : EXAMPLE26_OPT.TXT/FILNAME, EXAMPLE26/OPTOPCLRFINISH/CLEAR/INPUT, EXAMPLE26,LGW/OPTOPANL, EXAMPLE26,LGWOPVAR,B,DV,0.05,0.1,0.001OPVAR,H,DV,0.05,0.1,0.001OPVAR,UY_MAX,

31、SV,0,2E-4,1E-5OPVAR,V_TOT,OBJ,1E-5OPSAVE, EXAMPLE26,OPTOPTYPE, FIRSTOPFRST,30OPEXECOPLIST,ALLFINISH3 .求解方法先分另1J以文件名 EXAMPLE26.LGW 、 EXAMPLE26_OPT.TXT 将优化分析文件和优化控制文件存储在ANSYS的工作文件夹里,再在 ANSYS的输入窗口输入 / INPUT,EXAMPLE26_OPT,TXT ,回车,开始求解。* *第27例优化设计实例一曲柄摇杆机构的优化设计本例提示介绍了一个更复杂、更接近于实际的优化设计实例。当F肝忙与M点的轨迹与目标位置臣曲

32、线的对比国兄1 .优化分析文件!File : EXAMPLE27.LGWPI=3.1415926A=2B=8C=7.5D=9.5AX=1AY=4BATA_OPT=PI/16GAMA=PI/3!建立有限元模型/PREP7BATA=BATA_OPT-PI/2OMGA1=0.5T=60/OMGA1ET,1,COMBIN7ET,2,BEAM4MP,EX,1,2E11MP,PRXY,1,0.3MP,DENS,1,1E-14R,1,1E9,1E3,1E3,0R,2,4E-4,1.3333E-8,1.3333E-8,0.02,0.02COS_SETA1=(A+B)*(A+B)+D*D-C*C)/2/(A+B

33、)/D*IF,COS_SETA1,GE,-1,AND,COS_SETA1,LE,1,THENSETA1=ACOS(COS_SETA1)*ELSESETA1=0*ENDIFBX=AX+A*COS(SETA1+BATA)BY=AY+A*SIN(SETA1+BATA)CX=BX+B*COS(SETA1+BATA)CY=BY+B*SIN(SETA1+BATA)DX=AX+D*COS(BATA)DY=AY+D*SIN(BATA)KX=BX+K*COS(BATA+SETA1+GAMA)KY=BY+K*SIN(BATA+SETA1+GAMA)N,1,AX,AYN,2,BX,BYN,3,BX,BYN,4,CX

34、,CYN,5,CX,CYN,6,DX,DYN,7,BX,BY,-1N,8,CX,CY,-1N,9,KX,KYTYPE,1REAL,1E,2,3,7E,4,5,8TYPE,2REAL,2E,1,2E,3,4E,5,6E,3,9E,4,9FINISH!求解/SOLUANTYPE,TRANSNLGEOM,ONDELTIM,T/100KBC,0TIME,TOUTRES,BASIC,ALLAUTOTS,ONCNVTOL,F,1,0.1CNVTOL,M,1,0.1D,ALL,UZD,ALL,ROTXD,ALL,ROTYD,1,ROTZ,2*PI-0.001D,1,UXD,1,UYD,6,UXD,6,UYS

35、OLVESAVEFINISH!提取数据/POST26*DIM,X_OBJ,ARRAY,10*DIM,Y_OBJ,ARRAY,10X_OBJ(1)=9.5Y_OBJ(1)=8.26X_OBJ(2)=9Y_OBJ(2)=8.87X_OBJ(3)=7.97Y_OBJ(3)=9.51X_OBJ(4)=5.65Y_OBJ(4)=9.94X_OBJ(5)=4.36Y_OBJ(5)=9.7X_OBJ(6)=3.24Y_OBJ(6)=9X_OBJ=3.26Y_OBJ=8.36X_OBJ(8)=4.79Y_OBJ(8)=8.11X_OBJ(9)=6.58Y_OBJ(9)=8X_OBJ(10)=9.12Y_OBJ

36、(10)=7.89X_OBJ_MIN=3.24X_OBJ_MAX=9.5NSOL,2,9,UXNSOL,3,9,UY*DIM,X9,ARRAY,100*DIM,Y9,ARRAY,100VGET,X9,2VGET,Y9,3*DO,I,1,100X9(I)=KX+X9(I)Y9(I)=KY+Y9(I)*ENDDOG2=B+C-A-DG3=C+D-A-BG4=B+D-A-CCOS_GAMA1=(B*B+C*C-(D-A)*(D-A)/2/B/CCOS_GAMA2=(B*B+C*C-(D+A)*(D+A)/2/B/C*IF,COS_GAMA1,GE,-1,AND,COS_GAMA1,LE,1,THENG5=ACOS(COS_GAMA1)-30*PI/180*E

温馨提示

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

评论

0/150

提交评论