首页/文章/ 详情

应用应力约束的拓扑优化-OS-T:2080

4天前浏览187


应力是我们在分析中着重关注的指标,通过应力约束能使在优化过程中生成的结构,在载荷作用下应力分布更加均匀,避免应力集中,直接以应力指标作为约束能更好的控制性能,从而提高结构的可靠性。

您可能会注意到,尽管optistruct优化出的结构整体应力控制得很好,但某些局部区域的应力仍然很高。这是因为拓扑应力约束导致的局部应力集中,这些应力集中可能不会通过简单的全局应力控制或全局应力目标来解决。optistruct的优化方法 会过滤掉由载荷或边界条件引起的人为或局部应力。值得注意的是,即使在全局应力控制得很好的情况下,也可能存在高局部应力区域,这些区域可以通过局部的形状和大小优化来更有效地改善。

在本教程中,您将对使用壳单元建模的bracket-hook执行拓扑优化。

在开始之前,请将本教程中使用的文件复 制到您的工作目录。http://majorv.help.altair.com/minorv/simulation/tutorials/hwsolvers/optistruct/OS-T-2080/hook.zip

本教程旨在通过拓扑优化,在满足特定应力约束的同时,最小化模型中使用的材料体积。优化过程会根据每个单元的密度进行归一化处理,从而确定材料的最佳分布。通过移除低密度单元,可以进一步减小体积。

图1.具有载荷和约束的结构模型

结构模型被加载到HyperMesh Desktop中。约束、载荷、SUBCASE和材料属性已在模型中定义。拓扑设计变量和优化问题设置将使用HyperMesh定义,并使用OptiStruct来确定最佳材料布局。然后可以在HyperView中查看结果。

优化问题表示为:

Objective Function:最小化质量。

Constraints:最小成员大小=1.0、Von Mises应力 < 1000

Design variables:设计空间中每个Element的密度。

          

一、启动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.选择保存到工作目录的hook.fem文件。

5.单击Open

6.单击Import,然后单击Close以关闭Import选项卡。

三、设置优化

3.1设置View

1.在Model Browser中,右键单击Components,然后从上下文菜单中选择Isolate Only。

2.在Standard Views工具栏中,单击 以使模型适合屏幕。

仅显示component。

3.2创建Topology Design variables

在此步骤中,您将设置优化以优化Design和Base component中的壳单元,以创建最小成员尺寸为1.0 个单位宽度的结构路径,其厚度在0 和壳体厚度之间变化。在验证设计时,优化将使用1000作为设计区域内任何单元的最大应力。

1.在Analysis页面中,单击optimization

2.单击topology

3.选择create子面板。

4.在desvar=字段中,输入shells

5.将type: 设置为PSHELL

6.使用props选择器,选择DesignBase

7.单击create

8.更新设计变量的参数。

a)选择parameters子面板。

b)将minmemb off切换为mindim=,然后输入1.0    

c)在stress constraint下,将none切换为stress=并输入1000

d)单击update

9.单击return

3.3创建优化响应

1.在Analysis页面中,单击optimization

2.单击Responses

3.创建质量响应,该响应是为模型的总体积定义的。

a)在responses= 字段中,输入mass

b)在响应类型下方,选择mass

c)将区域选择设置为totalno regionid

d)单击create

4.单击return返回Optimization面板。

3.4应用约束

不需要额外的约束,因为在设计变量中设置应力目标会限制优化模型中使用的材料量。

3.5定义目标函数

1.单击objective面板。

2.验证是否选择了min

3.单击response=并选择mass

4.单击create

5.单击return两次以退出Optimization面板。

四、保存数据库

1.在菜单栏中,单击File>Save As>Model

2.Save As对话框中,输入frf_response_optimization.hm作为文件名,并将其保存到您的工作目录中。

五、运行优化

1.在Analysis页面中,单击OptiStruct

2.单击save as

3.Save As对话框中,指定写入OptiStruct模型文件的位置,并在filename中输入hook_opt

对于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还会报告错误消息。可以在文本编辑器中打开文件hook_opt.out以查找有关任何错误的详细信息。此文件将写入与.fem文件相同的目录。

9.单击Close

六、查看结果

6.1查看密度结果的ISO图

1.Mechanical Solver View对话框中,单击Results

优化运行的结果和相应的线性static SUBCASE将加载到HyperView中。

2.查看单元密度结果的云图。

a)在Results工具栏中,单击 以打开Contour面板。

b)将Result type设置为Element Densities[s]

c)单击Apply以显示密度云图。

d)在Results Browser中,选择DesignIteration 26(或您的最终迭代编号)。    

图2.

3.查看单元密度结果的Iso值。

a)在Results工具栏中,单击 以打开ISO Value面板。

b)将Result type设置为Element Densities

c)在Results Browser中,选择最后一个设计迭代。

图3.

d)单击Apply

e)在Current value字段中,更改值以查看具有不同密度值的结果。    

当您更新密度阈值时,模型视窗中显示的Iso值会以交互方式更新。使用此工具可以更好地了解OptiStruct中的材料布局和载荷路径。

图4.ISO值图。当前值= 0.4528

6.2查看单元应力结果

1.在应用程序的顶部右侧,单击 以移动到显示SUBCASE 1 的线性static分析结果的页面。

结果是此页面从hook_opt_s19.h3d加载,并包含第1个SUBCASE的线性static结果。

2.在Results工具栏中,单击以打开Contour面板。

3.将Result type设置为Element stresses(2D&3D)(t)vonMises

4.在Results Browser中,选择最后显示的Iteration 。

5.在Contour面板中,单击Apply    

图5.von Mises应力结果

6.同样,查看其他SUBCASE的结果。

              


来源:TodayCAEer
MechanicalOptiStructHyperMeshHyperView拓扑优化CONVERGE材料控制
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2024-11-22
最近编辑:4天前
TodayCAEer
本科 签名征集中
获赞 18粉丝 29文章 249课程 0
点赞
收藏
作者推荐

使用等效静载荷法进行拓扑优化-OS-T:2098

等效静载荷法(EquivalentStaticLoadMethod,简称ESL)是OptiStruct中用于处理动态载荷优化的一种技术。适用于在动态载荷下进行设计优化的情况。ESL方法能够将动态/非线性分析的响应在静态分析中模拟出来,通过计算等效的静态载荷,使得可以在概念设计阶段和设计微调阶段使用拓扑、自由尺寸、拓扑形状、尺寸、形状和自由形状优化等技术。(是整车开发项目中对于碰撞性能的指标,通常选择转化为线性分析的指标,这对于计算效率能够有大幅度提升)在ESL优化过程中,每个时间步的动态/非线性分析响应都会被计算出一个对应的等效静态载荷。这些等效静态载荷被视为单独的载荷工况,并在后续的线性响应优化循环中使用。优化循环中的更新设计会被反馈到分析中进行验证和整体收敛性检查。根据这次验证的结果,解决方案会收敛,或者为更新的几何形状计算一组新的等效静态载荷,然后重复整个过程直到收敛。ESL方法在OptiStruct中是完全自动化的,并且对于瞬态、动态和非线性解决方案的响应优化非常有效。它提供了以下好处:可以在概念设计阶段和设计微调阶段应用。由于优化过程中的设计更新,设计会针对更新的载荷进行优化。对于多体动力学(MBD)问题,ESL方法已经实现,包括柔性体的优化。可以应用尺寸、形状、自由形状、拓扑、拓扑形状、自由尺寸和材料优化到柔性体上。响应包括质量、体积、质心、惯性矩、应力、应变、柔度(应变能量)和柔性体的位移。位移响应是考虑了定义在柔性体上的局部边界条件。在进行结构优化时,必须为每个柔性体指定边界条件。在动态分析中,柔性体和刚体通过各种关节连接形成多体系统。在对柔性体执行ESL方法时,这些关节不包括在这个基于静态子案例的结构优化中。这意味着每个柔性体将有6个刚体模态。必须移除每个柔性体的6个刚体模态以进行结构分析。必须固定每个灵活体的确切6个自由度(DOF)以移除6个刚体模式。如果在柔性体中固定了超过6个DOF,额外固定的DOF将成为柔性体的约束,这可能不会得到最优解,并且可能会增加所需的ESL外部循环次数。此外,ESL方法还扩展到支持非线性响应优化,包括显式动态分析等。在本教程中,您将使用等效静载荷法(ESL)设置MBD系统的优化问题。在开始之前,请将本教程中使用的文件复制到您的工作目录。http://majorv.help.altair.com/minorv/simulation/tutorials/hwsolvers/optistruct/OS-T-2098/Excavator_MBD.zip您将在HyperMesh中设置模型,并使用OptiStruct运行拓扑优化作业。优化的目标是最大化挖掘机模型下臂的刚度,同时将质量保持在允许值以下。模型单位为kg、N、m和s。图1.挖掘机的造型本教程的优化问题表述为:Objective:在等效静态载荷步中最小化最大柔度。Constraints:体积分数上限。Designvariables:下臂(柔性体)component中的单元密度。一、启动HyperMesh并设置OptiStruct用户配置文件1启动HyperMesh。此时将打开UserProfile对话框。2选择OptiStruct,然后单击OK。这将加载用户配置文件。它包括相应的模板、宏菜单和导入阅读器,将HyperMesh的功能缩减为与生成OptiStruct模型相关的功能。二、打开模型1单击File&gt;Open&gt;Model。2选择保存到工作目录的Excavator_MBD.hm文件。3单击Open。Excavator_MBD.hm数据库被加载到当前的HyperMesh会话中,替换任何现有数据。三、提交作业该模型已经设置了挖掘机MBD分析,所有物体都定义为刚体。1在Analysis页面中,单击OptiStruct面板。图2.访问OptiStruct面板2单击saveas。3在SaveAs对话框中,指定写入OptiStruct模型文件的位置,并在文件名中输入excavator_MBD_analysis。对于OptiStruct求解器模型,建议使用.fem扩展名。4单击Save。inputfile字段显示在SaveAs对话框中指定的文件名和位置。5将导出选项切换设置为all。6将runoptions切换设置为analysis。7将内存选项切换设置为memorydefault。8清除options字段。9单击OptiStruct启动OptiStruct作业。如果作业成功,则新的结果文件应位于写入excavator_MBD_analysis.fem的目录中。excavator_MBD_analysis.out文件是查找错误消息的好地方,如果存在任何错误,这些错误消息可以帮助调试输入模型。四、查看结果1当对话框中收到消息ANALYSISCOMPLETED时,关闭对话框。2在OptiStruct面板中,单击HyperView。当前运行的结果会自动加载到HyperView中。3在Animation工具栏中,单击以启动动画并查看MBD模型。4在PageControls工具栏上,单击以删除页面,关闭HyperView,然后返回到HyperMesh。五、设置优化4.1将刚体更改为柔性体在此步骤中,您将定义body的拓扑优化Lower_Arm。它最初被建模为刚体,需要转换为柔性体以进行优化。1.在Analysis页面中,单击bodies面板。2.选择update子面板。3.双击body=并选择Lower_Arm。4.单击review。下臂component将突出显示。体类型PRBODY显示为type=,表示下臂被建模为刚体。您将此刚体更新为柔性体类型,并在此主体上定义拓扑优化。5.单击type=并选择PFBODY。6.在nmodes=字段中,输入20。这会将CMS方法中包含的模态数增加到20种。图3.更新Lower_Arm的BodyType7.单击update。左下角会显示一条消息,显示已更新为新的类型。8.单击return。4.2创建TopologyDesignvariables1.在Analysis页面中,单击optimization。2.单击topology。3.选择create子面板。4.在desvar=字段中,输入L_Arm_Topology。5.将type:设置为PSOLID。6.使用props选择器,选择lowerarm。7.单击create。8.更新设计变量的参数。a)选择parameters子面板。b)将minmemb关闭为mindim=,然后输入0.05。c)单击update。9.单击return。4.3创建优化响应1.在Analysis页面中,单击optimization。2.单击Responses。3.创建体积分数响应。a)在responses=字段中,输入Volfrac。b)在响应类型下方,选择volumefrac。c)将区域选择设置为byentity和noregionid。d)使用props选择器,选择lowerarm。e)单击create。4.创建柔度响应。a)在response=字段中,输入Comp。b)在响应类型下方,选择compliance。c)将regionalselection设置为total和noregionid。d)单击create。2.单击return返回Optimization面板。4.4创建设计约束1.单击dconstraints面板。2.在constraint=字段中,输入Vol_Constr。3.单击response=并选择Volfrac。4.选中upperbound旁边的框,然后输入0.5。5.单击create。6.单击return返回Optimization面板。在响应Volfrac上定义约束。该约束将强制设计空间中使用的体积分数小于0.5。4.5定义目标引用1.在Analysis页面的Optimization面板中,单击objreference面板。2.在dobjref=字段中,输入MAX_Compin。3.选择posreference,然后输入1.0。4.选择negreference,然后输入-1.0。5.单击response并选择Comp。6.将loadsteps选择选项设置为all。这可确保设计目标参考包括通过ESL方法计算的所有LoadStep的柔度。7.单击create。8.单击return返回Optimization面板。4.6定义目标函数1.单击objective面板。2.验证是否选择了minmax。3.单击dobjrefs并选择MAX_Comp。4.单击create。5.单击return两次以退出Optimization面板。六、保存数据库1.在菜单栏中,单击File&gt;SaveAs&gt;Model。2.在SaveAs对话框中,输入excavator_MBD_Topology.hm作为文件名,并将其保存到您的工作目录中。七、运行优化1.在Analysis页面中,单击OptiStruct。2.单击saveas。3.在SaveAs对话框中,指定写入OptiStruct模型文件的位置,并在文件名中输入excavator_MBD_Topology。对于OptiStruct求解器模型,建议使用.fem扩展名。4.单击Save。inputfile字段显示在SaveAs对话框中指定的文件名和位置。5.将导出选项切换设置为all。6.将runoptions切换设置为optimization。7.将内存选项切换设置为memorydefault。8.单击OptiStruct运行优化。作业完成时,窗口中会显示以下消息:OPTIMIZATIONHASCONVERGED.FEASIBLEDESIGN(ALLCONSTRAINTSSATISFIED).如果存在错误消息,OptiStruct还会报告错误消息。可以在文本编辑器中打开excavator_MBD_Topology.out文件,以查找有关任何错误的详细信息。此文件将写入与.fem文件相同的目录。9.单击Close。八、查看结果1.在命令窗口中收到消息OPTIMIZATIONHASCONVERGED时,关闭DOS窗口。2.在OptiStruct面板中,单击HyperView。结果将加载到HyperView中。3.在ResultsBrowser中,选择最终的Outerloop迭代以加载优化的拓扑结果。图4.4.在Results工具栏中,单击以打开ISOValue面板。5.将Resulttype设置为Elementdensitysities(s)。6.单击Apply。仅显示Element密度高于Currentvalue字段中显示的Element。图5.7.更改密度阈值。a)在Currentvalue字段中,输入0.5。b)在Currentvalue下,移动滑块。8.将Showvalues设置为Above。9.在ModelBrowser的component文件夹中,右键单击Lower_Arm,然后从上下文菜单中选择Isolate。10.在IsoValue面板的Clippedgeometry下,选择Features以可视化完整的设计空间。图6.来源:TodayCAEer

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