三杆桁架的优化设计问题描述如图所示为一个具有三根杆组成的桁架结构,它承受纵向和横向载荷,载荷值F=200000N,求该桁架的最小重量。结构的初始设计为109.10磅。默认允差(由程序计算)为初始重量的1%(11磅)。但是,为了便于收敛,一阶方法的优化分析中将目标函数的允差定为2.0.已知桁架的材料特性为:E=2.1E6psi;RHO=2.85E-4lb/in^3(比重);最大需用应力=400psi;分析中使用如下集合特性:横截面面积变化范围=1-1000in^2(初始值为1000);基本尺寸B变化范围=400-1000in(初始值为1000)根据分析问题的性质,选择三根杆的横截面积A1、A2、A3以及基本尺寸B为设计变量,状态变量为杆内的应力值,目标函数为桁架的最小重量,综上所述,该问题的优化数学模型为:inf()1,2,3,41,2,3,:11000,1,2,340010000max()400,1,2,3jMxXxxxxAAABstAiiBj52FFBB前处理(1)定义工作文件名:utilitymenu-file-changejobname,在弹出的changejobname对话框中输入文件名为truss单击ok按钮。(2)定义工作标题:utilitymenu-file-changetile,在弹出的changetile对话框中输入theoptimizationofathree-bartruss,单击ok按钮。(3)关闭坐标符号的显示:utilitymenu-plotctrls-windowcontrols-windowoptions命令,弹出windowoptions对话框。在locationoftriad下拉式选择noshown,单击ok按钮。(4)定义参数的初始值:utilitymenu-parameters-scalarparameters命令,弹出对话框,在selection下的文本框中输入b=1000,按下enter键;A1=1000,按下enter键;A2=1000,按下enter键;A3=1000,单击ok按钮。参数将在菜单中显示。(5)设置材料属性:mainmenu-preprocessor-materialprops-materialmodel命令,设置e=2e6,prxy=0.3,dens=2.85e-4。(6)定义单元类型:mainmenu-preprocessor-elementtype-add/edit/delete命令,弹出elementtype对话框。单击add按钮,弹出libraryofelementtype对话框,在左边列中选择structurallink,在右边列中选择2Dspar1,单击ok。(7)定义实常数:mainmenu-preprocessor-realconstant命令,弹出realconstants对话框。单击add按钮,又单击ok按钮,弹出realconstantsetnumber1,forlink1对话框。在realconstantsetno后面的文本框中输入1,在cross-sectionarea后面的文本框中输入a1,单击apply按钮,在弹出同样对话框的同样位置分别输入2,a2,单击apply按钮,在弹出同样对话框的同样位置分别输入3,a3单击ok按钮,单击close按钮,完成实常数的设置。(self:此步最好按写的步骤做,不要用1000替代a1,即使A1=1000,因为A1也许在后面是变量,就不是1000了)(8)生成有限元节点:mainmenu-preprocessor-moding-create-nodes-inactivecs命令,弹出的createnodesinactivecoordinatesystem对话框,在nodenumber后面的文本中输入1,其坐标值为:-b,0,0,单击apply按钮,在nodenumber后面的文本中输入2,其坐标值为:0,0,0,单击apply按钮,在nodenumber后面的文本中输入3,其坐标值为:b,0,0,单击apply按钮,在nodenumber后面的文本中输入4,其坐标值为:0,-1000,0,单击ok按钮.(9)打开节点编号显示:utilitymenu-plotctrls-numbering命令,弹出plotnumberingcontrols对话框。选择nodenumber复选框,单击按ok钮。(10)生成第一个单元:mainmenu-preprocessor-moding-create-elements-autonumbered-thrunodes命令,弹出一个拾取框,拾取编号为1和4(按照该顺序)的节点,单击ok按钮。(11)改变第二个单元属性:mainmenu-preprocessor-moding-create-elements-elemattributes命令,弹出elementattributes对话框。在realconstantsetnumber下拉列表中选择2,单击ok按钮。(12)生成第二个单元:mainmenu-preprocessor-moding-create-elements-autonumbered-thrunodes命令,弹出一个拾取框,拾取编号为2和4(按照该顺序)的节点,单击ok按钮。(13)改变第二个单元属性:mainmenu-preprocessor-moding-create-elements-elemattributes命令,弹出elementattributes对话框。在realconstantsetnumber下拉列表中选择3,单击ok按钮。(14)生成第二个单元:mainmenu-preprocessor-moding-create-elements-autonumbered-thrunodes命令,弹出一个拾取框,拾取编号为3和4(按照该顺序)的节点,单击ok按钮。求解(1)施加边界条件:mainmenu-solution-loadsapply-structural-displacement-onnodes命令,给编号为1,2,3的节点进行全约束。(2)施加集中载荷:mainmenu-solution-loadsapply-structuralforce/moment-onnodes命令,给编号为4的节点施加x方向200000,y方向-200000的力。(3)保存数据:单击工具栏中的save_db按钮。(4)求解运算:mainmenu-solution-solve-currentls命令。(5)保存优化结果到文件:utilitymenu-file-saveas,在弹出的对话框中输入文件名为truss_resu,单击ok按钮。优化设置(1)定义单元表:mainmenu-generalpostproc-elementtable-definetable命令,弹出elementtabledate对话框,单击add按钮,弹出defineadditionalelementtableitems对话框。在userlabelforitem后面的文本框中输入evol。又在item,compresultsdateitem的左栏中选择geometry,在右栏中选择elemvolumevolu.单击ok按钮,单击close按钮。(2)计算单元体积的总和:mainmenu-generalpostproc-elementtable-sumofeachitem命令,弹出tabularsumofeachelementtableitem对话框,单击ok按钮,弹出一个信息窗口,在窗口中显示体积总和为0.382842e+7。选择该窗口菜单栏上的file-close,关闭该窗口。(3)取出体积的值:utilitymenu-parameters-getscalardate命令,弹出getscalardata对话框。在typeofdatatoberetrived的左栏中选择resultsdata,在右栏中选择elemtablesums,单击ok按钮,弹出getelementtablesumresults对话框,在nameofparametertobedefined后面的文本中输入vtot,单击ok按钮关闭该对话框。(4)计算初始重量:utilitymenu-parameters-scalarparameters命令,弹出scalarparameters对话框,在selection下面的文本中输入rho=2.85e-4,并按下enter键,又在selection下面的文本中输入wt=rho*vtot,并按下enter键,总的体积将计算并在该对话框中显示,总的重量应为1091.10173.单击close按钮关闭该对话框。(5)设置单元表:mainmenu-generalpostproc-elementtable-definetable命令,弹出elementtabledata对话框,单击add按钮,弹出defineadditionalelementtableitems对话框,在userlableforitem后面的文本框中输入sig,又在item,compresultsdataitem的左栏中选择bysequencenum,在右栏中选择ls,在其下面出现的ls后面的文本框中输入1(表示序列号为1),单击ok按钮,又单击elementtabledata对话框的close按钮,关闭该对话框。(6)得到第一杆的轴向应力:utilitymenu-parameters-getscalardata命令,弹出getscalardata对话框,在thetypeofdatatoberetrived的左栏中选中resultsdata,在右栏中选择elemtabledata,单击ok按钮,弹出getelementtabledata对话框,在nameofparametertobedefined后面的文本中输入sig1,在elementnumbern后面的文本中输入1,在elemtabledatatoberetrived后面的下拉列表中选取sig,单击apply按钮。(7)得到第二杆的轴向应力:又弹出getscalardata对话框,在thetypeofdatatoberetrived的左栏中选中resultsdata,在右栏中选择elemtabledata,单击ok按钮,弹出getelementtabledata对话框,在nameofparametertobedefined后面的文本中输入sig2,在elementnumbern后面的文本中输入2,在elemtabledatatoberetrived后面的下拉列表中选取sig,单击apply按钮。(8)得到第三杆的轴向应力:又弹出getscalardata对话框,在thetypeofdatatoberetrived的左栏中选中resultsdata,在右栏中选择elemtabledata,单击ok按钮,弹出getelementtabledata对话框,在nameofparametertobedefined后面的文本中输入sig3,在elementnumbern后面的文本中输入3,在elemtabledatatoberetrived后面的下拉列表中选取sig,单击ok按钮。(9)计算轴向应力的绝对值:utilitymenu-parameters-scalarparameter命令,弹出scalarparameters对话框,在selection下面的文本框中输入以下信息:sig1=abs(sig1),按下enter键确认;sig2=abs(sig2),按下enter键确认;sig3=abs(sig3),单击ok按钮,单击close按钮关闭该对话框。(10)显示当前设计:utilitymenu-plotctrls-style-sizeandshape命令,弹出sizeandshape对话框,单击displayofele