首页/文章/ 详情

链接变量的尺寸优化

2小时前浏览1
在汽车车身设计中,经常会遇到关于对称性的优化问题。例如,对于车身的对称零件,通常需要它们具有相同的厚度,以满足结构对称性的要求。OptiStruct可以通过属性关联来实现这种设计变量的同步变化。这意味着,如果两个零件在设计上是对称的,那么它们的厚度设计变量可以被链接起来,确保它们在优化过程中始终保持一致。
具体来说,用户可以在OptiStruct中定义一个设计变量,并将其与特定零件的属性(如厚度)相关联。然后,通过使用设计变量链接(desvar link)功能,可以将一个设计变量设置为依赖于另一个设计变量。这样,当一个设计变量更新时,与之链接的设计变量也会自动更新,从而保持对称零件的属性一致性。
在本教程中,您将对使用壳单元建模的焊接支架执行尺寸优化。
在开始之前,请将本教程中使用的文件复 制到您的工作目录。
http://majorv.help.altair.com/minorv/simulation/tutorials/hwsolvers/optistruct/OS-T-4010/bracket_size.zip
在本教程中,我们使用的是一个结构模型,它包含了施加的载荷和必要的约束。我们的目标是在保证结构在特定应力水平下性能的前提下,尽可能减少材料的使用。对于支架这样的对称结构,其两侧的厚度是相互关联的,这意味着在最优设计中,两侧的厚度应该是相等的。这样的设计不仅满足了对称性的要求,而且还能确保材料使用的最小化。
图1.焊接支架的结构模型
您需要将结构模型加载到HyperMesh中。约束、载荷、材料属性和SUBCASE(Load Step)已在模型中定义。定义尺寸、设计变量和优化参数,然后OptiStruct软件确定最佳厚度。然后在HyperMesh中查看结果。
优化问题表示为:
Objective:最小化体积。
Constraints:支架的最大von Mises应力< 100 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.单击size面板。
3.选择desvar子面板。
4.创建设计变量part1。
a)在desvar= 字段中,输入part1
b)在initial value= 字段中,输入2.5
c)在lower bound= 字段中,输入1.0
d)在upper bound= 字段中,输入2.5
e)将移动限制切换设置为move limit default
f)将离散设计变量(ddval) 开关设置为no ddval
g)单击create
5.创建设计变量part2。
a)在desvar = 字段中,输入part2
b)在initial value = 字段中,输入2.5
c)在lower bound = 字段中,输入1.0
d)在upper bound = 字段中,输入2.5
e)将移动限制切换设置为move limit default
f)将离散设计变量(ddval) 开关设置为no ddval
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。
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.2链接设计变量
1.单击desvar link面板。
2.在dlink = 字段中,输入link1
3.在dependent下,单击designvar=并选择part2
4.在独立下,单击designvars并选择part1
Note:线性因子自动设置为1。
5.单击return
6.在C0 = 字段中,输入0.000
7.在CMULT = 字段中,输入1
8.单击create
9.点击return转到优化设置面板。
设计变量part2 现在线性依赖于设计变量part1。
3.3创建优化响应
1.在Analysis页面中,单击optimization
2.单击Responses
3.创建体积响应,它定义设计空间的体积分数。    
1.在responses=字段中,输入volume
2.在响应类型下方,选择volume
3.将regional selection设置为totalno regionid
4.单击create
4.创建static stress响应。
5.在response= 字段中,输入stress1
6.将响应类型设置为static stress
7.使用props选择器,选择part1
8.将响应选择器设置为von mises
9.在von mises下,选择both surfaces
10.单击create
5.创建另一个名为stress2 的static应力响应,该响应是为零部件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旁边的框,然后输入100
c)单击response =并选择stress2
d)使用loadsteps选择器,选择STEP
e)单击create
约束是值为100 的上限。该约束适用于SUBCASE STEP。
4.单击return转到优化面板。
3.5定义目标函数    
1.单击objective面板。
2.验证是否选择了min。
3.单击response并选择volume
4.单击create
5.单击return两次以退出Optimization面板。

四、保存数据库

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

五、运行优化

1.在Analysis页面中,单击OptiStruct
2.单击save as
3.Save As对话框中,指定写入OptiStruct模型文件的位置,并在文件名中输入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还会报告错误消息。可以在文本编辑器中打开文件bracket_size.out以查找有关任何错误的详细信息。此文件将写入与.fem文件相同的目录。
9.单击Close
写入run目录的默认文件包括:
bracket_size.hgdata:包含目标函数数据、百分比约束冲突和每次迭代的约束的HyperGraph文件。
bracket_size.prop:OptiStruct属性输出文件,包含上次迭代中所有更新的属性数据,用于大小优化。    
bracket_size.hist_dat:OptiStruct迭代历程文件,包含目标函数和冲突最严重的约束的迭代历程。可用于迭代历程的xy图。
bracket_size.html:HTML报告,给出问题表述的摘要和最终迭代的结果。
bracket_size.out:OptiStruct输出文件,包含有关文件设置、优化问题设置、运行所需RAM和磁盘空间量的估计值、所有优化迭代的信息以及计算时间信息。查看此文件,了解在处理bracket_size.fem文件时标记的警告和错误。
bracket_size.sh:Shape文件进行最终迭代。它包含分析中每个单元的材料密度、空隙尺寸参数和空心方向角。此文件可用于重新启动运行。
bracket_size.stat:包含有关用于完整运行的CPU时间的信息,以及用于读取输入模型、组装、分析、收敛等的CPU时间的分解。
bracket_size.h3d:HyperView二进制结果文件。

六、查看结果

OptiStruct的尺寸优化结果在两个地方给出。bracket_size.out文件包含所有迭代的厚度和体积信息。bracket_size.h3d文件包含所有五次迭代的单元厚度,以及迭代0 和迭代3 的线性static分析的位移和应力结果。在此步骤中,您将查看所有结果。将首先检查HyperMesh二进制结果文件中包含的结果。然后,将查看bracket_size.out文件中的厚度历程记录。
6.1查看应力结果
尺寸优化后,应查看应力值以确保未违反应力约束。
1.在OptiStruct面板中,单击HyperView
HyperView在HyperMesh Desktop中启动并加载结果文件。所有.h3d文件都会加载到HyperView的不同页面中。文件bracket_size_des.h3dbracket_size_s1.h3d分别加载到第2 页和第3 页。
2.在应用程序的右上角,单击 以进入下一页。
第三页包含从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步骤,则应绘制初始步骤的应力云图。要绘制最后一步的云图,请使用Model Browser设置该Load Case的最后一次迭代。
7.在Results Browser中,从仿真列表中选择最后一个迭代。
仅显示两个迭代;First和Last是优化运行的默认设置。要更改此设置,请添加频率设置为ALL的OUTPUT控制卡。
图2.
现在,这将绘制该Load Case的最终迭代的云图。查看压力以查看它是否处于适当的约束下。
6.2查看厚度结果
1.在应用程序的顶部右侧,单击 可返回上一页。
2.将Result type设置为Element Thicknesses (s)
3.在Results Browser中,从Load CaseSimulation中选择Iteration 2。
4.单击Apply
或者,您也可以在文本编辑器中打开bracket_size.prop文件,以查看两个零件的最终厚度。
6.3查看.out文件
.out文件包含优化过程的摘要。从.out文件中的信息中,您可以看到目标、约束和设计变量如何从一个迭代更改为下一个迭代。
对于给定的约束,体积是否已最小化?
是否满足了应力约束?
这两个部分的量规是什么?
设计变量链接是否有效?    
             


来源:TodayCAEer
OptiStructHyperMeshHyperViewSTEPS汽车ADS焊接材料控制
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-02-08
最近编辑:2小时前
TodayCAEer
本科 签名征集中
获赞 22粉丝 58文章 272课程 0
点赞
收藏
作者推荐

基于碎纸机1D和2D模型混合尺寸优化

在尺寸优化中,设计变量可以是壳单元的厚度、梁单元的截面尺寸、弹簧单元的刚度、质量点的质量,甚至是施加的载荷大小,对于1D单元(如梁单元)的属性优化,尺寸优化不仅可以调整其截面面积和惯性矩,还可以通过定义设计变量与属性数值之间的函数关系来进行更复杂的优化。例如,可以通过设计变量-属性关系(DVPREL1)来定义线性关系,或者使用更复杂的数学模型来描述这种关系。这样,就可以通过优化算法来调整这些参数,以实现结构性能的改善。在本教程中,您将对由shell和bar单元组成的模型执行尺寸优化。您将通过更新PBARL属性以模拟Bar单元的属性,然后将其链接到设计变量。生成的优化结果将具有更高的频率和更新后的单元属性。在开始之前,请将本教程中使用的文件复 制到您的工作目录。http://majorv.help.altair.com/minorv/simulation/tutorials/hwsolvers/optistruct/OS-T-4040/shredder.zip尺寸优化涉及更改1D或2D Element的属性。这些属性包括面积、一维单元的惯性矩和2D单元的厚度。当不需要去除材料、生成起筋或改变结构形状时,会进行尺寸优化。通过尺寸优化,单元的横截面属性被改变以满足必要的目标。使用DVPREL卡片将属性与设计变量(DESVAR)link。本教程概述了在OptiStruct用户配置文件下使用OptiStruct宏来设置优化问题。 图1.碎纸机的有限元模型优化问题表示为:Objective:最小化全局质量。Constraints:横向振动模态的频率高于6Hz。Design variables:梁宽、梁厚、梁深和壳厚。一、启动HyperMesh并设置OptiStruct用户配置文件1.启动HyperMesh。此时将打开User Profile对话框。2.选择OptiStruct,然后单击OK。 这将加载用户配置文件。它包括相应的模板、宏菜单和导入阅读器,将HyperMesh的功能缩减为与生成OptiStruct模型相关的功能。二、导入模型1.点击File&gt;Import&gt;Solver Deck。导入选项卡将添加到您的选项卡菜单中。2.对于File type ,选择OptiStruct。3.选择文件图标。此时将打开Select OptiStruct文件Browser。4.选择保存到工作目录的shredder.fem文件。5.单击Open。6.单击Import,然后单击Close以关闭Import选项卡。三、执行有限元分析并检查结果1 2 3 3.1提交作业1.在Analysis页面中,单击OptiStruct面板。 图2.访问OptiStruct面板2.单击save as。3.在Save As对话框中,指定写入OptiStruct模型文件的位置,并在文件名中输入shredder_analysis。对于OptiStruct求解器模型,建议使用.fem扩展名。4.单击Save。input file字段显示在Save As对话框中指定的文件名和位置。5.将导出选项切换设置为all。6.将run options切换设置为analysis。7.将内存选项切换设置为memory default。8.单击OptiStruct启动OptiStruct作业。 如果作业成功,则新的结果文件应位于写入shredder_analysis.fem的目录中。shredder_analysis.out文件是查找错误消息的好地方,如果存在任何错误,这些错误消息可以帮助调试输入模型。3.2查看特征模态1.在OptiStruct面板中,单击HyperView。HyperView在HyperMesh Desktop中启动,并加载新的页面和会话文件shredder_analysis.mvw。此文件与shredder_analysis.h3d文件链接,其中包含模型和结果。2.在Animation工具栏上,将动画类型设置为 。3.在Results工具栏上,单击 以打开Deformed面板。4.定义变形形状设置。a)将Result type设置为Eigen Mode(v)。b)将Scale设置为Model units。c)将Type设置为Uniform。d)在Value字段中,输入1000。这意味着最大位移将为1000 个模态单位,所有其他位移将是成比例的。使用高于1.0 的比例因子会放大变形,而小于1.0 的比例因子会减少变形。在这种情况下,您将放大各个方向的位移。5.定义未定义的形状设置。a)将Show设置为Edges。b)将Color设置为Mesh。6.单击Apply。7.在Results Browser的simulation list中,选择Mode 1。 图3.8.在Results工具栏上,单击 以打开Contour面板。9.单击Apply。绘制了Eigen Mode云图。10.在Page Controls工具栏上,将页面布局设置为。 图4.11.单击第一个窗口,然后单击菜单栏中的Edit&gt;Copy&gt;Window。12.单击第二个窗口,然后单击菜单栏中的Edit&gt;Paste&gt;Window。13.将第一个窗口复 制到第三个和第四个窗口中。 图5.所有Windows上一阶模态的云图14.通过单击窗口以将其激活,然后在Results Browser中选择模式,来更改分配给窗口的模式。o将第二个窗口设置为Mode 2。o将第三个窗口设置为Mode 3。o将第四个窗口设置为Mode 4。 图6. 图7.前四种特征模态的云图15.在Animation工具栏上,单击 以启动动画。再次单击可停止动画。第三阶和第四阶模态(3.9 和4.8 Hz)具有横向形状,当碎纸机被激发时此模态会降低碎纸机的性能。因此,目标是将最小质量提高到7Hz以上。16.在菜单栏中,单击File&gt;Save As&gt;Report Template。17.在Save Report As对话框中,导航到您的工作目录并将文件另存为report.tpl。 图8.18.在应用程序的顶部右侧,单击 和 导航回第一页上的HyperMesh客户端。四、设置优化4 4.1定义设计变量此问题的设计变量是覆盖层的厚度、杆的宽度、厚度和深度。您将使用Size面板定义第一个设计变量。1.在Analysis页面中,单击optimization面板。2.单击size面板。3.选择desvar子面板。4.创建设计变量coverthck。a)在desvar = 字段中,输入coverthck。b)在initial value = 字段中,输入3.0。c)在lower bound = 字段中,输入1.0。d)在upper bound = 字段中,输入6.0。e)将移动限制切换设置为move limit default。f)将离散设计变量(ddval) 开关设置为no ddval。g)单击create。 5.再创建四个设计变量。Design Variable Initial Value Lower Bound Upper Bound Beamwide 50 30 90 Beamhigh 100 80 125 Beamthck1 10 5 15 Beamthck2 20 15 30 6.选择generic relationship子面板。7.创建设计变量属性关系coverthck。a)在name = 字段中,输入coverthck。b)在C0 字段中,输入0。c)使用prop选择器,选择cover。d)在props选择器下,选择Thickness T。e)单击designvars,选择coverthck,然后单击return。f)单击create。在接下来的步骤中,您将定义梁尺寸的属性关系。C型梁的每个尺寸都将被定义为一个设计变量。图9.Name Represents Value DIMs(1) Beam Width 50 DIMs(2) Beam High 100 DIMs(3) Beam Thck1 10 DIMs(4) Beam Thck2 20 8.创建设计变量属性关系DIM1。a)在name = 字段中,输入DIM1。b)在C0 字段中,输入0.0。c)使用prop选择器,选择frame2。d)在props选择器下,选择Dimension 1。e)单击designvars,选择Beamwide,然后单击return。f)单击create。9.创建设计变量属性关系DIM2。a)在name = 字段中,输入DIM2。b)在C0 字段中,输入0.0。c)使用prop选择器,选择frame2。d)在props选择器下,选择Dimension 2。e)单击designvars,选择Beamhigh,然后单击return。f)单击create。10.创建设计变量属性关系DIM3。a)在name = 字段中,输入DIM3。b)在C0 字段中,输入0.0。c)使用prop选择器,选择frame2。d)在props选择器下,选择Dimension 3。e)单击designvars,选择Beamthck1,然后单击return。f)单击create。11.创建设计变量属性关系DIM4。a)在name = 字段中,输入DIM4。b)在C0 字段中,输入0。c)使用prop选择器,选择frame2。 d)在prop选择器下,选择Dimension 4。e)单击designvars,选择Beamthck2,然后单击return。f)单击create。12.单击return返回Optimization面板。4.2创建优化响应1.在Analysis页面中,单击optimization。2.单击Responses。3.创建质量响应,该响应是为模型的总体积定义的。a)在responses= 字段中,输入mass。b)在响应类型下方,选择mass。c)将regional selection设置为total和no regionid。d)单击create。4.创建频率响应。a)在responses= 字段中,输入f3。b)在响应类型下方,选择frequency。c)对于Mode Number ,输入3。d)单击create。响应f3定义为提取的第三阶模态的频率。5.为第四阶模态创建另一个名为f4 的频率响应。6.单击return返回Optimization面板。4.3定义约束1.单击dconstraints面板。2.c_f3创建约束。a)在constraint= 字段中,输入c_f3。b)选中lower bound旁边的框,然后输入6.0。c)单击response =并选择f3。d)使用loadsteps选择器,选择ld1。e)单击create。3.c_f4创建约束。a)在constraint= 字段中,输入c_f4。b)选中lower bound旁边的框,然后输入6.0。c)单击response =并选择f4。d)使用loadsteps选择器,选择ld1。e)单击create。 4.单击return退出面板。4.4定义目标函数1.单击objective面板。2.验证是否选择了min。3.单击response并选择mass。4.单击create。5.单击return两次以退出Optimization面板。五、保存数据库1.在菜单栏中,单击File&gt;Save As&gt;Model。2.在Save As对话框中,输入shredder_optimization.hm作为文件名,并将其保存到您的工作目录中。六、运行优化1.在Analysis页面中,单击OptiStruct。2.单击save as。3.在Save As对话框中,指定写入OptiStruct模型文件的位置,并在文件名中输入shredder_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还会报告错误消息。可以在文本编辑器中打开文件shredder_optimization.out以查找有关任何错误的详细信息。此文件将写入与.fem文件相同的目录。9.单击Close。七、查看结果1.在OptiStruct面板中,单击HyperView。HyperView在HyperMesh Desktop中启动并加载结果。 2.在应用程序的顶部右侧,单击 和 以导航到Design History页面。3.在Results Browser中,选择最后一次迭代。 图10.4.在Results工具栏上,单击 以打开Contour面板。5.将Result type设置为Element Thicknesses (s)和Thickness。6.单击Apply。生成的颜色表示由施加的载荷和边界条件产生的厚度字段。覆盖component的最终优化厚度为1.0。7.使用任何文本编辑器打开shredder_optimization.prop文件,以查看最终优化的PBAR属性。 图11.最终尺寸可以四舍五入为:Beam Wide (DIM1):70.10Beam High (DIM2):125Beam Thck (DIM3):5Beam wide (DIM4):15 此.prop文件可以在开启覆盖模式的情况下读入HyperMesh,并且PBARL信息将更新。 来源:TodayCAEer

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