自动控制臂优化设计.docx
《自动控制臂优化设计.docx》由会员分享,可在线阅读,更多相关《自动控制臂优化设计.docx(20页珍藏版)》请在冰豆网上搜索。
自动控制臂优化设计
2.【例19-5】自动控制臂优化设计
【问题描述】如图1为一个自动控制臂的有限元模型,材料为钢,弹性模量2x105
MPa,泊松比0.3。
工作时,A、B和C点受不同约束,D点是施力点,在三个不同工况受三个不同方向的力。
现对其进行拓扑优化,使零件用料最省,部件包括不可设计区域(模型上三个圆柱形区域)和可设计区域(除去不可设计区域的所有模型区域),优化目标为材料使用最少,且分别对部件的三个工况施力点D施加0.05mm、0.02mm和0.04mm的强制位移约束。
A
图1
【要点分析】将有限元模型导入到HyperMesh,定义材料属性、工况及优化参数,用OptiStruct软件确定优化的材料分布。
结果通过设计空间中密度值变化的云图进行查看,密度值经归一化在0~1之间。
模型前处理
打开模型
(1)在电脑开始菜单单击【HyperMesh】,进入HyperMesh工作界面,进入后默认弹出【UserProfiles】对话框,在对话框点击选择【Optistruct】如图2。
图2
(2)点击【File】-【Open】,目录中选择【carm.hm】文件,地址为刻录光盘【optistruct/carm.hm】,单击【打开】。
(3)【carm.hm】文件加载到当前的HyperMesh进程中,模型中仅有几何和网格。
定义材料和属性
(1)导航树选择【Model】选项卡,在下方【Model】栏窗口中右键,再点击【Create】,并点击【Material】,弹出窗口进行材料编辑。
(2)在【Name】空白处,输入名字【steel】。
【CardImage】中选择【MAT1】如图3,点击【Create/Edit】,在屏幕右下方【MAT1】卡片弹出。
对于【E】,输入2.0E5,对于【Nu】,输入0.3,如图4,点击【return】,完成材料定义。
图3
图4
(3)再次选择【Model】选项卡,在下方【Model】栏窗口中右键,再点击【Create】,并点击【Property】,弹出窗口进行属性编辑。
(4)创立可设计区域属性,在【Name】空白处,输入名字【design_prop】。
【CardImage】中选择【PSOLID】,点击上方【Material】,选择上述定义的【steel】如图5,点击【Create】,完成材料属性定义。
(5)同理,创立不可设计区域属性,再次在【Model】栏窗口中右键,点击【Create】,点击【Property】,在【Name】空白处,输入名字【nondesign_prop】。
【CardImage】中选择【PSOLID】,点击上方【Material】,选择上述定义的【steel】如图6,点击【Create】,完成材料属性定义。
图5图6
(6)将材料与属性赋予组件,在【Model】导航树单击【Component】展开,单击单元组件【design】,右键【edit】,在弹出的编辑栏中点击【Property】,勾选【Assignproperty】,在【Name】中选择上述定义的【design_prop】如图7,单击【update】完成属性更新。
(7)同理,在【Model】导航树单击【Component】展开,单击单元组件【nondesign】,右键【edit】,在弹出的编辑栏中点击【Property】,勾选【Assignproperty】,在【Name】中选择上述定义的【nondesign_prop】如图8,单击【update】完成属性更新
图7图8
创建载荷集、约束、力和工况
(1)本例中有四个载荷集,一个为约束,三个为力。
(2)选择【Model】选项卡,在下方【Model】栏窗口中右击,再点击【Create】,并点击【LoadCollector】,弹出窗口进行载荷集编辑。
(3)在【Name】空白处,输入名字【SPC】。
【CardImage】中选择【none】如图9,点击【create】,完成约束载荷集定义。
(4)同理,再次创建三个载荷集,名字分别为Brake、Corner和Pothole,【CardImage】均选择【none】,如图10、图11和图12
图9图10
图11图12
(5)在导航树中展开【LoadsCollector】,单击【SPC】,右键点击【MakeCurrent】,此时【SPC】加粗,表示现在是对其操作如图13。
图13
(6)首先定义约束。
从【Analysis】页面,点击【constraints】进入约束面板。
在图形区点击bushing一端的节点选中它如图14,约束【dof1】、【dof2】和【dof3】如图15,点击【create】。
图14图15
(7)同理,选择bushing另一端的节点,右边对应的自由度,勾选【dof2】和【dof3】,如图16,点击【create】。
(8)之后,点击【nodes】并从弹出的扩展菜单中选择【byid】,键入3239并敲Enter选择了ID3239的节点,只约束【dof3】如图17。
点击【create】。
图16图17
整体约束完毕后如图18,点击【return】。
图18
(9)约束完成后定义三个个力载荷。
导航树中展开【LoadsCollector】,单击【Brake】,右键点击【MakeCurrent】,此时【Brake】加粗,表示现在是对其操作如图19。
图19
(10)从【Analysis】页面,点击【forces】进入力面板。
点击【nodes】并从扩展菜单中选择【byid】,键入节点号码2699并敲Enter键。
点击【magnitude=】,输入【1000】并敲Enter。
将【switch】设为【x-axis】。
点击【create】。
在所选的节点处,出现一个箭头,指向X方向。
为了使箭头更清晰,选择【uniformsize=】,键入100,并敲击Enter如图20。
图20
(11)
(12)同理,导航树中展开【LoadsCollector】,单击【Corner】,右键点击【MakeCurrent】。
点击【nodes】并从扩展菜单中选择【byid】,键入节点号码2699并敲Enter键。
点击【magnitude=】,输入【1000】并敲Enter。
将【switch】设为【y-axis】。
点击【create】。
在所选的节点处,出现一个箭头,指向Y方向。
为了使箭头更清晰,选择【uniformsize=】,键入100,并敲击Enter如图21。
图21
(13)同理,导航树中展开【LoadsCollector】,单击【Pothole】,右键点击【MakeCurrent】。
点击【nodes】并从扩展菜单中选择【byid】,键入节点号码2699并敲Enter键。
点击【magnitude=】,输入【1000】并敲Enter。
将【switch】设为【z-axis】。
点击【create】。
在所选的节点处,出现一个箭头,指向Z方向。
为了使箭头更清晰,选择【uniformsize=】,键入100,并敲击Enter如图22。
图22
(14)整体力定义完毕后如图23,点击【return】。
图23
(15)创建边界条件的最后一步是创建三个工况。
从【Analysis】页面,进入【Loadsteps】面板。
点击【name=】,输入【Brake】。
勾选【SPC】前面的复选框。
在【SPC】右侧出现一个空白域。
点击空白处并从载荷集列表中选择【SPC】;勾选【Load】前面的复选框,并从载荷集列表中选择【Brake】。
右边【type】选择【linearstatic】如图24,点击【create】,完成工况brake定义。
图24
(16)同理,创建Corner工况,点击【name=】,输入【Corner】。
勾选【SPC】前面的复选框。
在【SPC】右侧出现一个空白域。
点击空白处并从载荷集列表中选择【SPC】;勾选【Load】前面的复选框,并从载荷集列表中选择【Corner】如图25,点击【create】。
图25
(17)同理,创建Pothole工况,点击【name=】,输入【Pothole】。
勾选【SPC】前面的复选框。
在【SPC】右侧出现一个空白域。
点击空白处并从载荷集列表中选择【SPC】;勾选【Load】前面的复选框,并从载荷集列表中选择【Pothole】如图26,点击【create】。
点击【return】完成三个工况定义。
图26
模型静力分析
(1)在设置优化过程之前,先对【carm】进行一次线性静态分析。
优化之前分析一下结构的响应,以保证约束的合理性。
(2)从【Analysis】页面进入【Radioss】面板。
在【inputfile:
】空白处后面,点击【saveas…】为输出的【OptiStruct】模型文件选择一个路径,并在【Filename】处输入模型名称。
点击【Save】。
将【exportoptions:
】切换为【all】,将【runoptions】切换为【analysis】,将【memoryoptions】切换为【memorydefault】,底部【options】保持空白如图27。
点击【Radioss】开始运算。
图27
(3)运算结束后,从【Radioss】面板,点击【HyperView】进入结果查看模块,其中包含模型及其计算结果。
从【Graphics】的下拉菜单中,点击【Contour】,【Resulttype】选择【Displacement】并在【Displacement】的下拉菜单中选择【mag】,点击【Apply】。
(4)同时在左上角【staticanalysis】上方分别选择三个工况【subcase1(Brake)】、【subcase2(Corner)】和【subcase3(Pothole)】。
(5)Brake工况时总位移云图如图28所示,施加力点位移为0.004mm,比优化要求的0.05mm小许多,因此有一定优化空间;Corner工况时总位移云图如图29所示,施加力点位移为0.002mm,比优化要求的0.02mm相同;Pothole工况时总位移云图如图30所示,施加力点位移为0.003mm,比优化要求的0.04mm小许多,因此有一定优化空间。
图28
图29
图30
(6)同理,查看应力云图,【Result】选择【elementstresses(2D&3D)(t)】,下方选择【vonmises】。
(7)Brake工况时应力云图如图31所示,图中最大应力为3.8MPa;Corner工况时应力云图如图32所示,图中最大应力为3.7MPa;Pothole工况时应力云图如图33所示,图中最大应力为1.1MPa。
图31
图32
图33
(8)从【File】下拉菜单,点击【Exit】退出【HyperView】,返回【HyperMesh】,点击【return】退出面板。
拓扑优化前处理
(1)首先创建拓扑优化设计变量。
从【Analysis】页面,点击进入【optimization】面板。
选择拓扑优化栏【topology】进入【topology】面板。
确保【create】子面板已选。
点击【desvar=】,输入【design_prop】。
点击右侧【props】并从【props】列表中选择【design_prop】,点击【select】,选择【type:
PSOLID】,如图34,点击【create】,点击【return】返回【optimization】面板。
图34
(2)然后创建体积响应。
点击进入【responses】面板。
点击【response=】并输入【vol】;将【responsetype】选择更改为【volume】,右侧保持为【total】如图35,点击【create】。
图35
(3)之后创建位移响应。
点击【responses】,点击【response=】并输入【disp】将【responsetype】选择更改为【staticdisplacement】,点击【nodes】并从弹出菜单中选择【byID】,键入2699并敲Enter,从选项中选择【totaldisp】,如图36,点击【create】。
图36
(4)定义位移约束。
选择【dconstraints】面板。
点击【constraint=】并输入【constr1】,单独勾选【upperbound】,点击【upperbound=】并输入0.05,选择【response=】,并将其设为【disp】,点击【loadsteps】,勾选【Brake】点击【select】,如图37,点击【create】。
图37
(5)同理点击【constraint=】并输入【constr2】,单独勾选【upperbound】,点击【upperbound=】并输入0.02,选择【response=】,并将其设为【disp】,点击【loadsteps】,勾选【Corner】点击【select】,如图38,点击【create】。
图38
(6)同理点击【constraint=】并输入【constr3】,单独勾选【upperbound】,点击【upperbound=】并输入0.04,选择【response=】,并将其设为【disp】,点击【loadsteps】,勾选【Pothole】点击【select】,如图39,点击【create】
图39
(7)定义目标函数。
点击【objective】,左侧的【switch】设为【min】,点击【response=】并选择【vol】如图40,点击【create】,点击【return】2次退出【optimization】面板。
图40
(8)至此优化参数全部设定完毕,在导航栏可以看到所有参数,包括设计变量、体积和位移响应、位移约束和目标函数如图41。
图41
拓扑优化及结果分析
(1)从【Analysis】页面,点击【controlcards】,点击【next】2次。
点击【SCREEN】然后点击【return】,这样【OptiStruct】就会将输出结果迭代输出到【output】窗口。
(2)从【Analysis】页面,选择【OptiStruct】,点击【saveas…】,选择保存路径并输入文件名,点击【Save】。
在【runoptions】下点击【switch】并选择【optimization】,点击【OptiStruct】开始优化分析。
(3)【OptiStruct】输出所有迭代的密度信息,也输出线性静态分析的位移和应力结果。
(4)从【OptiStruct】面板,点击【HyperView】。
打开后其中包含4个页面,页面1为优化历程结果(单元密度),页面2为工况Brake分析结果包括初始和最终位移和应力结果;页面3为工况Corner分析结果包括初始和最终位移和应力结果;页面4为工况Pothole分析结果包括初始和最终位移和应力结果。
(5)打开后默认在页面1,首先看优化历程单元密度,在左上角【results】下展开分析步列表,设置分析步为最后一步,即17步如图42。
图42
(6)从【Graphics】下拉菜单,点击【IsoValue】,下方的【Result】选择【ElementDensitie(s)】,令【CurrentValue】=0.3,如图43,点击【Apply】。
图43
(7)图形区得到密度阀值为0.3的优化图,如图44,原模型中部分位置掏空以减少体积,移动【currentvalue】下面的滑块以改变密度值的界限,可观察到拓扑优化结果中密度分布情况,即优化后材料的分别情况。
分别滑动到0.15和0.4,结果如图45和图46。
随着密度值界限的提高,去除的材料越来越多。
图44
图45图46
(8)然后查看页面2的Brake工况优化后位移云图。
在顶部工具箱点击【nextpage】图标进入页面2,从【Graphics】的下拉菜单中,点击【Contour】,【Resulttype】选择【Displacement】并在【Displacement】的下拉菜单中选择【mag】,点击【Apply】如图47,力施加点位移为0.05mm与要求相同。
图47
(9)然后查看页面3的Corner工况优化后位移云图。
在顶部工具箱点击【nextpage】图标进入页面3,从【Graphics】的下拉菜单中,点击【Contour】,【Resulttype】选择【Displacement】并在【Displacement】的下拉菜单中选择【mag】,点击【Apply】如图48,力施加点位移为0.02mm与要求相同。
图48
(10)然后查看页面4的Pothole工况优化后位移云图。
在顶部工具箱点击【nextpage】图标进入页面4,从【Graphics】的下拉菜单中,点击【Contour】,【Resulttype】选择【Displacement】并在【Displacement】的下拉菜单中选择【mag】,点击【Apply】如图49,力施加点位移为0.03mm满足要求。
图49
(11)之后查看页面2的Brake工况优化后应力云图。
在顶部工具箱点击【previouspage】图标两次回到页面2,从【Graphics】的下拉菜单中,点击【Contour】,【Resulttype】选择【Elementstresses(2D&3D)】并在下面的下拉菜单中选择【vonMises】,点击【Apply】如图50,最大应力为5.4MPa,虽然比优化前大,但整体较小。
图50
(12)之后查看页面3的Corner工况优化后应力云图。
在顶部工具箱点击【nextpage】图标进入页面3,从【Graphics】的下拉菜单中,点击【Contour】,【Resulttype】选择【Elementstresses(2D&3D)】并在下面的下拉菜单中选择【vonMises】,点击【Apply】如图51,最大应力为3.5MPa,虽然比优化前大,但整体较小。
图51
(13)
(14)查看页面4的Pothole工况优化后位移云图。
在顶部工具箱点击【nextpage】图标进入页面4,从【Graphics】的下拉菜单中,点击【Contour】,【Resulttype】选择【Elementstresses(2D&3D)】并在下面的下拉菜单中选择【vonMises】,点击【Apply】如图52,最大应力为3.0MPa,虽然比优化前大,但整体较小。
图52
(15)根据上述三个工况结果,力施加点位移均满足要求,最大应力都适当提高,但对于材料来说均满足要求;此外,根据需求进行拓扑去除材料优化,满足优化要求。
新结构设计
(1)具体工程优化时,根据要求具体确定去除多少材料,对新结构进行设计完善如图53。
对新结构进行上述三个工况的静力计算,计算结果应力云图分别如图54-56,三个工况最大应力分别为6.6MPa、3.5MPa和2.1MPa,与拓扑优化结果差距在30%左右,且均满足要求。
至此完成了全部的优化过程。
图53
图54
图55图56