第四章 尺寸优化技术实例
第一节 实例:支架的尺寸优化
8 启动OptiStruct
(1)在Analysis页面下选择OptiStruct面板。
(2)在input file域后单击save as按钮。
(3)弹出Save file对话框。
(4)在File name域选择想要保存OptiStruct文件的路径,并输入文件名bracket_ size.fem。
(5)以.fem作为扩展名的文件是OptiStruct的运算输入文件。
(6)单击Save按钮。
(7)注意到bracket_size.fem文件的文件名和路径在域input file中显示。
(8)设置memory options为memory default。
(9)单击run options并选择optimization。
(10)设置export options为all。
(11)单击OptiStruct按钮。
OptiStruct优化计算开始。如果计算成功,将在OptiStruct模型所在目录的中看到新的结果文件。如果计算出错,则bracket_size.out文件可以有效地帮助查看错误信息并调试输入文件。
在结果文件所在的目录中自动生成表4-1中的文件。
表4-1 计算后结果文件列表

从OptiStruct中得到的尺寸优化结果在两处给出:bracket_size.out文件包含每次迭代的厚度和体积信息;bracket_size.h3d包含所有迭代的单元厚度结果与用于线性静态分析的第0步和第3步迭代的位移和应力结果。下面介绍如何查看所有结果。首先用HyperView查看二进制结果文件中的结果,然后查看存储在bracket_size.out中的尺寸变化过程。
9 查看应力结果
在尺寸优化以后,查看应力数值,以确认未违反应力约束。
(1)当看到Process completed successfully后,单击HyperView按钮。
(2)此步骤启动HyperView并打开结果文件。一个消息窗口出现,通知用户模型和结果文件成功载入至HyperView。注意到所有的h3d文件均被载入,每个都在HyperView的不同页中。files bracket_size_des.h3d和bracket_size_s2.h3d分别在第二和第三页载入。
(3)单击Close按钮关闭消息框。
(4)单击Next Page按钮 。第三页载入了bracket_size_s1.h3d文件的结果。注意到该页的名称显示为Subcase 1 – STEP,提示用户结果与Subcase 1吻合。
(5)单击Contour按钮 。
(6)选择Result type下的第一个下拉菜单并选择Element Stresses [2D & 3D](t)。
(7)在第二个下拉菜单下,选择vonMises命令。
(8)在Averaging method下选择None命令。
(9)单击Apply按钮,此时出现了显示 von Mises应力的云图。模型中的每个单元都被分配了一种颜色,显示该单元在载荷和边界条件作用下受到的力的大小。如果不改变迭代步,则将显示初始迭代的云图。如果要显示最终迭代云图,则通过状态栏切换到最后一个迭代步。
(10)单击状态栏右侧的第一个或第二个域,将出现工况模拟选择窗口。
(11)在Simulation列表下单击Iteration #。注意到只有两个迭代步显示,第一个和最后一个(FL)为优化模拟的默认设置。如果要改变这个设置,添加OUTPUT控制卡片,将频率设置为ALL。
(12)单击OK按钮。这一步将绘制该工况下的最终迭代云图,查看应力,以确认未违反应力约束。
10 查看厚度结果
(1)单击Previous Page按钮 移动到First页。
(2)确保Result type设置为Element Thicknesses(s)。
(3)从Load Case and Simulation Selection窗口中选择Iteration 2。
(4)单击Apply按钮。
(5)可以通过记事本打开bracket_size.prop文件来查看两部分的最终厚度。
.out文件包含了优化过程概要。从.out文件的信息中,可以看到目标函数、约束、设计变量是如何从一个载荷步变化到另一个载荷步的。
11 更新设计变量
(1)在Analysis页面下,单击optimization进入面板。
(2)选择discrete dvs进入面板。
(3)单击name=并输入DDV1。
(4)单击from=并输入0.5,用相同的方法在to=输入0.3,在increment=输入0.1。使用Tab键可以提高效率。
(5)单击create按钮。这样就创建了离散设计变量,起始值为0.5,终止值为3.0。变量每次增加0.1,这样就从0.5变化为0.6、0.7、0.8直到3.0。
(6)创建另一个设计变量DDV2,与DDV1使用相同的离散值。
(7)单击return按钮返回optimization面板。
(8)选择size面板。
(9)使用面板左侧单选框,选择desvar子面板。
(10)单击desvar =并选择part1。
(11)设置no ddval为ddval =。
(12)单击ddval=并从列表中选择DDV1。
(13)单击update按钮。
(14)设计变量part1更新完成,设计变量与名为DDV1的DDVAL (离散设计变量值)关联在一起。
(15)重复(10)~(13)更新part2。
(16)单击return按钮返回Optimization Setup面板。
12 存储HyperMesh数据
(1)在File下拉菜单中,选择Save As命令。
(2)弹出Save file对话框。
(3)选择想要保存数据的路径,并输入文件名bracket_size.hm,单击Save按钮。
13 启动OptiStruct
(1)在Analysis页面下选择OptiStruct面板。
(2)在input file域后单击Save as按钮。
(3)弹出Save file对话框。
(4)在File name域选择你要保存OptiStruct文件的路径,并输入文件名bracket_ size.fem。
(5)以.fem作为扩展名的文件是OptiStruct的运算输入文件。
(6)单击Save按钮。
(7)注意到bracket_size.fem文件的文件名和路径在域input file中显示。
(8)设置memory options为memory default。
(9)单击run options并选择optimization。
(10)设置export options为all。
(11)单击OptiStruct按钮。
14 查看应力结果
尺寸优化完成后,应该检查应力结果确保没有违反应力约束条件。分析结果在第二页(第一页为优化结果)。
(1)当看到Process completed successfully出现在命令窗口后,单击HyperView按钮。
这样就打开了HyperView,进入到新的页面,载入结果文件。出现一个消息窗口提示载入文件成功。注意到所有的h3d文件均被载入,每个都在HyperView的不同页上。文件discrete_bracket_size_des.h3d和discrete_bracket_size_s2.h3d分别在第二页和第三页载入。
(2)单击Close按钮关闭消息窗口。
(3)单击Next Page按钮 进入第二页。
(4)第二页载入了文件discrete_bracket_size_s1.h3d。注意到该页的名称为Subcase 1 – STEP,提示结果文件和Subcase 1相一致。
(5)单击Contour按钮 。
(6)选择Result type下的第一个下拉菜单并选择Element Stresses [2D & 3D](t)。
(7)在第二个下拉菜单中选择vonMises命令。
(8)在Averaging method下选择None命令。
(9)单击Apply按钮,结果如图4-2所示。

图4-2 初始形状的应力云图
此时出现了von Mises应力云图。每一个单元被赋予颜色以显示单元在载荷和约束作用下的应力状态。如果没有改变初始载荷步,则云图为初始状态下的颜色,通过状态栏改变该工况下的迭代步至最后一步。
(10)从Simulation列表,通过Results Browser下拉菜单选择最后迭代步Iteration #。
注意到只显示了两个迭代步,第一个和最后一个(FL),这是优化计算的默认设置。如要改变这个设置,添加OUTPUT卡片,将频率设置改为ALL。
这样就绘制出了工况下最终迭代步的云图,如图4-3所示。请检查应力是否在约束下。

图4-3 优化设计von Mises应力云图