首页/文章/ 详情

OptiStruct实战:支架离散尺寸优化的完整流程

5小时前浏览1
OptiStruct的离散尺寸优化是一种在给定设计变量范围内寻找最佳尺寸配置的方法。在实际工程应用中,尤其是对于钣金件,板厚通常只有几种固定的可选值,因此需要在优化过程中考虑尺寸的离散化。
在OptiStruct中进行离散尺寸优化时,可以通过设置设计变量的上下界以及离散值来实现。例如,如果钣金件的板厚只能在0.8mm到2.5mm之间选择,并且只能以0.1mm为增量进行选择,那么可以在OptiStruct中设置这些限制。这样,优化算法就会在这个有限的参数空间内寻找最优解。
此外,如果某些尺寸需要是整数,比如孔径或者某些结构件的尺寸,可以在OptiStruct中同时设置尺寸的上下界范围和离散值。只有同时满足上下界和离散值要求的尺寸才会被认为是有效的设计变量,这样可以大大减少输入的数值(虽然用Excel也很好拉离散数值,但是技巧咱们还是要掌握的),提高工况创建效率。
在实际操作中,还可以通过编写优化控制参数(比如使用DVPREL卡片定义变量之间的关系)来进一步细化优化过程,以及通过响应定义(比如使用DEQAT卡片定义复杂的数学关系)来确保优化结果满足特定的设计要求。
在本教程中,您将使用离散设计变量对使用壳单元建模的焊接支架执行尺寸优化。
在开始之前,请将本教程中使用的文件复 制到您的工作目录。
http://majorv.help.altair.com/minorv/simulation/tutorials/hwsolvers/optistruct/OS-T-4030/bracket_size.zip
本教程中使用了具有载荷和约束的结构模型。目标是在受特定应力规格约束的模型中最大限度地减少材料使用量。
图1.
您需要将结构模型加载到HyperMesh中。约束、载荷、材料属性和SUBCASE(Load Step)已在模型中定义。定义尺寸设计变量和优化参数,然后OptiStruct确定最佳厚度。然后在HyperView中查看结果。
优化问题表示为:
Objective:最小化体积。
Constraints:支架的最大von Mises应力< 120 MPa。
Design variables:支架的厚度。

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

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

二、打开模型

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

三、设置优化

1           
2           
3           
3.1创建离散设计变量
1.在Analysis页面中,单击optimization面板。
2.单击discrete dvs面板。
3.创建离散设计变量DDV1。
a)在name= 字段中,输入DDV1
b)在from= 字段中,输入0.5
c)在to= 字段中,输入3.0
d)在increment= 字段中,输入0.1
e)单击create
将创建一个起始值为0.5 且结束值为3.0 的离散设计变量。变量以0.1 为增量,使可能的值为0.5、0.6、0.7,依此类推,直到3.0。
4.使用与DDV1相同的离散值创建离散设计变量DDV2。
5.单击return返回优化面板。
3.2创建尺寸设计变量
1.在Analysis页面中,单击optimization面板。
2.单击size面板。
3.选择desvar子面板。
4.创建设计变量part1。
a)在desvar = 字段中,输入part1
b)在initial value = 字段中,输入2.5
c)在lower boundary = 字段中,输入0.5
d)在upper bound = 字段中,输入3.0
e)将移动限制切换设置为move limit default    
f)将离散设计变量(ddval) 开关设置为ddval=,然后单击ddval并选择DDV1
这会将设计变量链接到DDVAL(离散设计变量值)DDV1。
g)单击create
5.创建设计变量part2。
a)在desvar = 字段中,输入part2
b)在initial value = 字段中,输入2.5
c)在lower boundary = 字段中,输入0.5
d)在upper bound = 字段中,输入3.0
e)将移动限制切换设置为move limit default
f)将离散设计变量(ddval) 开关设置为ddval=,然后单击ddval并选择DDV2
g)单击create
6.选择generic relationship子面板。
7.part1_th创建设计变量属性关系。
a)在name = 字段中,输入part1_th
b)使用prop选择器,选择part1
c)在props选择器下,选择Thickness T
d)单击designvars
e)选择part1
Note:线性因子自动设置为1.000。
f)单击return
g)单击create
已创建设计变量属性关系part1_th,将设计变量part1 与属性part1 的PSHELL卡上的厚度条目相关联。
8.part2_th创建设计变量属性关系。
a)在name = 字段中,输入part2_th
b)使用prop选择器,选择part2
c)在props选择器下,选择Thickness T
d)单击designvars
e)选择part2
f)单击return
g)单击create    
已创建设计变量属性关系part2_th,将设计变量part2 与属性part2 的PSHELL卡上的厚度条目相关联。
9.单击return转到优化面板。
3.3创建优化响应
1.在Analysis页面中,单击optimization
2.单击Responses
3.创建体积响应,它定义设计空间的体积分数。
a)在responses= 字段中,输入volume
b)在响应类型下方,选择volume
c)将regional selection设置为totalno regionid
d)单击create
4.创建static stress响应。
a)在response= 字段中,输入stress1
b)将响应类型设置为static stress
c)使用props选择器,选择part1
d)将响应选择器设置为von mises
e)在von mises下,选择both surfaces
f)单击create
5.创建另一个名为stress2 的static stress响应,该响应是为零部件part2 中单元的von Mises应力定义的。
6.单击return返回Optimization面板。
3.4Create Constraints
定义为objective的响应不能约束。在这种情况下,您无法限制响应量。
要为响应stress1 和stress2 定义上限约束。
1.单击dconstraints子面板。
2.定义响应stress1 的约束。
a)在constraints= 字段中,输入stress1
b)选中upper bound旁边的框,然后输入100
c)单击response =并选择stress1
d)使用loadsteps选择器,选择STEP
e)单击create
约束是值为100 的上限。该约束适用于SUBCASE STEP。
3.定义响应stress2 的约束。
a)在constraints= 字段中,输入stress2    
b)选中upper bound旁边的框,然后输入120
c)单击response =并选择stress2
d)使用loadsteps选择器,选择STEP
e)单击create
约束是值为120 的上限。该约束适用于SUBCASE STEP。
4.单击return转到优化面板。
3.5定义目标函数
1.单击objective面板。
2.验证是否选择了min。
3.单击response并选择volume
4.单击create
5.单击return两次以退出Optimization面板。

四、运行优化

1.在Analysis页面中,单击OptiStruct
2.单击save as
3.Save As对话框中,指定写入OptiStruct模型文件的位置,并在文件名中输入discrete_bracket_size
对于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还会报告错误消息。文件discrete_bracket_size.out可以在文本编辑器中打开,以查找有关任何错误的详细信息。此文件将写入与.fem文件相同的目录。
9.单击Close

五、查看结果    

尺寸优化后,应检查应力值以确保未违反应力约束。分析结果位于第3 页(第2 页包含优化结果)。
1.在OptiStruct面板中,单击HyperView
HyperView在HyperMesh Desktop中启动并加载结果文件。所有.h3d文件都会加载到HyperView的不同页面中。文件discrete_bracket_size_des.h3ddiscrete_bracket_size_s2.h3d分别加载到第2 页和第3 页。
2.单击Next Pagetoolbar图标以移至第三页。
第三页包含从discrete_bracket_size_s1.h3d文件加载的结果。页面名称显示为Subcase 1 - STEP以指示结果对应于SUBCASE 1。
3.在Results工具栏上,单击 以打开Contour面板。
4.将结果类型设置为Element Stress[2D & 3D] (t)vonMises。
5.将Averaging method设置为None
6.单击Apply
应该可以看到代表von Mises应力的云图。模型中的每个单元都分配了一个图例颜色,表示该单元由施加的载荷和边界条件产生的von Mises应力值。如果您没有更改Iteration步骤,则应绘制初始step的应力云图。    
图2.初始设计的von Mises云图
7.在Animation工具栏上,单击 以设置该Load Case的最后一次迭代,并绘制最后一步的云图。
仅显示两个迭代;First和Last (FL) 是优化运行的默认设置。要更改此设置,请添加频率设置为ALL的OUTPUT控制卡。
现在,这将绘制该Load Case的最终迭代的云图。查看压力以查看它是否处于适当的约束下。
图3.
Review
.out文件包含优化过程的摘要。从.out文件中的信息中,您可以看到objective、constraints和Design variables如何从一个迭代更改为下一个迭代。
对于给定的约束,体积是否已最小化?
是否满足了应力约束?
这两个part的厚度是什么?
Hints
进入des.h3d页面,如果应用了云图,请清除云图,设置为最后一个模拟步骤并应用Element Thickness云图。
附加discrete_bracket_size.mvw以查看目标、约束和其他信息。    
    
             


来源:TodayCAEer
OptiStructHyperMeshHyperViewSTEPSADS焊接材料控制钣金
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-05-21
最近编辑:5小时前
TodayCAEer
本科 签名征集中
获赞 36粉丝 102文章 357课程 2
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈