扭转工况下的形貌优化-OS-T:3000
现在我们来开启新的篇章,形貌优化。扭转工况是什么,以汽车举例,扭转工况是指在车辆行驶过程中,由于路面不平或者悬挂系统传递给车架的不平衡力矩等原因,使得车辆的前后轮或左右轮之间产生扭矩差异,导致整个车辆发生扭转变形的情况。这种变形会对车辆的操控性、稳定性和安全性产生重要影响(在没有专业设备的前提下,判断扭转刚度最直接的方式是,当车辆处于交叉桥,或单侧车轮开上斜坡的时候,尾门能否正常关闭)。形貌优化是一种形状最佳化的方法,它在板型结构中寻找最优的加强筋分布,用于设计薄壁结构的加强筋结构,从而提高结构的刚度和频率,特别适用于模型边界固定的情况,只能通过局部加强特征来优化。在汽车车架设计中,形貌优化可以用于改善车架在扭转工况下的性能。通过优化车架的结构,比如增加或调整加强筋的位置和尺寸,可以提高车架的扭转刚度,减少在扭转工况下的变形,从而提升车辆的操控性能和安全性。结合扭转工况和形貌优化,可以在保持车架轻量化的同时,提高其在扭转工况下的刚度和模态性能。这种优化方法不仅提高了车架的扭转刚度,还提升了车架的模态性能,刚度与模态的性能关系不在赘述。在本教程中,您将对受扭转力的平板执行形貌优化。在开始之前,请将本教程中使用的文件复制到您的工作目录。http://majorv.help.altair.com/minorv/simulation/tutorials/hwsolvers/optistruct/OS-T-3000/torsion_plate.zip在这个教程中,您将使用一个有限元模型来处理具有特定载荷和约束的设计问题。该零件计划通过冲压工艺进行成型。我们的目标是最小化在正Z方向上受力的节点的位移,而为了实现这一目标,我们只能通过改变板的形状来进行优化,不能改变其厚度。图1.具有载荷和约束的设计空间的有限元模型在这个过程中,我们将有限元模型导入HyperMesh软件中。在模型中,已经定义了约束、载荷、材料属性以及SUBCASE。接下来,我们需要设定形貌设计变量和优化参数。通过使用OptiStruct软件,我们可以确定最佳的起筋设计。优化结果将通过设计空间形状变化的云图动画来展示。最后,我们将展示如何利用模式重复的方法,根据OptiStruct建议的形状变化,选择合适的模式以便于制造。本教程的优化问题表述为:Objective:最小化施加载荷的节点位移。Designvariables:在与Element法向对齐的可设计空间上自动生成的形状变量。一、启动HyperMesh并设置OptiStruct用户配置文件1.启动HyperMesh。此时将打开UserProfile对话框。2.选择OptiStruct,然后单击OK。这将加载用户配置文件。它包括相应的模板、宏菜单和导入阅读器,将HyperMesh的功能缩减为与生成OptiStruct模型相关的功能。二、打开模型1.单击File>Open>Model。2.选择保存到工作目录的torsion_plate.hm文件。3.单击Open。torsion_plate.hm数据库将加载到当前HyperMesh会话中,替换任何现有数据。三、验证component的厚度1.在ModelBrowser的Properties文件夹中,点击design。design属性将在EntityEditor中打开,其中显示有关PSHELL卡上的壳厚度的信息。2.验证厚度T是否设置为1.0。四、设置优化12344.1定义形貌设计变量对于形貌优化,需要定义设计空间和定义起筋。1.在Analysis页面中,单击optimization面板。2.单击topography面板。3.创建形貌优化设计空间定义。a)选择create子面板。b)在desvar=字段中,输入topo。c)使用props选择器,选择design。d)单击create。已创建形貌优化设计空间topo。通过organization将designComponent中的所有Element现在都包含在设计空间中。4.为设计空间形貌创建定义起筋。a)选择beadparams子面板。b)验证desvar=字段是否设置为topo,这是新创建的设计空间的名称。c)在minimumwidth=字段中,输入5.0。此参数控制模型中起筋的宽度。建议的值介于平均单元宽度的1.5到2.5倍之间。d)在drawangle=字段中,输入60.0(这是默认值)。此参数控制起筋侧面的角度。建议的值介于60到75度之间。e)在绘制height=中,输入4.0。此参数设置要的是起筋的最大高度。f)选择bufferzone。此参数在设计域中的Element和设计域外的Element之间建立缓冲区。g)将拔模方向切换为normal切换为elements。此参数定义形状变量的创建方向。h)将边界修改为load和spc。这会告诉OptiStruct将应用载荷或约束的节点保留在设计空间之外。i)单击update。已为设计空间topo,创建定义起筋信息。根据这些信息,OptiStruct将在整个设计空间中自动生成起筋的变量定义。5.更新Designvariables的边界。a)选择bounds子面板。b)验证desvar=字段是否设置为topo,这是设计空间的名称。c)在UpperBound=字段中,输入1.0。控制网格移动的变量的上限(Real>LB,默认值=1.0)。这会将网格移动的上限设置为UB*HGT。d)在LowerBound=字段中,输入0.0。e)单击update。上限将网格移动的上限设置为等于UB*HGT,下限将网格移动的下限设置为等于LB*HGT。6.单击return转到优化面板。4.2创建优化响应1.在Analysis页面中,单击optimization。2.单击Responses。3.创建displacement响应。a)在response=字段中,输入displace。b)在响应类型下方,选择staticdisplacement。c)单击nodes>byid,然后在id=字段中输入2500。d)将置换类型设置为dof3。dof1、dof2、dof3在X、Y和Z方向上平移。dof4、dof5、dof6绕X、Y和Z轴旋转。totaldispx、y和z方向的平移位移的合力。totalRotatex、y和z方向的旋转位移的结果。e)单击create。4.单击return返回Optimization面板。4.3定义目标函数1.单击objective面板。2.验证是否选择了min。3.单击response并选择displace。4.使用loadsteps选择器,选择torsion。5.单击create。6.单击return两次以退出Optimization面板。五、运行优化1.在Analysis页面中,单击OptiStruct。2.单击saveas。3.在SaveAs对话框中,指定写入OptiStruct模型文件的位置,并在文件名中输入torsion_plate。对于OptiStruct求解器模型,建议使用.fem扩展名。4.单击Save。inputfile字段显示在SaveAs对话框中指定的文件名和位置。5.将导出选项切换设置为all。6.将runoptions切换设置为optimization。7.将内存选项切换设置为memorydefault。8.单击OptiStruct运行优化。作业完成时,窗口中会显示以下消息:OPTIMIZATIONHASCONVERGED.FEASIBLEDESIGN(ALLCONSTRAINTSSATISFIED).如果存在错误消息,OptiStruct还会报告错误消息。可以在文本编辑器中打开文件torsion_plate.out以查找有关任何错误的详细信息。此文件将写入与.fem文件相同的目录。9.单击Close。写入run目录的默认文件包括:torsion_plate.hgdataHyperGraph文件,包含目标函数的数据、百分比约束冲突和每次迭代的约束。torsion_plate.hist包含目标函数和冲突最严重约束的迭代历程的OptiStruct迭代历程文件。可用于迭代历程的xy图。torsion_plate.htmlHTML优化报告,给出问题表述和最终迭代结果的摘要。torsion_plate.usOSSmooth文件,默认密度阈值为0.3。您可以编辑文件中的参数以获得所需的结果。torsion_plate.outOptiStruct输出文件包含有关文件设置、优化问题设置、运行所需RAM和磁盘空间量的估计值、所有优化迭代的信息以及计算时间信息的特定信息。查看此文件,了解在处理torsion_plate.fem文件时标记的警告和错误。torsion_plate.shShape文件进行最终迭代。它包含分析中每个单元的材料密度、空隙尺寸参数和空心方向角。此文件可用于重新启动运行。torsion_plate.stat包含有关用于完整运行的CPU时间的信息,以及用于读取输入模型、装配、分析、收敛等的CPU时间的分解。torsion_plate_des.h3d包含优化结果的HyperView二进制文件。torsion_plate_s#.h3d包含线性static分析的HyperView二进制结果文件,依此类推。torsion_plate.grid一个OptiStruct文件,其中写入扰动网格数据。六、查看结果形状云图信息从OptiStruct输出所有迭代。此外,默认情况下,将输出第一次和最后一次迭代的Displacement和Stress结果。本节介绍如何使用HyperView查看这些结果。566.1查看形状云图的static图1.在OptiStruct面板中,单击HyperView。HyperView在HyperMeshDesktop中启动,并加载torsion_plate_des.h3d和torsion_plate_s1.h3d文件,以读取模型和优化结果。2.在Results工具栏上,单击以打开Contour面板。3.将Resulttype设置为ShapeChange(v)和Mag。图2.4.在Animation工具栏上,单击以从Simulation列表中选择最后一个迭代。出现优化后的板。5.单击Apply。max=字段是否显示4.0e+00?在这种情况下,它是。如果不是,则您的优化进展不够。减小OBJTOL参数(在优化面板上的opti控制面板中设置)。该值4.0e+00来自前面定义的拔模高度。图3.显示迭代时的起筋模式(收敛解)6.2查看形状云图更改的瞬态动画云图形状的瞬态动画将很好地了解不同迭代过程中发生的形状变化。1.在Animation工具栏中,将Animationmode设置为。图4.2.单击以启动动画。3.单击以打开AnimationControls面板。4.在动画运行的情况下,使用MaxFrameRate下方的滑块调整动画的速度。5.单击可暂停动画。6.3查看变形的结构第一次和最后一次迭代的位移和应力结果(默认)在torsion_plate_s1.h3d文件中给出。1.在应用程序的顶部右侧,单击以转到下一页。此页面包含来自torsion_plate_s1.h3d文件的SUBCASE信息。2.在Animation工具栏上,将动画模式设置为LinearStatic。Tip:为了更好地了解这个模型发生了什么,请打开网格线并绘制结果的云图。3.在Results工具栏上,单击以打开Deformed面板。4.将Resulttype设置为Displacement(v)。5.在ResultsBrowser中,选择第一次迭代(Iteration0)。图5.6.在Animation工具栏上,将动画模式设置为。7.单击以启动动画。8.单击以转到AnimationControls面板。9.在动画运行的情况下,使用MaxFrameRate下方的滑块调整动画的速度。将显示原始模型的变形动画。变形的形状对于您应用于网格的边界条件来说看起来是否正确?10.单击可停止动画。11.在PageControls工具栏上,单击以删除HyperView页面。七、添加模式组约束模式组将添加为可制造性的约束。在前面的示例中获得的配置(参见显示第17次迭代时钢筋模式的云图)可能难以制造。它确实给出了哪些类型的模式可能会优化结构(在本例中-最小化所选节点的位移)。上一个练习中获得的静态云图建议的一种可能的模式是使用平行于对角线的起筋。在此示例中,您将选择从施加载荷的节点中出现的对角线。1.在HyperMesh中,单击return退出OptiStruct面板。2.在Analysis页面中,单击optimization面板。3.单击topography面板。4.选择patterngrouping子面板。5.单击desvar=并选择topo。6.将模式类型设置为linear。7.将子类型设置为basic。8.选择节点。a)使用锚点节点选择器,选择应用载荷的角落处的节点。HyperMesh会自动围绕第一个节点移动蓝色光晕。b)使用第一个节点选择器,选择对角的节点。图6.模式分组节点位置9.单击update。10.单击return两次以转到主菜单。八、运行优化1.在Analysis页面中,单击OptiStruct。2.单击saveas。3.在SaveAs对话框中,指定写入OptiStruct模型文件的位置,并在filename中输入torsion_pattern。对于OptiStruct求解器模型,建议使用.fem扩展名。4.单击Save。inputfile字段显示在SaveAs对话框中指定的文件名和位置。5.将导出选项切换设置为all。6.将runoptions切换设置为optimization。7.将内存选项切换设置为memorydefault。8.单击OptiStruct运行优化。作业完成时,窗口中会显示以下消息:OPTIMIZATIONHASCONVERGED.FEASIBLEDESIGN(ALLCONSTRAINTSSATISFIED).如果存在错误消息,OptiStruct还会报告错误消息。可以在文本编辑器中打开torsion_pattern.out文件,以查找有关任何错误的详细信息。此文件将写入与.fem文件相同的目录。9.单击Close。像以前一样查看新结果。此外,请检查.out文件中第0次和最后一次迭代的目标值。目标的最终值与使用'none'选项进行模式分组获得的最终值相比如何?九、查看形状云图的static图重复前面步骤中的步骤,查看形状变化的云图。图7.显示起筋阵列的云图。在最后一次迭代中使用patterngroupingconstraint。来源:TodayCAEer