首页/文章/ 详情

OptiStruct助力:多体动力学模型的高效形状优化

1天前浏览16


前面演示了基于结构分析的形状优化,现在我们来学习基于多体动力学的模型优化。

在本教程中,您将使用HyperMesh设置MBD系统的结构优化问题,并在OptiStruct中运行形状优化作业。
在开始之前,请将本教程中使用的文件复 制到您的工作目录。
http://majorv.help.altair.com/minorv/simulation/tutorials/hwsolvers/optistruct/OS-T-5050/4bar_design.zip 
通过控制12 个形状设计变量来最小化系统的质量,同时应力应小于允许值。左连杆是角速度为50 rad/sec的驱动连杆。单位(kg, N, cm, s)。
图1.4 连杆
本教程的优化问题表述为:
Objective:最小化质量。
Constraints:应力上限。
Design variables:三个柔性体的形状设计变量。

一、启动HyperMesh并设置OptiStruct用户配置文件

1.启动HyperMesh。
此时将打开User Profile对话框。
2.选择OptiStruct,然后单击OK
这将加载用户配置文件。它包括相应的模板、宏菜单和导入阅读器,将HyperMesh的功能缩减为与生成OptiStruct模型相关的功能。

二、打开模型

1.单击File>Open>Model
2.选择保存到工作目录的4bar_design.hm文件。
3.单击Open
 4bar_design.hm数据库被加载到当前的HyperMesh会话中,替换任何现有数据。    

三、设置模型

1               
2               
3               
3.1定义驱动运动
在本教程中,定义了关节MOTNJ处的驱动运动。但是,HyperMesh目前不支持MOTNJ,因此需要手动输入该卡片。
1.在Analysis页面中,单击control cards面板。
2.Card Image对话框中,单击BULK_UNSUPPORTED_CARDS
3.Control Card对话框中,输入以下内容,然后单击OK
图2.施加到关节66299 的恒定速度(50 Rad/s)
4.单击return
3.2更新边界条件和MOTION
1.在Model Browser的Load Steps文件夹中,点击SUBCASE1。
Entity Editor将打开并显示Load Step卡详细信息。
2.将Analysis type设置为Multibody dynamics
3.对于MBSIM,请选择MBSIM1
4.选择SUBCASE_UNSUPPORTED
5.单击 并输入MOTION = 1

四、提交作业    

1.在Analysis页面中,单击OptiStruct面板。
图3.访问OptiStruct面板
2.单击save as
3.Save As对话框中,指定写入OptiStruct模型文件的位置,并在filename中输入4bar_design_analysis
对于OptiStruct求解器模型,建议使用.fem扩展名。
4.单击Save
input file字段显示在Save As对话框中指定的文件名和位置。
5.将导出选项切换设置为all
6.将run options切换设置为analysis
7.将内存选项切换设置为memory default
8.单击OptiStruct启动OptiStruct作业。
如果作业成功,则新的结果文件应位于写入4bar_design_analysis.fem的目录中。4bar_design_analysis.out文件是查找错误消息的好地方,如果存在任何错误,这些错误消息可以帮助调试输入模型。

五、查看结果

1.在OptiStruct面板中,单击HyperView
HyperView将启动并加载结果。此时将显示一个消息窗口,告知模型和结果文件已成功加载到HyperView中。
2.在Results工具栏上,单击 以打开Contour面板。
3.将结果类型设置为Element Stress(2D & 3D)(t)
4.单击Apply
5.单击Legend选项卡。
6.单击Edit Legend
7.将Type设置为Dynamic scale
可以在此处更改其他属性以创建所需的图例。    
8.在Page Controls工具栏上,将页面布局设置为,这将创建两个垂直窗口。
9.单击第二个窗口以将其激活。
10.从客户端选择器中,选择 (HyperGraph 2D)。
11.单击第一个窗口以将其激活。
12.在Annotations工具栏上,单击 以打开Measure面板。
13.在度量值组列表中,选择Dynamic MinMax Result
14.从Resolved in下方的列表中,单击Max
15.单击Create Curve
16.将Place curve on: 设置为Existing Plot
将显示此报表上的绘图窗口列表。
17.选择Live link
18.单击窗口2 将其激活。
19.单击Apply
绘制最大von Mises应力(t)。
图4.MBD应力结果(最大值= 56996 N/cm2)
20.将文件另存为模板,以应用于优化结果。
a)在菜单栏中,单击File>Save As>Session
b)Save Session As对话框中,将文件另存为Stress_report.tpl
21.在应用程序的右上角,单击/ 返回第1 页和HyperMesh客户端。

六、设置优化

4               
5               
6               
6.1创建用于结构分析的边界条件    
该模型的柔性体的结构分析和优化在ESL优化中进行。因此,需要定义柔性体的边界条件。
1.创建Load Collector BCforOpt。
a)在Model Browser中,右键单击并选择Create>Load Collector从上下文菜单中。
默认Load Collector显示在Entity Editor中。
b)对于Name ,输入BCforOpt
c)单击Color并从调色板中选择一种颜色。
d)将Card Image设置为None
2.启用重合领料。
a)在菜单栏中,单击Preferences>Graphics
b)选择coincident picking
c)单击return
3.Create constrains.
a)在分析页面中,单击constraints面板。
b)选择所有dof (1 到6)。
所有dof(1 到6)都应固定,以消除每个柔性体的6 刚体运动。确保在constraints面板中选中dof1 到dof6。
c)单击component Left的下部rbe2的中心。您应该在一个位置看到两个节点编号;选择Node288
d)单击component Middle的左侧rbe2的中心,然后选择节点143
e)单击component Right的下部rbe2的中心,然后选择节点441
f)将load type设置为SPC
g)单击create    
图5.要约束以阻止刚体运动的节点
6.2在预定义的MBD SUBCASE中更新边界条件和MOTION
1.在Model Browser的Load Steps文件夹中,选择SUBCASE1
Entity Editor将打开并显示Load Step卡详细信息。
2.将Analysis type设置为Multi-body dynamics
3.对于MBSIM,请选择MBSIM1
4.对于SPC,请选择BCforOpt。
6.3定义形状设计变量
形状扰动向量已经在此数据库中创建。有关创建形状扰动向量的更多详细信息,请参阅与HyperMorph相关的其他教程。在此步骤中,您将使用预定义的形状扰动向量定义形状设计变量。
1.在Analysis页面中,单击optimization面板。
2.单击shape面板。
3.选择desvar子面板。
4.从单个desvar切换到multiple desvars
5.使用形状选择器,选择所有形状。
6.在lower bound= 字段中,输入-1.0
7.在upper bound= 字段中,输入1.2    
图6.
8.单击create
9.单击return转到优化面板。
创建12 个形状设计变量。
6.4创建优化响应
1.在Analysis页面中,单击optimization
2.单击Responses
3.创建质量响应,该响应是为模型的总体积定义的。
a)在responses= 字段中,输入mass
b)在响应类型下方,选择mass
c)将regional selection设置为totalno regionid
d)单击create
4.创建static应力响应。
a)在response= 字段中,输入Stress
b)将响应类型设置为static stress
c)使用props选择器,选择Middle、Left、Right
d)将响应选择器设置为von mises
e)在von mises下,选择both surfaces
f)单击create
5.单击return返回Optimization面板。
6.5定义目标函数
1.单击objective面板。
2.验证是否选择了min。
3.单击response并选择Mass
4.单击create
5.单击return两次以退出Optimization面板。
6.6创建设计约束
1.单击dconstraints面板。
2.在constraint= 字段中,输入Constr
3.单击response =并选择Stress
4.选中upper bound旁边的框,然后输入30000    
5.使用loadsteps选择器,选择SUBCASE1
6.单击create
7.单击return返回Optimization面板。
在响应Stress上定义约束。该约束将强制SUBCASE1上的最大应力小于30000.0 N/cm2。

七、运行优化

1.在Analysis页面中,单击OptiStruct
2.单击save as
3.Save As对话框中,指定写入OptiStruct模型文件的位置,并在文件名中输入4bar_design_opt
对于OptiStruct求解器模型,建议使用.fem扩展名。
4.单击Save
input file字段显示在Save As对话框中指定的文件名和位置。
5.将导出选项切换设置为all
6.将run options切换设置为optimization
7.将内存选项切换设置为memory default
8.单击OptiStruct运行优化。
作业完成时,窗口中会显示以下消息:
OPTIMIZATION HAS CONVERGED.
FEASIBLE DESIGN (ALL CONSTRAINTS SATISFIED).
如果存在错误消息,OptiStruct还会报告错误消息。可以在文本编辑器中打开4bar_design_opt.out文件,以查找有关任何错误的详细信息。此文件将写入与.fem文件相同的目录。
9.单击Close

八、查看结果

7               
8               
8.1查看应力结果
1.在OptiStruct面板中,单击HyperView
HyperView将启动并加载结果。此时将显示一个消息窗口,告知模型和结果文件已成功加载到HyperView中。
2.打开报告模板Stress_report.tpl
a).在菜单栏中,单击File>Open>Report Template
b).Open Report File对话框中,打开Stress_report.tpl文件。    
c).对于GRAPHIC_FILE_1 和RESULT_FILE_1,从运行优化的位置选择4bar_design_opt_mbd_0#.h3d(最高的# 应该是最终迭代)。
出现一条消息,解释Element应力(2D & 3D)结果不存在- 这是因为MBD模拟的应力结果只是被命名为应力。
4.关闭Message Log窗口。
5.单击窗口1 将其设置为当前窗口。
6.在Results工具栏上,单击 以打开Contour面板。
7.将Result type:设置为Stress (t)
8.单击traffic light图标以启动动画。
图7.von Mises应力云图(最大< 30000 N/cm2)
8.2绘制形状变化的云图
1.在Page Controls工具栏上,单击 以将新页面添加到会话中。
2.在Standard工具栏上,单击并打开运行优化的4bar_design_opt_des_0#.h3d的最后一次迭代(最高)编号结果文件。
3.单击Apply
4.在Results工具栏上,单击 以打开Contour面板。
5.将Result type: 设置为Shape Change (v)
6.单击Apply    
图8.形状变化云图
打开文件4bar_design_opt.dsvar以查看OptiStruct在优化过程中如何更改DV。
这将显示右臂和中臂的所有DV都达到了1.2 的极限,这表明最小化这两个臂的质量是减少应力的关键。
  
                   


来源:TodayCAEer
OptiStructHyperMeshHyperViewSTEPS形状优化ADS多体动力学控制
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-05-10
最近编辑:1天前
TodayCAEer
本科 签名征集中
获赞 26粉丝 98文章 345课程 1
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈