首页/文章/ 详情

基于频响分析的拓扑优化-OS-T:2095

2天前浏览159
独乐乐不如众乐乐,收藏链接不如直接转发,欢迎大家分享,共同精进。 
本教程演示了使用OptiStruct进行频率响应优化的功能。
在开始之前,请将本教程中使用的文件复 制到您的工作目录。
http://majorv.help.altair.com/minorv/simulation/tutorials/hwsolvers/optistruct/OS-T-2095/frf_response_input.zip
首先,查看平板的有限元(FE) 模型,并执行模态频率响应分析以得出峰值幅度。然后在同一块板执行动态响应优化以获得新设计。
新设计提供了优化的材料布局,并最大限度地减少了峰值响应。将使用后处理工具HyperView来可视化结果的云图、位移大小和相位。
图1.平板模型
优化问题表示为:
Objective:最小化体积。
Constraints:最大FRF Disp < 600 mm
Design variables:设计空间中每个Element的密度。

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

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

二、导入模型

1.点击File>Import>Solver Deck
导入选项卡将添加到您的选项卡菜单中。
2.对于File type ,选择OptiStruct
3.选择文件图标。
此时将打开Select OptiStruct文件Browser。    
4.选择保存到工作目录的frf_response_input.fem文件。
5.单击Open
6.单击Import,然后单击Close以关闭Import选项卡。

三、创建载荷和边界条件

1           
2           
3           
3.1 创建SPC和Unit Load Collector
模型在一条边上受到约束。将在板的自由边缘角上的一个点沿正z方向施加单位垂直载荷。在此步骤中,您将创建两个Load Collector ,即SPC和unit-load。
1.创建SPC Load Collector 。
a).在Model Browser中,右键单击并选择从上下文菜单中Create>Load Collector。默认Load Collector显示在Entity Editor中。
b).对于Name ,输入SPC。
c).单击Color并从调色板中选择一种颜色。
d).将Card Image设置为None
图2.
2.创建unit-load Collector。
a).在Model Browser中,右键单击并选择从上下文菜单中Create>Load Collector。默认Load Collector显示在Entity Editor中。
b).对于Name ,输入unit-load
c).单击Color并从调色板中选择一种颜色。    
d).将Card Image设置为None
3.2 Create Constraints
1.在Model Browser的Load Collectors文件夹中,右键单击SPC,然后从上下文菜单中选择Make Current。
图3.
2.在工具页面中,单击numbers以打开数字面板。
3.从弹出实体选择菜单中单击nodes>by id。
4.输入以下数字:1234
5.单击on
6.单击return
7.在Analysis页面中,单击constraints面板。
8.确认已使用面板左侧的单选按钮选择create子面板。
9.将约束应用于ID为1 和2 的节点。
a).使用节点选择器,选择ID为12的节点
b).选择dof1-dof6
选择到的dof将受到限制,而没有选择到的dof将是自由的。dof1、2 和3 是x、y和z平移dof。dof4、5 和6 是x、y和z旋转dof。
c).单击create
10.将约束应用于ID为4 的节点。
a).使用节点选择器,选择ID为4的节点
b).取消选中除dof3之外的所有dof
c).单击create    
2.在平板上的某个点创建单位载荷。
a).在Model Browser的Load Collectors文件夹中,右键单击unit-load,然后从上下文菜单中选择Make Current。
b).在Constraints面板中,使用节点选择器选择ID为3的节点
c).取消选中除dof3之外的所有dof
d).在dof3= 字段中,输入20
e).点击load types=并选择DAREA。
f).单击create
2.单击return转到主菜单。
图4.带dof的FE板模型
3.3.创建Frequency Range Curve
1.在Model Browser中,右键单击并选择Create>Curves
Curve Editor打开。
2.对于Name ,输入tabled1
3.在表中,输入:
a).在x(1) 字段中,输入0.0
b).在y(1) 字段中,输入1.0
c).在x(2) 字段中,输入1000.0
d).在y(2) 字段中,输入1.0
e).单击右上角的X退出对话框。    
图5.
这提供了0 到1000的频率范围,在此范围内具有恒定载荷。
4.单击Color并从调色板中选择一种颜色。
5.将Card Image设置为TABLED1
3.4创建与频率相关的动态载荷
1.在Model Browser中,右键单击并选择Create>Load Step Inputs
2.对于Name ,输入rload2
3.对于Config type ,选择Dynamic Load - Frequency dependent
4.对于Type ,选择RLOAD2。
5.设置EXCITEID。
a).单击          >Loadcol
b).Select Loadcol对话框中,选择unit-load,然后单击OK
6.定义TB。
a).单击Curves
b).Select Curves对话框中,选择tabled1,然后单击OK
7.将TYPE设置为LOAD
这会将输入定义为力。
3.5创建一组要在响应解中使用的频率
1.在Model Browser中,右键单击并选择从上下文菜单中Create>Load Collector    
默认Load Collector显示在Entity Editor中。
2.对于Name ,输入freq5
3.单击Color并从调色板中选择一种颜色。
4.将Card Image设置为FREQi
5.选择FREQ5
6.在NUMBER_OF_FREQ5= 字段中,输入1
7.在FREQ5_MAX_NUMBER_OF_FR= 字段中,输入3
8.在Data: ID旁边,单击。
9.在NUMBER OF FREQ = 对话框中,定义频率值。
a)在F1 字段中,输入1.0
b)在F2 字段中,输入1000
c)在FR(0) 字段中,输入1.0
d)在FR(1) 字段中,输入0.8
e)在FR(2) 字段中,输入0.2
f)单击Close退出对话框。
图6.
通过指定频率范围和该范围内的固有频率分数,为频率响应分析的模态方法定义一组频率。    
图7.
3.6创建EIGRL Load Step Input
创建EIGRL Load Step Input作为模态方法。
1.在Model Browser中,右键单击并选择Create>Load Step Inputs
2.对于Name ,输入eigrl
3.对于Config Type ,选择Real Eigen Value Extraction
4.对于Type ,选择EIGRL
5.对于ND,输入17
这指定了使用Lanczos方法提取前17 阶频率的特征值。
3.7创建Load Step
Load Step也称为SUBCASE。
1.在Analysis页面中,单击loadsteps。
2.对于Name ,输入subcase1
3.单击type,然后选择Freq. resp
4.定义SPC。
a)选中SPC前面的框。
b)单击= 并从Load Collector列表中选择spc。
5.定义METHOD (STRUCT)。
a)选中METHOD (STRUCT) 前面的框。
b)单击=,然后从Load Step inputs列表中选择eigrl。
6.定义DLOAD。
a)选中DLOAD前面的框。
b)单击= 并从Load Step inputs列表中选择rload2。
7.定义FREQ。
a)选中FREQ前面的框。
b)单击= 并从Load Collector列表中选择freq5。
8.单击create    
图8.
9.单击edit并定义RESVEC。
a)选择RESVEC
b)将TYPE设置为APPLOAD
c)将OPTION设置为YES
已创建一个OptiStruct SUBCASE,该SUBCASE引用了Load Collectorspc中的约束;Load Step输入中的Unit load,rload2;在Load Collector中定义的一组频率,在Load Step输入Eigrl中定义的Freq5 和Modal Method中定义的频率。
建议在进行任何FRF仿真之前进行模态分析。在这里,此步骤被取消以专注于Frequency Response Analysis设置。
3.8创建一组节点以输出结果
1.在Model Browser中,右键单击并从上下文菜单中选择Create>Set。
默认集显示在Entity Editor中。
2.对于Name ,输入SETA
3.将Card Image设置为SET_GRID
4.将Set Type设置为non-ordered
5.对于Entity ID ,单击0 Nodes>Nodes
6.使用节点选择器,选择ID为3的节点
这是应用载荷的节点。
7.在面板区域中,单击proceed
8.单击return退出。
使用FRF仿真,生成的数据量可以轻松创建大型结果文件。最好使用指定目标点的set。这减少了CPU时间和要保存的数据量。
3.9创建一组输出并包含用于频率响应分析的阻尼
1.在Analysis页面中,单击control cards面板。
此时将打开Card Image对话框。
2.定义GLOBAL_OUTPUT_REQUEST。
a)单击GLOBAL_OUTPUT_REQUEST    
b)选择DISPLACEMENTS
一组新的选项将显示在工作区屏幕中。
c)点击FORM(1)并选择PHASE
d)点击OPTION(1)并选择SID
新字段SID(1) 显示为黄色。
e)双击SID(1)并选择SETA
值1 现在显示在SID字段框下方。这将仅为集1 中的节点设置输出。
图9.
f)单击return退出GLOBAL_OUTPUT_REQUEST。
3.定义FORMAT。
a)单击FORMAT
b)在number_of_formats= 字段中,输入2
c)在FORMAT_V1下,单击FORMAT的第二个实例,然后选择OPTI
d)单击return
4.定义PARAM。
a)单击PARAM
b)选择G
c)单击G_V1并输入0.05
这指定了系统的恒定阻尼系数等于临界阻尼比的2.5%。
d)单击return
5.定义OUTPUT。
a)单击OUTPUT
b)将KEYWORD设置为HGFREQ
c)将FREQ设置为LAST
d)将number_of_outputs= 设置为1。
e)单击return
6.单击return返回主菜单。

四、保存数据库

1.在菜单栏中,单击File>Save As>Model    
2.Save As对话框中,输入frf_response_input.hm作为文件名,并将其保存到您的工作目录中。

五、提交作业

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

六、查看结果

在此步骤中,您将在HyperGraph中查看位移结果(.mvw ),并将通过视频查看此运行的位移输出(.disp)。结果文件(.h3d) 仅包含节点set输出中指定的三个节点的位移结果。
1.在OptiStruct面板中,单击HyperView将分析结果加载到下一页。
2.在菜单栏中,单击File>Open>Session
3.Open Session File对话框中,导航到运行作业的目录,然后打开frf_response_analysis_freq.mvw文件。    
Optional:如果您从OptiStruct面板启动,请单击Yes以放弃当前会话。
将显示两个图形。图形标题显示grid3 的SUBCASE 1(SUBCASE 1)-位移。顶部的图表显示了Phase Angle与Frequency的关系。底部图表显示了位移响应与频率的关系。
图11.
4.在Curves工具栏中,单击 以打开Define Curves面板。
5.删除X Trans和Y Trans曲线。
激励施加在Z方向上,然后,主要效应将在此方向上检测到。
6.在Results工具栏上,单击 以打开Curve Attributes面板。
7.更改line属性以继续。
8.单击Symbol Attributes选项卡,然后选择方形符号。
图12.
9.在Annotations工具栏中,单击 以打开Axes面板。
10.将Axis更改为Vertical    
图13.
11.单击ScaleTics (Magnitude)选项卡,然后选择Logarithmic
12.在Min字段中,输入5
13.在Max字段中,输入200000
14.单击ScaleTics (Phase)选项卡,并将Tics per axis更改为7。
15.将Axis设置为Horizontal
图14.
16.在Min字段中,输入5
17.在Max字段中,输入1000
图15.频率响应函数FRF(grid3,Z位移)
18.在Curves工具栏中,单击 以打开Coordinate Info面板。
19.在Find point下,选择Magnitude  
图16.
20.单击maximum按钮,查看表中的最大Y幅度15055。基线模型的峰值位移。
图17.
21.通过将客户端选择器更改为hypermesh来返回HyperMesh。

七、打开模型

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

八、保存数据库

1.在菜单栏中,单击File>Save As>Model
2.Save As对话框中,输入frf_response_optimization.hm作为文件名,并将其保存到您的工作目录中。

九、设置优化

9.1创建Topology Design variables
1.在Analysis页面中,单击optimization
2.单击topology
3.选择create子面板。    
4.在desvar= 字段中,输入plate
5.将type:设置为PSHELL
6.使用props选择器,选择Design
7.对于base thickness,输入0.15
8.单击create
已创建拓扑设计空间定义shield。引用设计属性Collector的所有Element(organization到design Component中的Element)现在都包含在拓扑设计空间中。这些壳体的厚度可以在0.15 (基础厚度) 和PSHELL卡上的T字段定义的最大厚度之间变化。
本练习的目的是确定在可设计区域中定位筋的位置。因此,定义了非零基础厚度,即壳体的原始厚度。最大厚度(由PSHELL卡上的T字段定义) 应为加强筋的允许深度。
目前,PSHELL卡上的T字段仍设置为0.15(原始外壳厚度)。您可以将其更改为更高的值,以创建可以删除Material的设计空间。
9.更新设计变量的参数。
a)选择parameters子面板。
b)将minmemb off切换为mindim=,然后输入2.0
c)将maxmemb关闭为maxdim=,然后输入6.0
d)单击update
10.单击return
11.编辑设计属性的厚度。
a)在Model Browser的Properties文件夹中,点击design
b)在Entity Editor的T字段中,输入1.000
9.2创建优化响应
1.在Analysis页面中,单击optimization
2.单击Responses
3.创建体积响应,它定义设计空间的体积分数。
a)在responses= 字段中,输入volume
b)在响应类型下方,选择volume
c)将regional selection设置为totalno regionid
d)单击create
4.创建频率响应位移,它定义dof3 上的最大幅值。
a)在responses= 字段中,输入frfdisp
b)将响应类型设置为frf displacement    
c)将component从real切换到magnitude
d)将function设置为all freq
e)使用节点选择器,选择ID为3的节点
f)选择dof3
g)单击create
5.单击return返回Optimization面板。
9.3创建设计约束
1.单击dconstraints面板。
2.在constraint= 字段中,输入constr
3.单击response =并选择frfdisp
4.选中upper bound旁边的框,然后输入600
5.使用loadsteps选择器,选择subcase1
6.单击create
7.单击return返回Optimization面板。
9.4定义目标函数
1.单击objective面板。
2.验证是否选择了min。
3.单击response=并选择volume
4.单击create
5.单击return两次以退出Optimization面板。

十、运行优化

1.在Analysis页面中,单击OptiStruct
2.单击save as
3.Save As对话框中,指定写入OptiStruct模型文件的位置,并在文件名中输入frf_response_optimization
对于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还会报告错误消息。可以在文本编辑器中打开frf_response_optimization.out文件,以查找有关任何错误的详细信息。此文件将写入与.fem文件相同的目录。
9.单击Close
写入run目录的默认文件包括:
frf_response_optimization.hgdata
HyperGraph文件,包含目标函数的数据、百分比约束冲突和每次迭代的约束。
frf_response_optimization.HM.comp.tcl
HyperMesh命令文件,用于根据Element的密度结果值将Element组织成component。此文件仅用于OptiStruct拓扑优化运行。
frf_response_optimization.HM.ent.tcl
HyperMesh命令文件,用于根据Element的密度结果值将Element组织成实体集。此文件仅用于OptiStruct拓扑优化运行。
frf_response_optimization.html
HTML优化报告,给出问题表述和最终迭代结果的摘要。
frf_response_optimization.us
OSSmooth文件,默认密度阈值为0.3。您可以编辑文件中的参数以获得所需的结果。
frf_response_optimization.out
OptiStruct输出文件包含有关文件设置、优化问题设置、运行所需RAM和磁盘空间量的估计值、所有优化迭代的信息以及计算时间信息的特定信息。查看此文件,了解在处理frf_response_optimization.fem文件时标记的警告和错误。
frf_response_optimization.sh
Shape文件进行最终迭代。它包含分析中每个单元的材料密度、空隙尺寸参数和空心方向角。此文件可用于重新启动运行。
frf_response_optimization.stat
包含有关用于完整运行的CPU时间的信息,以及用于读取输入模型、装配、分析、收敛等的CPU时间的分解。
frf_response_optimization_des.h3d
包含优化结果的HyperView二进制文件。
frf_response_optimization_s.h3d    
包含线性static分析的HyperView二进制结果文件,依此类推。
frf_response_optimization.his_data
OptiStruct历程文件,包含迭代次数、目标函数值和每次迭代的约束违规百分比。

十一、查看结果

Element Density和Element Thickness结果由OptiStruct输出所有迭代。
10           
11           
11.1查看密度结果的ISO图
1.在OptiStruct面板中,单击HyperView
2.打开frf_response_optimization.mvw会话文件。
a)在菜单栏中,单击File>Open>Session
b)Open Session File对话框中,导航到您的工作目录并打开frf_response_optimization.mvw会话文件。
3.在Results工具栏中,单击 以打开Contour面板。
4.在Results Browser中,选择最后一个Load Case模拟。
图18.
5.在Contour面板中,将平均方法设置为simple
6.单击apply
为模型的每个Element分配一个图例颜色,指示所选迭代的每个Element的密度。最后一次设计迭代给出了优化的Material布局。    
图19.显示基础模型最终设计迭代的云图
11.2比较优化运行的峰值位移
1.打开FRF_response_analysis_freq.mvw会话文件。
a)在菜单栏中,单击File>Open>Session
b)Open Session File对话框中,导航到您的工作目录并打开FRF_response_analysis_freq.mvw会话文件。
2.在Curves工具栏上,单击 打开Build Plots面板,您将使用该面板在现有分析信息的基础上添加曲线。
3.在Data file字段中,加载frf_response_optimization_s2.h3d优化文件,其中包含最终迭代分析。
图20.
4.将Subcase设置为最后一次迭代。
5.将X type设置为Frequency
6.对于Y type,选择Displacement(Grids)
7.对于Y request,选择N3
8.对于Y component,选择X、YZ
9.单击Apply,将新信息叠加到原始图上。    
图21.平板的原始和最终设计结果对比
             


来源:TodayCAEer
ACTOptiStructHyperMeshHyperViewSTEPS拓扑优化材料装配
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2024-11-22
最近编辑:2天前
TodayCAEer
本科 签名征集中
获赞 18粉丝 28文章 249课程 0
点赞
收藏
作者推荐

快速学会一项分析- 最小成员尺寸的拓扑优化-OS-T:2005

以往优化分析案例,请查看第二篇推文。在拓扑优化中,最小成员尺寸是至关重要的,因为它直接影响到优化结果的可制造性和结构的功能性。最小成员尺寸确保了优化后的结构中不会有过于细小的传力路径,这些路径在实际制造过程中可能无法实现或过于脆弱而无法承受预期的载荷。通过设置最小成员尺寸,可以消除优化结果中的细小特征,从而得到更加合理、均匀的材料分布。这不仅有助于材料的流动和填充,特别是在铸造过程中,而且也便于加工过程中的刀具操作,相对应的还有最大成员尺寸能避免材料堆积导致制造过程中缺陷产生的几率更大,后续文章来讲解。此外,适当的最小尺寸可以防止应力集中,提高结构的可靠性和耐用性。总之,最小成员尺寸的控制在拓扑优化中是确保设计满足制造工艺要求、防止过度设计和提高结构性能的关键因素。在概念设计阶段的早期执行拓扑优化可以生成良好的基础设计,并有助于缩短设计周期。后处理拓扑优化结果的一个挑战是,结果可能具有多个中等密度单元或棋盘格图案,这些单元或棋盘图案可以解释为实心杆件或空隙。如果将这些中等密度单元解释为薄杆件,则最终设计将更难制造。OptiStruct提供了最小成员尺寸控制方法,该方法通过定义最终设计中所需的最小尺寸,在最终拓扑设计中对成员尺寸进行一些控制。它通过消除中等密度单元和棋盘格密度模式来帮助实现清晰路径解决方案,从而产生路径清晰且性能更好的结构,从而更容易解读,也更容易制造。来源:TodayCAEer

未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈