本节将学习以下内容:
● 使用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 优化后的连杆形状
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。