当前位置:首页 > 如何用ansys进行优化设计
ANSYS高级技术分析指南 优化设计
? 等步长搜索法:以一个参考设计序列为起点,本工具生成几个设计序列。它按照单一步长在每次计算后将设计变量在变化范围内加以改变。对于目标函数和状态变量的整体变化评估可以用本工具实现。
? 乘子计算法:是一个统计工具,用来生成由各种设计变量极限值组合的设计序列。这种技术与称之为经验设计的技术相关,后者是用二阶的整体和部分因子分析。主要目标是计算目标函数和状态变量的关系和相互影响。
? 最优梯度法:对用户指定的参考设计序列,本工具计算目标函数和状态变量对设计变量的梯度。使用本工具可以确定局部的设计敏感性。
? 用户提供的优化工具:可以用外部过程(USEROP)替代ANSYS优化工具。
用户可以通过USEROP过程将自己的方法和工具补充进去。更详细的解释在ANSYS Programmer’s Manual中。
第六步:指定优化循环控制方式
每种优化方法和工具都有相应的循环控制参数,比如最大迭代次数等。所有这些控制参数的设定都在同一个路径下:
GUI:Main Menu>Design Opt>Method/Tool 以下列出设定控制参数的命令: ? 设定零阶方法的控制参数: Command: OPSUBP 和
Command: OPEQN
? 设定一阶方法的控制参数: Command: OPFRST
? 设定随机搜索法的控制参数: Command: OPRAND
? 设定等步长搜索法的控制参数: Command: OPSWEEP
? 设定乘子计算法的控制参数: Command: OPFACT
? 设定最优梯度法的控制参数: Command: OPGRAD
? 设定用户优化工具的控制参数: Command: OPUSER
程序还提供了几个总体控制来设定优化过程中数据的存储方法: ? 指定优化数据的存储文件名(缺省为Jobname.OPT): Command: OPDATA
GUI: Main Menu>Design Opt>Controls ? 用下列方法激活详细的结果输出: Command: OPPRNT
GUI: Main Menu>Design Opt>Controls
? 确定最佳设计系列的数据是否存储,用下列方法(缺省是数据库和结果文件存储最后一个设计系列):
Command: OPKEEP
GUI: Main Menu>Design Opt>Controls
用户还可以控制几个循环特性,包括分析文件在循环中如何读取。可以从
1-9
ANSYS高级技术分析指南 优化设计
第一行读取(缺省),也可以从第一个/PREP7出现的位置开始读取;设定为优化变量的参数可以忽略(缺省),也可以在循环中处理。而且,用户可以指定循环中存储哪种变量:只存储数值变量还是存储数值变量和数组变量。这个功能可以在循环中控制参数的数值(包括设计变量和非设计变量)。用下列方法设定这些循环控制特性:
Command: OPLOOP
GUI: Main Menu>Design Opt>Controls
注——OPLOOP命令中的Parms变量控制在循环中存储哪个参数。在循环中存储数值变量和数组变量的选项在一般情况下不设置,除非是数组变量在分析文件外定义,而在循环中需要保存的情况。
第七步:进行优化分析
所有的控制选项设定好以后,就可以进行分析了。用下列方法开始分析: Command: OPEXE
GUI: Main Menu>Design Opt>Run
在OPEXE执行时,优化循环文件(Jobname.LOOP)会根据分析文件生成。这个循环文件对用户是透明的,并在分析循环中使用。循环在满足下列情况时终止:收敛;中断(不收敛,但最大循环次数或是最大不合理解的数目达到了);分析完成。
如果循环是由于模型的问题(如网格划分有问题,非线性求解不收敛,与设计变量数值冲突等)中断时,优化处理器将进行下一次循环。如果是在交互方式下,程序将显示一个警告信息并询问是继续还是结束循环。如果是在批处理方式下,循环将自动继续。NCNV命令(Main Menu>Solution>Nonlinear>Criteria to Stop)是控制非线性分析的,在优化循环中将被忽略。中断循环的设计序列是存盘的,但参数的数据有可能非常大,不符合实际情况。
所有优化变量和其他参数在每次迭代后将存储在优化数据文件(Jobname.OPT)中。最多可以存储130组这样的序列。如果已经达到了130个序列,那么其中数据最“不好”的序列将被删除。
对于上述梁的例子,优化部分的输入大致如下: /OPT !进入优化处理器
OPANL,… !分析文件名(批处理方式不需要) !
! 声明优化变量
OPVAR,B,DV,.5,16.5 !B和H为设计变量 OPVAR,H,DV,.5,8
OPVAR,DMAX,SV,-0.1,0 !DMAX和SMAX为状态变量 OPVAR,SMAX,SV,0,20000
OPVAR,VOLUME,OBJ !VOLUME为目标函数 !
!指定优化类型和控制
OPTYPE,SUBP !零阶方法 OPSUBP,30 !最大迭代次数 OPEXE !开始优化循环
不同的优化过程可以系列地完成。比如,可以在零阶方法的分析结束后再做等步长搜索。下面的命令对最佳设计序列做等步长搜索:
1-10
ANSYS高级技术分析指南 优化设计
OPTYPE,SWEEP !扫描评估工具
OPSWEEP,BEST,5 !最佳设计序列每个设计变量5次评估 OPEXE !开始优化循环
请查阅/OPT,OPANL,OPTYPE,OPSUBP,OPSWEEP和OPEXE命令以得到更详细的说明。
第八步:查看设计序列结果
优化循环结束以后,可以用本部分介绍的命令或相应的GUI路径来查看设计序列。这些命令适用于任意优化方法和工具生成的结果。
列出指定序列号的参数值: Command: OPLIST
GUI: Main Menu>Design Opt>List
可以选择列出所有参数的数值,也可以只列出优化变量。
用图显示指定的参数随序列号的变化,可以看出变量是如何随迭代过程变化的。用以下方法实现:
Command: PLVAROPT
GUI: Main Menu>Design Opt>Graphs/Tables 将图的X轴由序列号换成别的参数: Command: XVAROPT
GUI: Main Menu>Design Opt>Graphs/Tables
对于PLVAROPT和PRVAROPT操作,设计序列将自动按照XVAROPT中参数以升序排列。
对于等步长,乘子和梯度工具有一些特别的查看结果的方法。对于等步长搜索,用OPRSW命令列出结果,用OPLSW命令图示结果。对于乘子工具,用OPRFA命令列出结果,用OPLFA命令图示结果。对于梯度工具,用OPRGR命令列出结果,用OPLGR命令图示结果。(相应的路径在后面对命令的详细叙述中提及。)
另一个得到优化数据的方法是用STATUS命令(Main Menu>Design Opt>Status)。在优化处理器中使用本命令,将得到另外一些关于当前优化任务的信息,如分析文件名,优化技术,设计序列数,优化变量等。用STATUS命令可以方便的查看优化环境,验证需要的设定是否全部输入优化处理器。
除了查看优化数据,用户可能希望用POST1或POST26对分析结果进行后处理。缺省情况下,最后一个设计序列的结果存储在文件 Jobname.RST(或.RTH等,视分析类型而定)中。如果在循环运行前将OPKEEP设为ON,最佳设计序列的数据也将存储在数据库和结果文件中。“最佳结果”在文件Jobname.BRST(.BRTH等)中,“最佳数据库”在文件Jobname.BDB中。
操作设计序列
查看数据以后,可能需要对其做一些操作。比如说,在随机搜索后,用户可能希望将所有的不合理设计序列删除,以合理的设计序列为数据点来进行后面的优化。这里提供了几种改变设计序列的方法。
下面两个命令可以删除不需要的序列:
? 用下列命令选择最佳设计序列或所有合理的序列: Command: OPSEL
GUI: Main Menu>Design Opt>Select/Delete
1-11
ANSYS高级技术分析指南 优化设计
(所有没有用OPSEL命令选择的设计序列将永久地从优化数据库中删除。) ? 删除指定范围内的设计序列: Command: OPDEL
GUI: Main Menu>Design Opt>Select/Delete 对于这两个命令,剩余设计序列的原始序列号将不变。(优化数据库可以存储130个设计序列。)
下列命令也可以对设计序列进行操作:
? 将两个现存的序列相加形成一个新的设计序列(可以有比例系数): Command: OPADD
GUI: Main Menu>Design Opt>Combine ? 用当前的数值参数值(没有在分析循环中运行)生成一个新的设计序列: Command: OPMAKE
GUI: Main Menu>Design Opt>Create
多层优化计算
在很多情况下要做多于一次优化计算的分析。比如,在一次优化后没有找到需要的优化结果,或是用一种优化工具开始计算然后做随后的优化分析(例如,先进行随机搜索,然后用零阶方法)。从第一次较少次数的循环中得到的结果可以作为修改设计空间并进行以后优化分析的依据。
如果用户在同一次ANSYS运行中执行所有的优化时,这个过程是很顺利的。在一次执行以后,简单的重新定义所有的优化输入,然后开始下一步分析。用下列命令开始下一步分析:
Command: OPEXE
GUI: Main Menu>Design Opt>Run
如果在执行完一次优化以后退出了ANSYS,可以用以后叙述的方法开始后续的分析。
重新开始执行优化分析
要重新开始优化分析,通过如下命令读入优化数据库文件(Jobname.OPT): Command: OPRESU
GUI: Main Menu>Design Opt>Resume
数据读入后,指定优化类型,控制等,然后开始循环。(对应于数据库的分析文件必须可用以完成优化。)用下列方法开始循环:
Command: OPEXE
GUI: Main Menu>Design Opt>Run 标准的重启动大致如下: ... ... /OPT
OPRESU, ..... !读入文件(缺省为Jobname.OPT) OPSEL,10 !选择10个最佳设计 OPTYPE, .... !指定优化工具或方法 .... !指定其他优化输入 OPEXE !开始优化循环
请查阅/OPT,OPRESU,OPSEL,OPTYPE和OPEXE命令以得到更详细的说明。
1-12
共分享92篇相关文档