首页
时事
民生
政务
教育
文化
科技
财富
体娱
健康
情感
更多
旅行
百科
职场
楼市
企业
乐活
学术
汽车
时尚
创业
美食
幽默
美体
文摘
使用超单元进行拓扑优化-OS-T:2070
文摘
2024-11-12 08:00
重庆
您的每一次点赞和在看,都是对我工作的认可和鼓励,更是激励我不断前行、持续更新内容的强大动力。您的支持是我不懈追求卓越和创新的源泉。
在产品开发中,我们经常面临需要对复杂结构进行优化设计的挑战。这时,使用超单元(Superelement)技术就显得非常必要,
使用超单元的必要性有以下几点:
1. 复杂结构简化:对于包含数百万甚至更多自由度的复杂结构,直接进行优化分析计算代价高昂,超单元可以将复杂结构中的指定部分预先计算并简化,从而简化整个优化过程。
2. 计算效率:在进行拓扑优化时,需要进行多次迭代计算。超单元技术通过减少每次迭代所需的计算量,显著提高了计算效率。
3. 设计灵活性:超单元允许设计师专注于关键区域的设计,而不必从头开始处理整个结构,这增加了设计的灵活性。
使用超单元的优势:
1. 减少计算时间:通过减少模型的自由度,超单元可以显著减少所需的计算时间。
2. 降低硬件要求:较小的模型尺寸意味着需要的计算资源更少,降低了对硬件的要求。
3. 提高设计迭代速度:设计师可以更快地测试不同的设计概念,加速产品开发流程。
4. 优化复杂区域:超单元使得对复杂或关键区域进行详细的优化成为可能,而不必担心整个模型的计算负担。
5. 更好的设计洞察:通过超单元技术,设计师可以更深入地了解结构性能,从而做出更明智的设计决策。
超单元技术为复杂结构的优化设计提供了一种高效、灵活且实用的解决方案。
在本教程中,我们将通过一个简单的悬臂梁有限元模型示例,展示如何应用静态缩减法(static Reduction)来简化有限元模型。此外,您还将学习如何对这一简化后的模型进行拓扑优化。
在开始之前,请将本教程中使用的文件复制到您的工作目录。
http://majorv.help.altair.com/minorv/simulation/tutorials/hwsolvers/optistruct/OS-T-2070/cantilever_full.zip
图1.无缩减的全悬臂梁模型优化问题可以表示为:
Objective:
最小化柔度。
Constraints:
可设计体积的上限限制为40%。
Design variables:
设计空间中每个Element的密度。
图2.全悬臂梁模型的拓扑优化结果
在这个过程中,我们将会使用静态缩减方法,它允许我们从整体模型中提取并简化特定的部分,这些部分在OptiStruct中被称为超单元。为了定义这些超单元的边界自由度,我们需要使用ASET或ASET1关键字。这些关键字指定了超单元与模型其余部分连接的自由度集合,也就是那些将被直接矩阵输入所替代的自由度。
值得注意的是,随着ASET定义数量的增加,静态缩减的准确性会提高,但同时计算成本也会增加。例如,尽管静态缩减可以减小需要求解的矩阵的规模,但如果缩减后的矩阵(DMIG)非常稠密,那么求解时间可能会超过求解原始模型的稀疏矩阵的时间。因此,合理选择ASET定义对于利用DMIG进行有效分析至关重要。
为了防止缩减矩阵过于密集,应仔细选择ASET条目(见下图),而不是为设计空间和非设计空间之间的所有边界节点创建ASET条目。由于本教程使用的问题体积较小,因此选择ASET条目可能不会影响求解时间。
图3.ASET用于悬臂梁模型
一、启动HyperMesh并设置OptiStruct用户配置文件
1.
启动HyperMesh。
此时将打开
User Profile
对话框。
2.
选择
OptiStruct
,然后单击
OK。
这将加载用户配置文件。它包括相应的模板、宏菜单和导入阅读器,将HyperMesh的功能缩减为与生成OptiStruct模型相关的功能。
二、打开模型
1.
单击
File
>
Open
>
Model
。
2.
选择
保存到工作目录的
cantilever_full.hm文件。
3.
单击
Open
。
cantilever_full.hm
数据库将加载到当前HyperMesh会话中,替换任何现有数据。
三、生成超单元
3.1
创建ASET Load Collector
1.
创建Load Collector 。
a)
在Model Browser中,右键单击并从上下文菜单中选择
Create
>
Load Collector
。
默认Load Collector显示在Entity Editor中。
b)
对于Name ,输入
Asets
。
c)
将Card Image设置为
None
。
2.
创建约束。
a)
在Analysis页面中,单击
constraints
面板。
b)
选择
create
子面板。
c)
使用节点选择器,选择边界节点。
图4.
d)
选择所有dof。
选择到的Dof将被分配给ASET。dof1、2 和3 是x、y和z平移dof。dof4、5 和6 是x、y和z旋转dof。
e)
点击
Load Type=
并选择
ASET
。
f)
单击
create
。
3.
单击
return
转到主菜单。
3.2
删除后续优化中保留的Element
将仅为那些将被折减的单元(超单元)生成折减刚度矩阵和载荷矢量。因此,需要创建一个新模型,该模型仅引用超单元零件以及直接应用于该零件的载荷和边界条件。
1.
按
F2
打开Delete面板。
2.
将实体选择器设置为
elems
,然后单击
elems
>
by window
。
3.
在
图5
中指示的Element周围绘制一个窗口
。
图5.
4.
单击
delete entity
。
5.
单击
return
转到主菜单。
3.3
定义一个参数以将约简矩阵写出到外部文件
激活矩阵保存过程需要
PARAM,EXTOUT
批量数据输入。
如果没有此参数,运行将照常进行。此参数有两个选项:DMIGPCH,它将ASCII格式的矩阵保存到
.pch
文件,以及DMIGBIN,它将矩阵以二进制格式保存到
.dmg
文件。DMIGPCH用于本教程。
1.
在Analysis页面上,单击
control cards
面板。
2.
在
Card Image
对话框中,单击
PARAM
。
3.
选择
EXTOUT
。
4.
在卡片图像顶部的EXTOUT下,选择
DMIGPCH。
5.
单击
return
退出PARAM。
6.
单击
return
返回主菜单。
四、
保存数据库
1.
在菜单栏中,单击
File
>
Save As
>
Model
。
2.
在
Save As
对话框中,输入
cantilever_dmig.hm
作为文件名,并将其保存到您的工作目录中。
五、
提交作业
1.
在Analysis页面中,单击OptiStruct面板。
图6.访问OptiStruct面板
2.
单击
save as
。
3.
在
Save As
对话框中,指定写入OptiStruct模型文件的位置,并在文件名中输入
cantilever_dmig
。
对于OptiStruct求解器模型,建议使用
.fem
扩展名。
4.
单击
Save
。
input file字段显示在
Save As
对话框中指定的文件名和位置。
5.
将导出选项切换设置为
all
。
6.
将run options切换设置为
analysis
。
7.
将内存选项切换设置为
memory default
。
8.
单击
OptiStruct
启动OptiStruct作业。
如果作业成功,则新的结果文件应位于写入
cantilever_dmig.fem
的目录中。
cantilever_dmig.out
文件是查找错误消息的好地方,如果存在任何错误,这些错误消息可以帮助调试输入模型。
写入目录的默认文件为:
cantilever_dmig.out:
OptiStruct输出文件,包含有关文件设置的特定信息、优化问题的设置、运行所需的RAM和磁盘空间量的估计值、每次优化迭代的信息以及计算时间信息。查看此文件是否有警告和错误。
cantilever_dmig.stat:
分析过程摘要,提供分析过程中每个步骤的CPU信息。
cantilever_dmig_AX.pch:
缩减矩阵(DMIG) 文件。
矩阵以与
DMIG
批量数据输入相同的格式写入
.pch
文件。它们由单个标题条目和一个或多个列条目定义。默认情况下,刚度矩阵的名称为
KAAX
,质量为
MAAX
,载荷为
PAX
。由于本教程中未使用质量矩阵,因此不会将其写入
.pch
文件。
I/O选项条目
DMIGNAME
提供对矩阵名称的控制。
六、
清除数据库
在菜单栏中,单击
File
>
New
。
现有HyperMesh数据库将被清除。
七、
在模型中引用超单元
7.1
打开模型
1.
单击
File
>
Open
>
Model
。
2.
选择
保存到工作目录的
cantilever_full.hm文件。
3.
单击
Open
。
cantilever_full.hm
数据库将加载到当前HyperMesh会话中,替换任何现有数据。
7.2
删除Superelement Reduced部分DMIG out
由于超单元部分的矩阵将被
DMIG
替换,因此应删除节点和单元的批量数据条目,以及超单元中的所有荷载和边界条件。
1.
按
F2
打开Delete面板。
2.
将实体选择器设置为
elems
,然后单击
elems
>
by window
。
3.
在图
7
中指示的Element周围绘制一个窗口
。
图7.
4.
单击
delete entity
。
5.
单击
return
转到主菜单。
7.3
使用DMIG设置拓扑优化
1.
在Analysis页面上,单击
control cards
面板。
2.
定义INCLUDE_BULK控制卡。
a)
在
Card Image
对话框中,单击
INCLUDE_BULK
。
b)
在Include字段中,输入文件名
cantilever_dmig_AX.pch
。
简化矩阵(
DMIG
) 将包含在OptiStruct求解器模型中。这里假设您假设拓扑优化将在与
cantilever_dmig_AX.pch
文件相同的文件夹中运行。如果您计划在其他文件夹中运行它,请定义此文件的完整路径。
c)
单击
return
退出INCLUDE_BULK控制卡。
3.
定义K2GG控制卡。
a)
单击
K2GG
。
b)
在K2GG= 字段中,输入
KAAX
。
这指定了必须使用名为KAAX的折减刚度矩阵(存储在
cantilever_dmig_AX.pch
文件中)。
c)
单击
return
退出K2GG控制卡。
4.
定义P2G控制卡。
a)
单击
P2G
。
b)
在P2G= 字段中,输入
PAX
。
c)
点击
return
退出P2G控制卡。
5.
单击
return
转到主菜单。
八、设置优化
8.1
创建Topology Design variables
1.
在Analysis页面中,单击
optimization
。
2.
单击
topology
。
3.
选择
create
子面板。
4.
在desvar= 字段中,输入
topo
。
5.
将type: 设置为
PSHELL
。
6.
使用props选择器,选择
design
。
7.
单击
create
。
8.
更新设计变量的参数。
a)
选择
parameters
子面板。
b)
将minmemb关闭为
mindim=
,然后输入
1.2
。
c)
单击
update
。
9.
单击
return
。
8.2
创建优化响应
1.
在Analysis页面中,单击
optimization
。
2.
单击
Responses
。
3.
创建体积分数响应。
a)
在responses= 字段中,输入
Volfrac
。
b)
在响应类型下方,选择
volumefrac
。
c)
将区域选择设置为
total
和
no regionid
。
d)
单击
create
。
4.
创建柔度响应。
1)
在response= 字段中,输入
Compl
。
2)
在响应类型下方,选择
compliance
。
3)
将区域选择设置为
total
和
no regionid
。
4)
单击
create
。
5.
单击
return
返回Optimization面板。
8.3
创建设计约束
1.
单击
dconstraints
面板。
2.
在constraint= 字段中,输入
VFrac
。
3.
单击
response =
并选择
Volfrac
。
4.
选中upper bound
旁边的框
,然后输入
0.4
。
5.
单击
create
。
6.
单击
return
返回Optimization面板。
8.4
定义目标函数
1.
单击
objective
面板。
2.
验证是否选择了
min
。
3.
单击
response=
并选择
Compl
。
4.
使用loadsteps选择器,选择
step
。
5.
单击
create
。
6.
单击
return
两次以退出Optimization面板。
九、保存数据库
1.
在菜单栏中,单击
File
>
Save As
>
Model
。
2.
在
Save As
对话框中,输入
cantilever_opti.hm
作为文件名,并将其保存到您的工作目录中。
十、运行优化
1.
在Analysis页面中,单击
OptiStruct
。
2.
单击
save as
。
3.
在
Save As
对话框中,指定写入OptiStruct模型文件的位置,并在文件名中输入
cantilever_opti
。
对于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还会报告错误消息。文件
cantilever_opti.out
可以在文本编辑器中打开,以查找有关任何错误的详细信息。此文件将写入与
.fem
文件相同的目录。
9.
单击
Close
。
写入run目录的默认文件包括:
cantilever_opti.hgdata:
包含目标函数数据、百分比约束违例和每次迭代的约束的HyperGraph文件。
cantilever_opti.HM.comp.tcl:
HyperMesh命令文件,用于根据元件的密度结果值将元件组织成元件。此文件仅用于OptiStruct拓扑优化运行。
cantilever_opti.HM.ent.tcl:
HyperMesh命令文件,用于根据Element的密度结果值将Element组织成实体集。此文件仅用于OptiStruct拓扑优化运行。
cantilever_opti.html:
HTML报告,给出问题表述的摘要和最终迭代的结果。
cantilever_opti.oss:
OSSmooth文件,默认密度阈值为0.3。您可以编辑文件中的参数以获得所需的结果。
cantilever_opti.out:
OptiStruct输出文件,包含有关文件设置的特定信息、优化问题的设置、运行所需的RAM和磁盘空间量的估计值、所有优化迭代的信息以及计算时间信息。查看此文件,了解在处理
cantilever_opti.fem
文件时标记的警告和错误。
cantilever_opti.res:
HyperMesh二进制结果文件。
cantilever_opti.sh:
Shape文件进行最终迭代。它包含分析中每个单元的材料密度、空隙尺寸参数和空心方向角。此文件可用于重新启动运行。
cantilever_opti.stat:
包含有关用于完整运行的CPU时间的信息,以及用于读取输入模型、组装、分析、收敛等的CPU时间的分解。
cantilever_opti_des.h3d:包含
优化结果的HyperView二进制结果文件。
cantilever_opti_s#.h3d:
包含线性static分析的HyperView二进制文件,依此类推。
十一、查看结果
对于所有迭代,单元密度结果将从OptiStruct输出到
cantilever_opti_des.h3d
文件。此外,默认情况下,第一次和最后一次迭代的每个SUBCASE的位移和应力结果将输出到
cantilever_opti_s#.h3d
文件中,其中# 指定SUBCASE ID。
11.1
查看密度结果的云图
1.
在OptiStruct面板中,单击
HyperView
。
2.
在Results工具栏中,单击 以打开Contour面板。
3.
将Result type设置为
Element Densities[s]
和
Density。
4.
将Averaging method设置为
Simple
。
5.
单击
Apply
以显示密度云图。
6.
在Animation工具栏上,单击 以从Simulation列表中选择最后一个迭代。
生成的云图表示由施加的载荷和边界条件产生的单元密度字段。
图8.
11.2
查看单元密度的ISO值图
等值图解提供有关单元密度的信息。Iso值保留等于和高于特定密度阈值的所有Element。对于具有实体设计区域的模型,此特征成为分析密度结果的重要工具。
1.
在Results工具栏中,单击 以打开ISO Value面板。
2.
将Result type设置为
Element Densities
。
3.
将Show values设置为
Above
。
4.
单击
Apply
。
5.
在Clipped geometry下,选择
Features
和
Transparent
。
6.
更改密度阈值。
a).
在Current value字段中,输入
0.3
。
b).
在Current value下,移动滑块。
当您更新密度阈值时,模型视窗中显示的Iso值会以交互方式更新。使用此工具可以更好地了解OptiStruct中的材料布局和载荷路径。
图9.
TodayCAEer
花有重开日,人再无少年
最新文章
基于复合材料的车架尺寸优化
应力应变曲线:材料力学性能的“指纹”
链接变量的尺寸优化
学习不能停,开启新的篇章-尺寸优化:轨道接头的尺寸优化
optistruct的组合优化更新完成
Hypermesh二次开发:开发个球
ANSA二次开发:创建常驻窗口
复合材料OHT尺寸优化Phase 3
复合材料OHT自由尺寸优化与复合材料OSsmooth应用Phase 2
使用optistruct进行复合材料OHT模型搭建Phase 1
借助excel将工程应力应变曲线转换为真实应力应变曲线
HyperWork教程合集
ANSA教程合集
使用Python作为二次开发语言,所遇到的调试问题
使用optistruct对汽车控制臂晶格进行尺寸优化Phase2
使用optistruct对汽车控制臂进行晶格拓扑优化Phase1
优化分析结果解读--hypermesh OSSmooth功能介绍
复合材料的铺层堆叠顺序优化 - phase3
飞机下腹部复合材料整流罩的尺寸优化-phase2
拓扑与形貌的组合优化
飞机下腹部复合材料整流罩的组合优化-phase1
Simlab二次开发-基于Python的支架线性分析前后处理
形貌优化
随机响应工况下的形貌优化-OS-T: 3030
HyperWork教程合集
形貌优化结果解读-OSsmooth-OS-T: 3020
HyperWork教程合集
通过形貌优化提升支架的一阶模态频率案例-OS-T:3010
HyperWork教程合集
扭转工况下的形貌优化-OS-T:3000
HyperWork教程合集
拓扑优化新方向,基于COMSOL声学拓扑优化
拓扑优化
OptiStruct的 .fem 文件格式及其应用案例
使用等效静载荷法进行拓扑优化-OS-T:2098
从入门到放弃:HyperWorks仿真分析/二次开发案例集合
基于频响分析的拓扑优化-OS-T:2095
从入门到放弃:HyperWorks仿真分析/二次开发案例集合
带挤压约束的拓扑优化-OS-T:2090
从入门到放弃:HyperWorks仿真分析/二次开发案例集合
应用应力约束的拓扑优化-OS-T:2080
从入门到放弃:HyperWorks仿真分析/二次开发案例集合
使用超单元进行拓扑优化-OS-T:2070
从入门到精通:HyperWorks仿真分析/二次开发案例集合
重磅Nature!九零后女博士首次提出深度学习与流体力学融合,引发前沿技术新概念
同时应用拔模和对称约束的拓扑优化-OS-T:2060
从入门到精通:HyperWorks仿真分析/二次开发案例集合
在拓扑优化中的应用模式组重复-OS-T:2050
从入门到精通:HyperWorks仿真分析/二次开发案例集合
焊点的拓扑优化-OS-T:2040
分类
时事
民生
政务
教育
文化
科技
财富
体娱
健康
情感
旅行
百科
职场
楼市
企业
乐活
学术
汽车
时尚
创业
美食
幽默
美体
文摘
原创标签
时事
社会
财经
军事
教育
体育
科技
汽车
科学
房产
搞笑
综艺
明星
音乐
动漫
游戏
时尚
健康
旅游
美食
生活
摄影
宠物
职场
育儿
情感
小说
曲艺
文化
历史
三农
文学
娱乐
电影
视频
图片
新闻
宗教
电视剧
纪录片
广告创意
壁纸头像
心灵鸡汤
星座命理
教育培训
艺术文化
金融财经
健康医疗
美妆时尚
餐饮美食
母婴育儿
社会新闻
工业农业
时事政治
星座占卜
幽默笑话
独立短篇
连载作品
文化历史
科技互联网
发布位置
广东
北京
山东
江苏
河南
浙江
山西
福建
河北
上海
四川
陕西
湖南
安徽
湖北
内蒙古
江西
云南
广西
甘肃
辽宁
黑龙江
贵州
新疆
重庆
吉林
天津
海南
青海
宁夏
西藏
香港
澳门
台湾
美国
加拿大
澳大利亚
日本
新加坡
英国
西班牙
新西兰
韩国
泰国
法国
德国
意大利
缅甸
菲律宾
马来西亚
越南
荷兰
柬埔寨
俄罗斯
巴西
智利
卢森堡
芬兰
瑞典
比利时
瑞士
土耳其
斐济
挪威
朝鲜
尼日利亚
阿根廷
匈牙利
爱尔兰
印度
老挝
葡萄牙
乌克兰
印度尼西亚
哈萨克斯坦
塔吉克斯坦
希腊
南非
蒙古
奥地利
肯尼亚
加纳
丹麦
津巴布韦
埃及
坦桑尼亚
捷克
阿联酋
安哥拉