1、有限元作业作业题目:三杆桁架的优化设计学生姓名: 苏宏斌 学 号: 200900403064 专 业: 数控技术 班 级: 机自 Y094 指导老师: 王虎奇 三杆桁架的优化设计题目描述:: 下图所示为一个有 3 根杆组成的桁架,承受纵向和横向载荷,杆件的横截面面积和基本尺寸 B 在指定范围内变化,要求桁架的每根杆件承受的最大应力小于(800+学号最后两位数) MPa,试对该结构进行优化设计,使得桁架重量最少。弹性模量 E=220GPa;泊松比:0.3;密度 =7800kg/m 3材料最大许用应力:= 864 MPa横截面面积变化范围:0.0110cm 2(初始值为 10)基本尺寸 B 变化范
2、围:1 2m(初始值为 2)前处理:(1) 定义工作文件名:utility menu-file-change jobname,在弹出的 change jobname 对话框中输入文件名为: suhongbin 单击 ok 按钮。(2) 定义工作标题:utility menu-file-change tile,在弹出的 change tile 对话框中输入suhongbin ,单击 ok 按钮。(3) 定义参数的初始值:utility menu-parameters-scalar parameters 命令,弹出对话框,在 selection 下的文本框中输入 B=2,按下 enter 键;A1
3、=0.001, 按下 enter 键;A2=0.001, 按下 enter 键; A3=0.001, 单击 Close 按钮。参数将在菜单中显示。(4) 设置材料属性:main menu-preprocessor-material props-material model 命令,设置 EX=2.2e11 , PRXY=0.3 , DENS=7800。(5) 定义单元类型:main menu-preprocessor-element type-add/edit/delete 命令,弹出element type 对话框。单击 add 按钮,弹出 library of element type 对话
4、框,在左边列中选择 structural link,在右边列中选择 2D spar 1,单击 ok。(6) 定义实常数:main menu-preprocessor-real constant 命令,弹出 real constants 对话框。单击 add 按钮,又单击 ok 按钮,弹出 real constant set number 1,for link1对话框。在 real constant set no 后面的文本框中输入 1,在 cross-section area 后面的文本框中输入 A1,单击 apply 按钮,在弹出同样对话框的同样位置分别输入2,A2, 单击 apply 按钮
5、,在弹出同样对话框的同样位置分别输入 3,A3 单击 ok 按钮,单击 close 按钮,完成实常数的设置。 (self:此步最好按写的步骤做,不要用 0.001 替代 A1,即使 A1=0.001,因为 A1 也许在后面是变量,就不是 0.001 了)(7) 生成有限元节点:main menu-preprocessor-moding-create-nodes-in active cs 命令,弹出的 create nodes in active coordinate system 对话框,在 node number 后面的文本中输入 1,其坐标值为:-B,0,0,单击 apply 按钮,在 n
6、ode number 后面的文本中输入 2,其坐标值为:0,0,0,单击 apply 按钮,在 node number 后面的文本中输入 3,其坐标值为:B,0,0,单击 apply 按钮,在 node number 后面的文本中输入4,其坐标值为:0,-2,0,单击 ok 按钮.(8) 关闭坐标符号显示:utility menu-plotctrls-window options,弹出一个对话框,在location of triad 后面的下拉式选择栏中选择 no shown ,单击 ok 。(9) 打开节点编号显示:utility menu-plotctrls-numbering 命令,弹出
7、 plot numbering controls 对话框。选择 node number 复选框,单击按 ok 钮。(10) 生成第一个单元:main menu-preprocessor-moding-create-elements-auto numbered-thru nodes 命令,弹出一个拾取框,拾取编号为 1 和 4(按照该顺序)的节点,单击 ok 按钮。(11) 改变第二个单元属性:main menu-preprocessor-moding-create-elements-elem attributes 命令,弹出 element attributes 对话框。在 real cons
8、tant set number 下拉列表中选择 2,单击 ok 按钮。(12) 生成第二个单元:main menu-preprocessor-moding-create-elements-auto numbered-thru nodes 命令,弹出一个拾取框,拾取编号为 2 和 4(按照该顺序)的节点,单击 ok 按钮。(13) 改变第二个单元属性:main menu-preprocessor-moding-create-elements-elem attributes 命令,弹出 element attributes 对话框。在 real constant set number 下拉列表中选
9、择 3,单击 ok 按钮。(14) 生成第二个单元:main menu-preprocessor-moding-create-elements-auto numbered-thru nodes 命令,弹出一个拾取框,拾取编号为 3 和 4(按照该顺序)的节点,单击 ok 按钮。求解:(1) 施加边界条件:main menu-solution-loadsapply-structural-displacement-on nodes命令,给编号为 1,2,3 的节点进行全约束。(2) 施加集中载荷:main menu-solution-loadsapply-structural force/mome
10、nt-on nodes命令,给编号为 4 的节点施加 Fx 方向-20000,Fy 方向-20000 的力。(3) 保存数据:单击工具栏中的 save_db 按钮。(4) 求解运算:main menu-solution-solve-current ls 命令。(5) 保存优化结果到文件:utility menu-file-save as,在弹出的对话框中输入文件名为truss_resu,单击 ok 按钮。优化设置:(1) 定义单元表:main menu-general postproc-element table-define table 命令,弹出element table date 对话框
11、,单击 add 按钮,弹出 define additional element table items 对话框。在 user label for item 后面的文本框中输入 EVOLUME。又在item,comp results date item 的左栏中选择 geometry,在右栏中选择 elem volume volu.单击 ok 按钮,单击 close 按钮。(2) 计算单元体积的总和:main menu-general postproc-element table-sum of each item 命令,弹出 tabular sum of each element table i
12、tem 对话框,单击 ok 按钮,弹出一个信息窗口,在窗口中显示体积总和为 76.5685。选择该窗口菜单栏上的file-close,关闭该窗口。(3) 取出体积的值:utility menu-parameters-get scalar date 命令,弹出 get scalar data对话框。在 type of data to be retrived 的左栏中选择 results data,在右栏中选择elem table sums,单击 ok 按钮,弹出 get element table sum results 对话框,在name of parameter to be defined
13、后面的文本中输入 VTOT,单击 ok 按钮关闭该对话框。(4) 计算初始重量:utility menu-parameters-scalar parameters 命令,弹出 scalar parameters 对话框,在 selection 下面的文本中输入 DENS=7800,并按下 enter 键,又在 selection 下面的文本中输入 WT=DENS*VTOT,并按下 enter 键,总的体积将计算并在该对话框中显示,总的重量应为 59.7234631.单击 close 按钮关闭该对话框。(5) 设置单元表:main menu-general postproc-element ta
14、ble-define table 命令,弹出element table data 对话框,单击 add 按钮,弹出 define additional element table items 对话框,在 user lable for item 后面的文本框中输入 SIGMA,又在item,comp results data item 的左栏中选择 by sequence num,在右栏中选择 LS, 在其下面出现的 LS, 后面的文本框中输入 1(表示序列号为 1) ,单击 ok 按钮,又单击 element table data 对话框的 close 按钮,关闭该对话框。(6) 得到第一杆的
15、轴向应力:utility menu-parameters-get scalar data 命令,弹出 get scalar data 对话框,在 the type of data to be retrived 的左栏中选中 results data,在右栏中选择 elem table data,单击 ok 按钮,弹出 get element table data 对话框,在 name of parameter to be defined 后面的文本中输入 sig1,在 element number n后面的文本中输入 1,在 elem table data to be retrived 后面的
16、下拉列表中选取SIGMA,单击 apply 按钮。(7) 得到第二杆的轴向应力:又弹出 get scalar data 对话框,在 the type of data to be retrived 的左栏中选中 results data,在右栏中选择 elem table data,单击 ok 按钮,弹出 get element table data 对话框,在 name of parameter to be defined 后面的文本中输入 sig2,在 element number n 后面的文本中输入 2,在 elem table data to be retrived 后面的下拉列表中选
17、取 SIGMA,单击 apply 按钮。(8) 得到第三杆的轴向应力:又弹出 get scalar data 对话框,在 the type of data to be retrived 的左栏中选中 results data,在右栏中选择 elem table data,单击 ok 按钮,弹出 get element table data 对话框,在 name of parameter to be defined 后面的文本中输入 sig3,在 element number n 后面的文本中输入 3,在 elem table data to be retrived 后面的下拉列表中选取 SIG
18、MA,单击 ok 按钮。(9) 计算轴向应力的绝对值:utility menu-parameters-scalar parameter 命令,弹出scalar parameters 对话框,在 selection 下面的文本框中输入以下信息:sig1=abs(sig1),按下 enter 键确认; sig2=abs(sig2),按下 enter 键确认;sig3=abs(sig3), 单击 ok 按钮 , 单击 close 按钮关闭该对话框。(10) 显示当前设计:utility menu-plotctrls-style-size and shape 命令,弹出 size and shape
19、对话框,单击 display of element shapes based on real constant description 后面的复选框,使其为 on。在 real constant multiplier 后面的文本框中输入 2,单击 ok 按钮。(11) 改变视图方向:utility menu-plotctrls-pan,zoom,rotate,打开 pan-zoom-rotate 工具栏。单击 LSO 按钮,utility menu-plot-elements 命令。(12) 生成优化分析文件:utility menu-file-write db log file 命令,弹出
20、write database log对话框。在 write database log to 下面的文本中输入文件名 Truss_opt.lgw 到路径名中,单击 ok 按钮。(13) 指定分析文件:main menu-design opt-analysis file-assign 命令,弹出 assign analysis file 对话框。在 file name 列表栏中指定 Truss_opt.lgw,单击 ok 按钮。(14) 定义优化设计变量:main menu-design opt-design variable 命令,弹出 design variables 对话框。单击 add 按
21、钮,弹出 define a design variable 对话框,在parameter name 的列表中选择 B;在 minimum value 后面的文本中输入 1,在maximum value 后面的文本中输入 2,单击 apply 按钮,重复上述操作,依次输入 A1,0.01e-4,10e-4; A2,0.01e-4,10e-4; A3,0.01e-4,10e-4, 单击 ok 按钮,单击 close按钮关闭 design variables 对话框。(15) 定义优化状态变量:main menu-design opt-state variables 命令,弹出 state vari
22、ables 对话框。单击 add 按钮,弹出 design a state variable 对话框。在parameters name 的列表中选择 sig1,在 upper limit 后面的文本中框中输入864e6,单击 apply 按钮,重复上述操作过程,选择 sig2,输入 864e6;选择 sig3,输入 864e6,最后单击 ok 按钮,又单击 close 按钮关闭 state variable 对话框。(16) 存储优化设计库:main menu-design opt-opt database-save 命令,弹出 save optimization data 对话框。在 fil
23、e name 下的文本中输入 Truss-var.opt,单击 ok 按钮。(17) 设置重量目标函数:main menu-design opt-objective 命令,弹出 define objective function 对话框,在 parameter name 的列表中选择 WT,在 convergence tolerance 后面的文本框中输入 1,单击 ok 按钮。(18) 指定一阶优化方法:main menu-design opt-method/tool 命令,弹出 specify optimization method 对话框,选择 first-order radio,单击
24、ok 按钮,弹出 controls for first-order optimization 对话框,在 maximum iterations 后面的文本框中输入15,单击 ok 按钮。(19) 保存优化数据: 单击工具条上的 Save_DB 。(20) 运行优化:main menu-design opt-run 命令,弹出 begin execution of run 对话框,查看分析信息后,单击 ok 按钮开始优化运算。当系统出现 execution summary 对话框时,表明优化过程已经结束,单击 ok 按钮和 close 按钮。(21) 保存优化结果到文件:utility menu
25、-file-save as,在弹出的对话框中输入文件名为 Truss_opt_resu.dlb,单击 ok 按钮。查看优化结果(1) 列出最佳设计序列:main menu-design opt-design sets-list 命令,弹出 list design sets 对话框,在单选按钮栏中单击选中 BEST Set,单击 ok 按钮,弹出oplistcommand 窗口,最佳序列的结果即每个设计变量、状态变量和目标函数的值都在此窗口中。(2) 列出所有序列的结果:main menu-design opt-design sets-list 命令,弹出对话框,在单选按钮栏中单击选中 ALL
26、Set,单击 ok 按钮,弹出信息窗口,所有迭代序列的结果即每个设计变量、状态变量和目标函数的值都在此窗口中,菜单栏上的file-close 即可关闭该窗口.(3) 设置坐标轴标题:utility menu-plotctrls-style-graphs-modify axes 命令,弹出 graph controls 对话框。在 x-axis lable 后面的文本中输入 iteration number,在 y-axis lable后面的文本中输入 Structure Weight,单击 ok 按钮。(4) 显示重量的变化规律:main menu-design opt-graphs/tabl
27、es 命令,弹出 graph/list table of design set parameters 对话框,在 y-variable params 列表栏中选择 WT,单击 ok 按钮。(5) 设置坐标轴标题:utility menu-plotctrls-style-graphs-modify axes 命令,弹出 graph controls 对话框。在 y-axis lable 后面的文本中输入 Base Dimension,单击 ok 按钮。(6) 显示基本尺寸的变化规律:main menu-design opt-graphs/tables 命令,弹出graph/list tables
28、 of design set parameters 对话框,在 y-variable params 的列表中选择 B,单击 ok 按钮。(7) 设置坐标轴标题:utility menu-plotctrls-style-graphs-modify axes 命令,弹出 graph controls 对话框。在 y-axis lable 后面的文本中输入 Cross-Sectional Area, 单击 ok按钮。(8) 显示杆截面的变化规律:main menu-design opt-graphs/tables 命令,弹出graph/list tables of design set parame
29、ters 对话框,在 y-variable params 的列表中选择 A1,A2,A3, 单击 ok 按钮。(9) 设置坐标轴标题:utility menu-plotctrls-style-graphs-modify axes 命令,弹出 graph controls 对话框。在 y-axis lable 后面的文本中输入 Maximum Stress, 单击 ok 按钮。(10) 显示应力的变化规律:main menu-design opt-graphs/tables 命令,弹出 graph/list tables of design set parameters 对话框,在 y-vari
30、able params 的列表中选择sig1,sig2,sig3, 单击 ok 按钮。命令流操作方式:/BATCH /COM,ANSYS RELEASE 12.0.1 UP20090415 21:10:15 10/23/2011/TITLE,suhongbin*SET,B,2*SET,A1,0.001 *SET,A2,0.001 *SET,A3,0.001 /PREP7 MPTEMP, MPTEMP,1,0 MPDATA,EX,1,2.2e11 MPDATA,PRXY,1,0.3 MPTEMP, MPTEMP,1,0 MPDATA,DENS,1,7800 ET,1,LINK1 R,1,A1,
31、, R,2,A2, , R,3,A3, , N,1,-B,0,0, N,2,0,0,0, N,3,B,0,0, N,4,0,-2,0, /PLOPTS,INFO,3 /PLOPTS,LEG1,1 /PLOPTS,LEG2,1 /PLOPTS,LEG3,1 /PLOPTS,FRAME,1 /PLOPTS,TITLE,1 /PLOPTS,MINM,1 /PLOPTS,FILE,0 /PLOPTS,LOGO,1 /PLOPTS,WINS,1 /PLOPTS,WP,0/PLOPTS,DATE,2 /TRIAD,OFF /REPLOT /PNUM,KP,0 /PNUM,LINE,0/PNUM,AREA,
32、0/PNUM,VOLU,0/PNUM,NODE,1/PNUM,TABN,0/PNUM,SVAL,0/NUMBER,0 /PNUM,ELEM,0/REPLOT FLST,2,2,1 FITEM,2,1 FITEM,2,4 E,P51X TYPE, 1 MAT, 1REAL, 2 ESYS, 0 SECNUM, TSHAP,LINE FLST,2,2,1 FITEM,2,2 FITEM,2,4 E,P51X TYPE, 1 MAT, 1REAL, 3 ESYS, 0 SECNUM, TSHAP,LINE FLST,2,2,1 FITEM,2,3 FITEM,2,4 E,P51X FINISH/SO
33、LFLST,2,3,1,ORDE,2 FITEM,2,1 FITEM,2,-3 /GO D,P51X, , , , , ,ALL, , , , , FLST,2,1,1,ORDE,1 FITEM,2,4 /GO F,P51X,FX,2e4 FLST,2,1,1,ORDE,1 FITEM,2,4 /GO F,P51X,FY,-2e4 SAVE/STATUS,SOLUSOLVE SAVE,truss_resu,db,D:SHB FINISH/POST1 AVPRIN,0, , ETABLE,EVOLUME,VOLU,SSUM *GET,VTOT,SSUM, ,ITEM,EVOLUME *SET,D
34、ENS,7800 *SET,WT,DENS*VTOT AVPRIN,0, , ETABLE,SIGMA,LS, 1 *GET,sig1,ELEM,1,ETAB,SIGMA *GET,sig2,ELEM,2,ETAB,SIGMA *GET,sig3,ELEM,3,ETAB,SIGMA *SET,sig1,abs(sig1) *SET,sig2,abs(sig2) *SET,sig3,abs(sig3) /SHRINK,0 /ESHAPE,2 /EFACET,1 /RATIO,1,1,1/CFORMAT,32,0 /REPLOT /VIEW, 1 ,1,1,1 /ANG, 1 /REP,FAST
35、EPLOT ! LGWRITE,trus_Opt,lgw,D:SHB,COMMENT FINISH /OPTOPANL,Trus_Opt,lgw, OPVAR,A1,DV,0.01e-4,0.001, ,OPVAR,A2,DV,0.01e-4,0.001, ,OPVAR,A3,DV,0.01e-4,0.001, ,OPVAR,B,DV,1,2, , OPVAR,SIG1,SV, ,864E6, ,OPVAR,SIG2,SV, ,864E6, , OPVAR,SIG3,SV, ,864E6, ,OPSAVE,Trus_var,opt, OPVAR,WT,OBJ, , ,1, OPTYPE,FIR
36、S OPFRST,15, , , SAVEOPEXE /COM,ANSYS RELEASE 12.0.1 UP20090415 21:15:59 10/23/2011! OPTIMIZATION LOOPING HAS CLEARED THE INTERNAL LOG KEYW,BETA,0 SAVE,Truss_Opt_resu,db,D:SHB OPLIST,5, ,0 OPLIST,ALL, ,0 /AXLAB,X,Iteration Number /AXLAB,Y,Structural Weight /GTHK,AXIS,2/GRTYP,0/GROPT,ASCAL,ON /GROPT,
37、LOGX,OFF /GROPT,LOGY,OFF /GROPT,AXDV,1 /GROPT,AXNM,ON /GROPT,AXNSC,1, /GROPT,DIG1,4, /GROPT,DIG2,3, /GROPT,XAXO,0, /GROPT,YAXO,0, /GROPT,DIVX,/GROPT,DIVY,/GROPT,REVX,0 /GROPT,REVY,0 /GROPT,LTYP,0 /XRANGE,DEFAULT /YRANGE,DEFAULT,1 XVAROPT, PLVAROPT,WT /AXLAB,X,Iteration Number /AXLAB,Y,Base Dimemsion
38、 /GTHK,AXIS,2/GRTYP,0/GROPT,ASCAL,ON /GROPT,LOGX,OFF /GROPT,LOGY,OFF /GROPT,AXDV,1 /GROPT,AXNM,ON /GROPT,AXNSC,1, /GROPT,DIG1,4, /GROPT,DIG2,3, /GROPT,XAXO,0, /GROPT,YAXO,0, /GROPT,DIVX,/GROPT,DIVY,/GROPT,REVX,0 /GROPT,REVY,0 /GROPT,LTYP,0 /XRANGE,DEFAULT /YRANGE,DEFAULT,1 XVAROPT, PLVAROPT,B /AXLAB
39、,X,Iteration Number /AXLAB,Y,Cross_Sectional Area /GTHK,AXIS,2/GRTYP,0/GROPT,ASCAL,ON /GROPT,LOGX,OFF /GROPT,LOGY,OFF /GROPT,AXDV,1 /GROPT,AXNM,ON /GROPT,AXNSC,1, /GROPT,DIG1,4, /GROPT,DIG2,3, /GROPT,XAXO,0, /GROPT,YAXO,0, /GROPT,DIVX,/GROPT,DIVY,/GROPT,REVX,0 /GROPT,REVY,0 /GROPT,LTYP,0 /XRANGE,DEF
40、AULT /YRANGE,DEFAULT,1 XVAROPT, PLVAROPT,A1,A2,A3 /AXLAB,X,Iteration Number /AXLAB,Y,Maximum Stress /GTHK,AXIS,2/GRTYP,0/GROPT,ASCAL,ON /GROPT,LOGX,OFF /GROPT,LOGY,OFF /GROPT,AXDV,1 /GROPT,AXNM,ON /GROPT,AXNSC,1, /GROPT,DIG1,4, /GROPT,DIG2,3, /GROPT,XAXO,0, /GROPT,YAXO,0, /GROPT,DIVX,/GROPT,DIVY,/GROPT,REVX,0 /GROPT,REVY,0 /GROPT,LTYP,0 /XRANGE,DEFAULT /YRANGE,DEFAULT,1 XVAROPT, PLVAROPT,SIG1,SIG2,SIG3 SAVEFINISH ! /EXIT,NOSAV