带挤压约束的拓扑优化-OS-T:2090
独乐乐不如众乐乐,收藏链接不如直接转发,欢迎大家分享,共同精进。挤压成型是一种通过施加压力使金属或塑料通过特定模具孔挤出,形成具有一定截面和形状的零件的制造工艺。在金属加工中,尤其是铝挤压成型,它是将金属坯料放在模具型腔内,通过强大的压力使金属产生定向塑性变形,从而获得所需形状和尺寸的零件或半成品。挤压成型具有许多优点,如生产效率高、制品综合质量高、产品范围广、生产灵活性大以及工艺流程简单、设备投资少。在塑料加工领域,挤出成型是一种高效、连续、低成本的成型加工方法,适用于大多数塑料材料。挤出成型过程主要包括加料、熔融塑化、挤压成型、定型和冷却等过程。OptiStruct的挤压约束是指在拓扑优化过程中,对模型的某个区域施加挤压约束,以达到特定的设计要求。挤压约束可以用于多种场景,例如在型材的优化中,可以对型材的进行挤压约束。在本教程中,您将学习如何使用挤压约束方法来优化挤压成型的零件设计,以确保沿给定路径获得恒定的横截面,这在制造通过挤压工艺生产的零件时尤为重要。在开始之前,请将本教程中使用的文件复制到您的工作目录。http://majorv.help.altair.com/minorv/simulation/tutorials/hwsolvers/optistruct/OS-T-2090/rail_complete.zip通过在拓扑优化中使用挤压制造约束,无论初始网格、边界条件或载荷如何,都可以获得恒定横截面的模型设计。本教程介绍了在弯曲梁上进行拓扑优化的步骤,该梁模拟了车辆在轨道上的移动,并在两端得到支撑。为了模拟车辆的运动,我们在七个独立的载荷工况中,在钢轨的长度上施加点载荷。导轨的设计考虑了挤出制造工艺。此外,还展示了在HyperMesh中定义拓扑设计空间、挤出制造约束以及优化参数(包括响应、目标和约束)的步骤。DTPL(DesignVariableforTopologyOptimization)卡用于此优化。在本教程中,您将对弯曲的梁执行拓扑优化,以使拉伸的轨道更硬且材料更少。优化问题表示为:Objective:最小化加权柔度。Constraints:体积分数<0.3Designvariables:设计空间中每个Element的密度。图1.具有载荷和边界条件的弯曲梁的有限元网格一、启动HyperMesh并设置OptiStruct用户配置文件1启动HyperMesh。此时将打开UserProfile对话框。2选择OptiStruct,然后单击OK。这将加载用户配置文件。它包括相应的模板、宏菜单和导入阅读器,将HyperMesh的功能缩减为与生成OptiStruct模型相关的功能。二、导入模型1点击File>Import>SolverDeck。导入选项卡将添加到您的选项卡菜单中。2对于Filetype,选择OptiStruct。3选择文件图标。此时将打开SelectOptiStruct文件Browser。4选择保存到工作目录的rail_complete.fem文件。5单击Open。6单击Import,然后单击Close以关闭Import选项卡。三、设置优化1233.1创建TopologyDesignvariables在此步骤中,您将创建拓扑设计空间定义design_solid。在此设计属性Collector中组织的所有Element都将包含在设计空间中。1.在Analysis页面中,单击optimization。2.单击topology。3.选择create子面板。4.在desvar=字段中,输入design_solid。5.将type:设置为PSOLID。6.使用props选择器,选择new_solid。7.单击create。3.2定义挤出和挤出路径1.在模型视窗中显示节点71559和70001的编号。a)在Display工具栏中,单击以打开Numbers面板。b)单击nodes>byid,然后在id=字段中输入71559,70001。c)选择display。d)单击on。e)单击return。2.定义挤出路径。a)在拓扑子面板中,选择extrusion子面板。b)双击desvar=并选择design_solid。c)从none切换到NOtwist。拉伸约束可以分别通过使用NOTWIST或TWIST参数应用于以非扭曲截面或扭曲截面为特征的域。d)点击nodelist>bypath,然后选择节点71559第一个和节点70001第二个。e)单击update。应突出显示一条从71559开始并以节点70001结尾的节点线,以指示挤出路径。不需要选择尽可能多的节点来定义曲线。这是一个练习,用于说明也可以使用nodes>bypath选项。必须通过输入一系列网格来定义'discrete'挤出路径。然后,使用参数化样条曲线对这些栅之间的曲线进行插值。网格的最小数量取决于挤出路径的复杂程度。线性路径只需要两个网格,但建议至少使用5-10个网格来表示更复杂的曲线。图2.拉伸路径定义3.单击return返回Optimization面板。3.3创建优化响应1.在Analysis页面中,单击optimization。2.单击Responses。3.创建体积分数响应。a)在responses=字段中,输入Volfrac。b)在响应类型下方,选择volumefrac。c)将regionalselection设置为total和noregionid。d)单击create。4.创建加权柔度响应。a)在responses=字段中,输入wcomp1。b)在响应类型下方,选择weightedcomp。c)单击loadsteps,然后选择所有LoadStep。d)单击return。e)单击create。5.单击return返回Optimization面板。3.4创建设计约束1.单击dconstraints面板。2.在constraint=字段中,输入constr1。3.单击response=并选择Volfrac。4.选中upperbound旁边的框,然后输入0.3。5.单击create。6.单击return返回Optimization面板。3.5定义目标函数1.单击objective面板。2.验证是否选择了min。3.单击response=并选择wcomp1。4.单击create。5.单击return两次以退出Optimization面板。四、运行优化1.在Analysis页面中,单击OptiStruct。2.单击saveas。3.在SaveAs对话框中,指定写入OptiStruct模型文件的位置,并在文件名中输入rail_complete_extrusion。对于OptiStruct求解器模型,建议使用.fem扩展名。4.单击Save。inputfile字段显示在SaveAs对话框中指定的文件名和位置。5.将导出选项切换设置为all。6.将runoptions切换设置为optimization。7.将内存选项切换到upperlimitinMb,然后输入2000。8.单击OptiStruct运行优化。作业完成时,窗口中会显示以下消息:OPTIMIZATIONHASCONVERGED.FEASIBLEDESIGN(ALLCONSTRAINTSSATISFIED).如果存在错误消息,OptiStruct还会报告错误消息。可以在文本编辑器中打开文件rail_complete_extrusion.out以查找有关任何错误的详细信息。此文件将写入与.fem文件相同的目录。9.单击Close。五、查看结果1.2.455.1加载结果文件和后处理1.在OptiStruct面板中,单击HyperView。2.在ResultsBrowser中,选择列出的最后一个迭代。默认情况下,迭代0处于选中状态,它会在优化开始时显示您的结果。最后一次迭代显示了此优化的最终分析结果。图3.3.在Results工具栏中,单击以打开ISOValue面板。4.将Resulttype:设置为ElementDensities。5.单击Apply。6.在Currentvalue字段中,输入0.3。7.单击Apply。制造挤出约束的结果允许在模型的整个长度上保持恒定的横截面。图4.弯曲梁轨道布局的ISO图。使用挤出约束进行拓扑优化5.2查看拉伸零部件的剖面在SectionCut面板中,您可以创建穿过模型的平面截面。当您想要查看模型内部的详细信息时,这非常有用。1.在Display工具栏上,单击以打开SectionCut面板。2.单击Add创建新的SectionCut。3.将Defineplane设置为YAxis。4.使用Base选择器,单击模型中心的任何角。5.单击Apply。6.移动Defineplane下的滑块以滚动模型。7.在Displayoptions下,使用Width旁边的滑块更改横截面的宽度。制造拉伸约束的结果显示模型长度上的横截面恒定。图5.在弯曲梁的x-z平面上剖面剖切的云图。来源:TodayCAEer