当前位置:文档之家› 利用ansys APDL进行优化设计的例子

利用ansys APDL进行优化设计的例子

利用ansys APDL进行优化设计的例子
一、问题描述:
二、分析文件的APDL语句及注释:(可把该文件拷贝到一个文本文件,作为ansys的分析文件。


!第一步,初始化ANSYS系统环境
FINISH
/CLEAR
/filename,BeamOpt
!第二步,定义参数化设计变量
B=1.4 !初始化宽度
H=3.8 !初始化高度
!第三步,利用参数创建有限元模型
/PREP7 !进入前处理
ET,1,BEAM3 !定义单元类型为BEAM3
AREA=B*H !梁的截面积
IZZ=(B*(H**3))/12 !绕Z轴的转动惯量
R,1,AREA,IZZ,H !定义单元实常数,以设计变量表示MP,EX,1,30E6 !定义材料性质
MP,PRXY,1,0.3
N,1 !创建节点1
N,11,120 !创建节点11
FILL
E,1,2
EGEN,10,1,-1 !复制单元
FINISH !退出前处理
!第四步,执行求解
/SOLU
ANTYPE,STATIC
D,1,UX,0,,11,10,UY
SFBEAM,ALL,1,PRES,20 !施加压力(单位长度上的负荷)=20 SOLVE
FINISH
!第五步,进入后处理并创建状态变量与目标变量
/POST1
SET,,,,
NSORT,U,Y !以Uy为基准对节点排序
*GET,DMAX,SORT,,MAX !参数DMAX=最大位移ETABLE,VOLU,VOLU !VOLU=每个单元的体积ETABLE,SMAX_I,NMISC,1 !每个单元I节点处应力的最大值ETABLE,SMAX_J,NMISC,3 !每个单元J节点处应力的最大值
SSUM !对单元表求和
*GET,VOLUME,SSUM,,ITEM,VOLU !得到总的体积
ESORT,ETAB,SMAX_I,,1 !按照单元SMAX_I的绝对值大小排序*GET,SMAXI,SORT,,MAX !参数SMAXI=SMAX_I中的最大值ESORT,ETAB,SMAX_J,,1 !按照单元SMAX_J的绝对值大小排序*GET,SMAXJ,SORT,,MAX !参数SMAXJ=SMAX_J中的最大值SMAX=SMAXI>SMAXJ !找到最大的应力
FINISH
三、优化过程的菜单方式实现
1、
设计变量有两个:B和H
在本例中需要分别采用两种方法进行优化设计:1)首先选用子问题(sub-problem)优化方法,设置迭代30次,获得7个可行性优化结果;2)再次基础上进行扫描法优化
(DV-sweep),选择BEST Design opt,NSPS 中填入5.
优化过程的apdl,命令流:
finish
/INPUT,'BEAM','INP',',,0
!执行优化分析
/OPT
OPCLR
OPANL,'BEAM','INP','' !指定分析文件名
!声明优化变量
OPVAR,B,DV,0.5,16.5 !B和H为设计变量OPVAR,H,DV,0.5,8
OPVAR,DMAX,SV,-0.1,0 !DMAX和SMAX为状态变量OPVAR,SMAX,SV,0,20000
OPVAR,VOLUME,OBJ !VOLUME为目标函数
!优化控制设置选项
OPDATA,,,
OPLOOP,PREP,PROC,ALL
OPPRNT,ON
OPKEEP,ON
!选择子问题法进行第一次优化计算
OPTYPE,SUBP !子问题法
OPSUBP,30,7,!最大迭代次数
OPEXE !执行优化循环
!选择扫描法进行第二次优化分析
OPTYPE,SWEEP !dv sweep 扫描法OPSWEEP,BEST,5 !最佳设计序列,5次评估OPEXE !执行优化分析。

相关主题