本节将学习以下内容:
● 使用HyperMesh建立基于ESL方法的多体系统动力学分析及优化模型。
● 在HyperView中进行多体系统动力学分析及优化分析结果后处理。
本练习中使用的模型如图8-36所示。
图8-36 四连杆机构
问题描述:使用HyperMesh建立一个多体系统动力学优化模型,并调用OptiStruct进行形状优化(Shape Optimization)。优化目标为在满足应力约束的条件下,模型重量最轻。设计变量为四连杆机构的12个形状变量。左侧杆为驱动杆,转速为50rad/sec。模型单位制为kg-N-cm-s。
优化问题的三要素如下。
● 目标:最小化质量。
● 约束:单元应力。
● 设计变量:3个柔性连杆的形状变量。
练习开始前,从目录chap08中复制4bar_design.hm文件到工作文件夹中。
STEP 01 启动HyperMesh,调用求解器模板,并读取模型文件
(1)启动HyperMesh。
(2)在User Profiles中,选择OptiStruct。
(3)单击OK按钮。
(4)以上3步骤完成后,HyperMesh将被切换到OptiStruct模板。
(5)在File下拉菜单中,选择Open命令。
(6)从工作目录中选择4bar_design.hm文件。
STEP 02 定义驱动
在模型中,驱动杆通过旋转铰连接在大地上,驱动函数由关键字MOTNG定义。
(1)在模型浏览树的空白位置右击,选择Create→Load Collector命令。
(2)在弹出的Create Load Collector对话框中指定载荷集的名称为motion,在Card image下拉列表中选择none,如图8-37所示。
(3)单击Create按钮,创建载荷集。
图8-37 Create Load Collector对话框
(4)从Preferences下拉菜单中选择Graphics,进入图形首选项设置面板,如图8-38所示。
图8-38 图形首选项设置面板
(5)选中graphics单选按钮,选中coincident picking复选框,该选项用于显示重合的对象。
(6)单击return按钮,返回主面板。
(7)在Analysis页面下,选择constraints。
(8)在nodes激活的状态下,单击图形区红色连杆与大地连接的位置。此时将显示出重合节点的编号,这里选择与红色连杆相连的288节点,如图8-39所示。
图8-39 选取节点
(9)单击load types=按钮,选择MOTNG(V)。
(10)仅选中dof6复选框,定义驱动函数,产生红色连杆绕z轴旋转效果。
(11)在dof6文本框中输入50.0,表示施加了50rad/s的转动驱动。
(12)查看该卡片中的内容是否与图8-40所示的内容一致。
图8-40 constraints面板
(13)单击create按钮,创建驱动。
(14)单击return按钮。
STEP 03 在预定义的MBD工况中,更新边界条件及运动信息
(1)在Analysis页面下,单击loadsteps按钮。
(2)单击review查看当前模型中定义的工况(SUBCASE1)。
(3)该模型已定义了multi-body dynamics工况。
(4)选中MOTION复选框,选择上步定义的驱动,如图8-41所示。
(5)单击update按钮。
图8-41 loadsteps面板
(6)单击return按钮,回到主面板。
STEP 04 在Radioss中递交模型,进行瞬态分析
(1)在Analysis页面下,单击Radioss按钮。
(2)在export options里选择all。
(3)在run options里选择analysis。
(4)在memory options里选择memory default。
(5)单击Save as按钮。
(6)在计算结果输出文件夹下,将模型保存为4bar_design_analysis.fem。
(7)单击Radioss按钮,求解模型。
STEP 05 在HyperView中,进行多体系统动力学分析结果后处理
(1)在Radioss求解结束后,关闭求解窗口。
(2)在原递交Radioss求解页面下,单击HyperView,进入结果后处理环节。
(3)启动HyperView后,关闭弹出的模型信息窗口。
(4)在HyperView中,单击Contour按钮,进入云图显示。
(5)在Result type下拉菜单中,选择应力结果显示(Element Stresses(2D&3D)(t))。
(6)单击Apply按钮。
(7)单击Edit Legend按钮,在弹出的Edit Legend对话框中将图例类型切换为Dynamic Scale。
(8)单击OK按钮返回Contour面板。
(9)单击Page Window Layout按钮 ,将HyperView窗口布局由单一窗口切换为两窗口显示
。
(10)单击图形区窗口2,将其激活。
(11)单击“模块选择”按钮 ,将当前模块由HyperView切换为HyperGraph 2D。
(12)单击Window 1(即HyperView窗口),将其激活。
(13)单击工具栏中的Measures按钮。
(14)在Measure Group中,选中Dynamic MinMax Result复选框。
(15)选中Max,并单击Create Curves按钮。
(16)在弹出的Create Curves对话框中将Place on切换为为Existing Plot。
(17)选中live link,并选择Window 2,单击OK按钮。
以上的操作将保证Window 1和Window 2同步显示结果。
(18)单击“动画播放”按钮,此时图形区如图8-42所示。
图8-42 瞬态分析结果
(19)在File菜单中选择Save As→Report Template命令,并将保存类型选取为Report Template(*.tpl)。
(20)输入Stress_Report.tpl,并单击Save按钮。
(21)回到HyperMesh用户环境。
STEP 06 在HyperMesh中设置ESL优化模型边界条件
接下来,将应用等效静态载荷法对多体动力学模型进行结构优化设计。为了实现这一目标,首先需要在HyperMesh环境下,对柔性体模型边界条件进行设置。
(1)在HyperMesh工具栏中单击Load Collector按钮,进入载荷集创建和编辑面板。
(2)激活Create子菜单。
(3)在Name=文本框中输入BCFOROPTI。
(4)将Load类型切换为No card image。
(5)单击create按钮。
(6)单击return按钮,回到主面板。
(7)在Analysis页面下,单击constraints按钮。
(8)在这一环节中,需要保证所有对象的6个自由度均被正确约束,以确保柔性体模型的刚体模态被移除。请确认选中dof1~dof6复选框,如图8-43所示。(www.daowen.com)
(9)在激活了coincident picking后,可以通过单击或节点编号选取的形式,选择柔性体模型中需要约束的节点,以抑制刚体模态。选择节点143、节点288和节点441,确保选中dof1~dof6复选框,指定约束类型为SPC,如图8-43所示。
图8-43 约束节点
(10)单击create按钮。
STEP 07 在此前定义的多体动力学分析工况中,修改边界条件和强制运动的属性
(1)在Analysis页面下,单击loadsteps按钮。
(2)单击review查看当前模型中定义的工况(SUBCASE1)。
(3)该模型已定义了multi-body dynamics工况。
(4)选中SPC复选框,并选择BCFOROPT,如图8-44所示。
图8-44 loadsteps面板
(5)单击update按钮。
(6)单击return按钮,回到主面板。
STEP 08 定义形状优化设计变量
在该模型中已经包含创建好的形状扰动变量。关于如何创建形状扰动变量的信息,可以查看HyperMorph在线帮助文档。在这一节,将在预定义的形状扰动变量的基础上,创建形状优化设计变量。
(1)在Analysis面板下,选择optimization面板。
(2)单击shape按钮。
(3)选择desvar即设计变量子面板。
(4)将single desvar切换为multiple desvars,即在本优化模型中使用多设计变量。
(5)单击shapes按钮,并选择所有的形状扰动变量。
(6)单击return按钮。
(7)在lower bound=文本框中输入-1.0,在upper bound=文本框中输入1.2,如图8-45所示。
图8-45 Shapes面板
(8)单击create按钮。
此时,在优化模型中共建立了12个形状优化设计变量。
(9)单击return按钮,回到optimization面板。
STEP 09 定义响应
在该模型中,需要定义两个响应,一个是作为目标函数的模型质量响应,另一个是作为设计约束的应力响应。
(1)在optimization面板下,选择responses面板。
(2)单击response=,输入Mass。
(3)在下方的response type中选择mass,即质量响应。
(4)单击create按钮。
(5)在response=文本框中输入Stress。
(6)在下方的response type中,选择static stress。
(7)在单元类型对象props中,选中标题为Middle、Left和Right的属性。
(8)单击return按钮。
(9)确认应力类型为von mises,并将应力位置指定为both surfaces。
(10)单击create按钮。
(11)单击return按钮,回到optimization面板。
STEP 10 定义目标函数
在本优化模型中,目标函数为最小化模型质量。
(1)在optimization面板下,选择objective。
(2)将目标函数类型设置为min。
(3)在response=文本框中,选择Mass。
(4)单击create按钮。
(5)单击return按钮,回到optimization面板。
STEP 11 定义模型应力约束条件
在本优化模型中,设计约束为单元应力(von mises)小于某一限值。
(1)在optimization面板下,选择dconstraints面板。
(2)单击constraint=处的文本框,并输入Constraint。
(3)单击upperbound=按钮。
(4)在upperbound=后输入30000。
(5)单击response=按钮,并选择此前创建的Stress响应。
(6)单击loadsteps按钮。
(7)选择名为SUBCASE 1的工况,并单击select按钮。
(8)单击create按钮。
(9)单击return按钮两次,回到主面板。
STEP 12 保存模型文件
(1)在File下拉菜单中选择Save as命令。
(2)选取待输出的工作文件夹,输入文件名4bar_design_opt.hm。
(3)单击Save按钮。
STEP 13 递交OptiStruct进行求解计算
(1)在Analysis页面下,单击OptiStruct按钮。
(2)将export options设置为all。
(3)在run options中,选择optimization。
(4)在memory options中,选择memory default。
(5)单击save as按钮。
(6)在工作文件夹下,将模型输出为4bar_design_opt.fem。
(7)单击save按钮。
(8)单击OptiStruct按钮,开始求解。
顺利递交求解后,将弹出OptiStruct的DOS求解器界面及相关的求解信息。求解完成后,将在用户的工作文件夹下生成若干结果文件,其中4bar_design_user.eslout文件包含了优化迭代历程的信息。
STEP 14 在HyperView中,查看最后一步迭代模型的应力分布
(1)完成求解后,关闭OptiStruct的DOS求解页面,并回到HyperMesh前处理环境中。
(2)在OptiStruct面板下,单击HyperView按钮,进入结果后处理模块。
(3)在File菜单中选择Open→Report Template命令,调用此前保存的结果后处理模板。
(4)选择此前保存的Stress_report.tpl模板,并单击OK按钮。
(5)在GRAPHIC_FILE_1和RESULT_FILE_1中,选择由优化迭代生成的4bar_design_opt_mbd_0#.h3d文件。其中,文件名中的#表示实际迭代中最后一步迭代的编号。
(6)单击Apply按钮,关闭弹出的HyperView信息栏。
(7)单击Window 1,使其处于激活状态。
(8)在HyperView工具栏中单击Contour按钮。
(9)在Result Type中选择Stress(t),单击Apply按钮。
(10)单击“动画播放”按钮,查看瞬态分析结果,如图8-46所示。
图8-46 优化结果
STEP 15 查看形状优化后的模型形态
(1)在HyperView中,新建一个页面。
(2)在HyperView工具栏中单击Load Model按钮,读取工作文件夹下名为4bar_design_opt_des_0#.h3d的结果文件。
(3)单击Apply按钮。
(4)单击“云图”按钮,进入云图面板。
(5)将Result Type切换为Shape Change(v)。
(6)单击Apply按钮,查看优化后的连杆形状,如图8-47所示。
图8-47 优化后的连杆形状
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。