基于碎纸机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>Import>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>Copy>Window。12.单击第二个窗口,然后单击菜单栏中的Edit>Paste>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>Save As>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>Save As>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