VibInfo 发表于 2005-11-7 10:24

[转帖]三杆桁架优化分析APDL命令

<DIV >命令流如下: <BR>/filnam,truss <BR>/title, optimization of a three-bar truss <BR>!初始化设计变量参数 <BR>B=1000 !基本尺寸 <BR>A1=1000 !第一个面积 <BR>A2=1000 !第二个面积 <BR>A3=1000 !第三个面积 <BR>! <BR>!进入PREP7并建模 <BR>/prep <BR>et,1,link1 !二维单元 <BR>r,1,A1 !以参数形式的实参 <BR>r,2,A2 <BR>r,3,A3 <BR>mp,ex,1,2.1E6 !杨氏模量 <BR>n,1,-B,0,0 <BR>n,2,0,0,0 <BR>n,3,B,0,0 <BR>n,4,0,-1000,0 <BR>e,1,4 <BR>real,2 <BR>e,2,4 <BR>real,3 <BR>e,3,4 <BR>finish <BR>! <BR>!进入求解器,定义载荷和求解 <BR>/solu <BR>d,1,all,0,,3 <BR>f,4,fx,200000 <BR>f,4,fy,-20000 <BR>solve <BR>finish <BR>! <BR>!进入POST1并读出状态变量数值 <BR>/post1 <BR>set,last <BR>etable,evol,volu !将每个单元的体积放入ETABLE <BR>ssum !将单元表格内数据求和 <BR>*get,vtot,ssum,,item,evol !VTOT=总体积 <BR>rho=2.85e-4 <BR>wt=tho*vtot !计算总体积 <BR>etable,sig,ls,1 !将轴向应力放入ETABLE <BR>! <BR>*get,sig,elem,1,etab,sig !SIG1=第一个单元的轴向应力 <BR>*get,sig,elem,2,etab,sig !SIG2=二单元的轴向应力 <BR>*get,sig,elem,3,etab,sig !SIG3=三单元的轴向应力 <BR>! <BR>sig1=abs(sig1) !计算轴向应力的绝值 <BR>sig2=abs(sig2) <BR>sig3=abs(sig3) <BR>! <BR>/eshape,2 !以实体单元模式显示壳单元 <BR>/view,1,1,1,1 !轴测视图 <BR>eplot <BR>! <BR>/opt !进入优化处理器 <BR>opanl,truss,lgw !指定分析文件(批处理方式中不用这个命令) <BR>! <BR>opvar,B,dv,400,2000 !定义设计变量 <BR>opvar,A1,dv,1,1000 <BR>opvar,A2,dv,1,1000 <BR>opvar,A3,dv,1,1000 <BR>opvar,sig1,sv,,400 !定义状态变量 <BR>opvar,sig2,sv,,400 <BR>opvar,sig3,sv,,400 <BR>! <BR>opsave,trussvar,opt !存储数据 <BR>! <BR>opvar,wt,obj,,,2, !定义目标函数 <BR>! <BR>optype,first !定义一阶方法 <BR>opfrst,45 !最大45次迭代 <BR>opexs !开始优化分析 <BR>! <BR>oplist,16 !列出最佳设计序列,号为16 <BR>oplist,all <BR>! <BR>/view,1,,,1 !前视图 <BR>! <BR>/axlab,x,iteration number !画重量对迭代数图形 <BR>/axlab,y,structure weight <BR>plvaropt,wt <BR>! <BR>/axlab,y,base dimension !画B对迭代数图形 <BR>plvaropt,B <BR>! <BR>/axlab,y,max stress !画最大应力对迭代图形 <BR>plvaropt,sig1,sig2,sig3 <BR>! <BR>/axlab,y,cross-sectional area !画面积对迭代图形 <BR>plavaropt,A1,A2,A3 <BR>! <BR>finish <BR>/exit</DIV><!-- / message -->
页: [1]
查看完整版本: [转帖]三杆桁架优化分析APDL命令