首页/文章/ 详情

OptiStruct的 .fem 文件格式及其应用案例

8天前浏览565

前面介绍了这么多分析设置的方法,忽略了对于fem文件的解释,OptiStruct模型文件以 .fem 为扩展名,是一种ASCII编码的文本文件。这种文件格式包含了所有的模型信息,包括节点、单元、材料属性、载荷和边界条件等。

1.  .fem 文件的组成

 .fem 文件主要分为三个部分:I/O部分、Subcase部分和Bulk Data部分。


1.1 I/O部分

I/O部分负责全局控制,包括结果输出的类型、格式、频率,以及运行的类型(如模型检查、分析、超单元生成、优化或重启动)等。例如,可以指定输出文件的类型(如位移、应力、应变)和输出格式(如 H3D 、 OUTPUT2 等)。

1.2 Subcase部分

Subcase部分设置工况信息,决定在一个Subcase中使用哪些载荷和边界条件,并控制该工况的结果输出类型、频率、优化的目标和约束等。例如,可以指定分析类型为静力分析,并引用特定的载荷和约束编号。

1.3 Bulk Data部分

Bulk Data部分包含除了I/O和Subcase部分之外的所有有限元模型信息,如求解控制参数、节点编号及坐标、单元编号和每个单元对应的节点信息、材料参数、截面属性、坐标系定义、详细的约束及载荷定义等。所有这些信息没有先后顺序要求。


2.  .fem 文件的基本格式

 .fem 文件中, $ 、 // 、 # 为注释符号,以这些符号开头的行都会被OptiStruct的读取过程所忽略。文件可分为长格式、短格式和自由格式三种,一行的默认长度为80个字符。

3.  INCLUDE 的应用案例

 INCLUDE 指令在 .fem 文件中非常有用,它允许用户将一个文件的内容引用到另一个文件中。这在处理大型模型或需要重复使用相同设置的情况下非常有用。

例如在整车NVH分析中,整车模型,分为车身(含声腔)与底盘两部分。首先运用CMS对车身模型进行缩聚,生成.h3d格式的CMS超单元。

通过在头文件的 .fem 文件中,使用 INCLUDE 指令来引入车身和底盘的模型文件:

INCLUDE "Body.fem"

INCLUDE "Chasis.fem"

通过这种方式,可以将不同部分的模型组合在一起进行分析。从而进行声振耦合频响分析。

后续为大家介绍如何通过文件编辑器,以目前介绍的分析实例为例,插入分析工况,以及对于复杂模型写工况头文件,再通过include引用模型文件。



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

通过形貌优化提高汽车防溅罩模态性能-OS-T:2020

形貌优化的定义:形貌优化是一种在给定边界条件下改善结构性能的方法,特别适用于薄壁结构的优化,比如本篇文章将介绍的,提高防溅罩的模态频率。在边界条件确定的情况下,可以通过以下步骤进行形貌优化:1.定义设计变量:首先需要定义哪些节点可以移动,以及移动相关的参数,例如起筋的拔模角、筋的高度和宽度等。2.创建响应:为目标定义一个响应,例如在防溅罩的情况下,可能是提高结构的模态频率或减少特定载荷下的位移。3.定义设计约束:设置优化过程中需要满足的约束条件,如模态频率的最小值或最大位移限制。4.定义优化目标:选择优化目标,比如最小化结构重量或最大化模态频率。5.进行优化分析:使用OptiStruct进行优化分析时,工具会根据定义的设计变量、响应、约束和目标进行迭代计算,直到找到最优解。6.结果验证:优化后,需要对结果进行验证,确保优化结构满足所有设计要求。此外,形貌优化还可以与其他优化技术结合使用,如拓扑优化和尺寸优化,后续会为大家介绍到应用案例,拓扑优化与形貌优化的结合,在祛除材料的同时完成起筋,以实现更全面的结构性能提升。通过形貌优化,可以在不增加材料厚度的情况下,通过改变结构的形状来提高其性能,这在汽车工业和其他需要轻量化设计领域中尤为重要。在本教程中,您将为汽车防溅罩生成的加筋特征进行初步设计。目标是使用形貌优化来确定可设计区域中筋的位置,从而增加一阶模态的固有频率。图1.有限元网格。有限元网格包含可设计(红色)和不可设计(蓝色)材料,本教程的优化三要素如下:Objective:最大化一阶模态的频率。Constraint:可设计空间的体积上限约束为40%。DesignVariables:设计空间中每个Element的密度。在开始之前,请将本教程中使用的文件复制到您的工作目录。·http://majorv.help.altair.com/minorv/simulation/tutorials/hwsolvers/optistruct/OS-T-2020/sshield_newdesign.zip·http://majorv.help.altair.com/minorv/simulation/tutorials/hwsolvers/optistruct/OS-T-2020/sshield_opti.zip一、启动HyperMesh并设置OptiStruct用户配置文件1.启动HyperMesh。此时将打开UserProfile对话框。2.选择OptiStruct,然后单击OK。这将加载用户配置文件。它包括相应的模板、宏菜单和导入阅读器,将HyperMesh的功能缩减为与生成OptiStruct模型相关的功能。二、导入模型1.点击File>Import>SolverDeck。导入选项卡将添加到您的选项卡菜单中。2.对于Filetype,选择OptiStruct。3.选择文件图标。此时将打开SelectOptiStruct文件Browser。4.选择保存到工作目录的sshield_opti.fem文件。5.单击Open。6.单击Import,然后单击Close以关闭Import选项卡。三、创建载荷和边界条件1233.1创建约束LoadCollector1.在ModelBrowser中,右键单击并从上下文菜单中选择Create>LoadCollector。2.对于Name,输入constraints。3.单击Color并从调色板中选择一种颜色。4.将CardImage设置为None。3.2创建EIGRLLoadStepInput1.在ModelBrowser中,右键单击并从上下文菜单中选择Create>LoadStepInputs。2.对于Name,输入EIGRL。3.对于Configtype,选择RealEigenvalueextaction。4.对于Type,从下拉菜单中选择EIGRL。EntityEditor将更新以显示EIGRL卡的字段。5.对于V2,输入3000。6.对于ND,输入2。此LoadStepInputs定义了执行模态分析所需的数据,并指定求解器在0到3000Hz的频率范围内计算前两阶模态。图2.3.3CreateConstraints在此步骤中,您将在螺栓位置创建约束。1.在ModelBrowser的LoadCollectors条目中,右键单击Constraints,然后从上下文菜单中选择MakeCurrent。2.在Analysis页面中,单击constraints。3.选择Create子面板。4.双击nodes并选择byid,然后在id=字段中输入1075、1076。5.约束所有dof。选择到的dof将受到限制,而没有选择到的dof是自由的。dof1、2和3是x、y和z平移dof。dof4、5和6是x、y和z旋转dof。6.单击create。7.单击return转到主菜单。现在创建了两个约束。约束对象(三角形)显示在所选节点处。数字123456显示在约束符号旁边,表示所有dof均受约束。3.4创建LoadStep1.在ModelBrowser中,右键单击并选择Create>LoadStep。2.对于Name,输入frequencies。3.将Analysistype设置为normalmodes。4.定义SPC。a)对于SPC,请单击Unspecified>Loadcol。b)在SelectLoadcol对话框中,选择constraints,然后单击OK。5.定义METHOD(STRUCT)。a)对于METHOD(STRUCT),单击Unspecified>Loadcol。b)在SelectLoadcol对话框中,选择EIGRL,然后单击OK。6.单击输入字段(=),从loadstepinputs列表中选择EIGRL。7.单击Create。已创建一个OptiStructLoadStep,该步骤引用LoadCollectorspc中的约束和loadstepinputsEIGRL中的特征值提取数据。8.单击return转到主菜单。四、提交作业1.在Analysis页面中,单击OptiStruct面板。图3.访问OptiStruct面板2.单击saveas。3.在SaveAs对话框中,指定写入OptiStruct模型文件的位置,并在filename中输入sshield_analysis。对于OptiStruct求解器模型,建议使用.fem扩展名。4.单击Save。inputfile字段显示在SaveAs对话框中指定的文件名和位置。5.将导出选项切换设置为all。6.将runoptions切换设置为analysis。7.将内存选项切换设置为memorydefault。8.清除options字段。9.单击OptiStruct启动OptiStruct作业。如果作业成功,则新的结果文件应位于写入sshield_analysis.fem的目录中。sshield_analysis.out文件是查找错误消息的好地方,如果存在任何错误,这些消息可以帮助调试输入模型。写入目录的默认文件为:sshield_analysis.html:HTML报告,提供问题表述和分析结果的摘要。sshield_analysis.out:OptiStruct输出文件,包含有关文件设置、优化问题设置、运行所需RAM和磁盘空间量的估计值、每次优化迭代的信息以及计算时间信息。查看此文件是否有警告和错误。sshield_analysis.h3d:HyperView二进制结果文件。sshield_analysis.res:HyperMesh二进制结果文件。sshield_analysis.stat:Summary,提供分析过程中每个步骤的CPU信息。sshield_analysis.mvw:HyperView超广角会话文件。sshield_analysis_frames.html:HTML文件,用于使用Browser通过HyperViewPlayer对.h3d进行后处理。它与_menu.html文件相关联。sshield_analysis_menu.html:HTML文件,使用Browser通过HyperViewPlayer对.h3d进行后处理。五、查看结果默认情况下,特征向量结果从OptiStruct输出,用于正则模态分析。本节介绍如何在HyperView中查看结果。1.在OptiStruct面板中,单击HyperView。HyperView在HyperMeshDesktop的第2页内启动,并显示sshield_analysis.mvw会话文件,该文件与sshield_analysis.h3d文件链接。2.在Animation工具栏中,将动画模式设置为。3.在ResultsBrowser中,单击Mode1。Browser显示计算在0到3000Hz之间的前两个固有频率。图4.4.定义变形设置。a)在Results工具栏中,单击以打开Deformed面板。b)将Resulttype设置为Eigenmode(v)。c)将Scale设置为Modelunits。d)将Type设置为Uniform。e)在Value字段中,输入10。f)单击Apply。5.为模型制作动画。a)在Animation工具栏中,单击。b)在60和1之间移动MaxFrameRate滑块以提高或减少动画速度。Tip:你也可以更改AngularIncrement的默认值来优化你的动画。c)单击start以启动动画。应该看到第一个频率的模式形状的动画。d)单击stop可停止动画。6.在PageControl工具栏上,单击PageDelete图标以删除HyperView页面。图5.六、设置优化4566.1创建TopologyDesignvariables1在Analysis页面中,单击optimization。2单击topology。3选择create子面板。4在desvar=字段中,输入shield。5将type:设置为PSHELL。6使用props选择器,选择design。7对于基础厚度,输入0.300。8单击create。已创建优化设计空间定义shield。引用设计属性Collector的所有Element(organization到designComponent中的Element)现在都包含在拓扑设计空间中。这些壳的厚度可以在0.300(基础厚度)和PSHELL卡上的T字段定义的最大厚度之间变化。本练习的目的是确定在可设计区域中定位筋的位置。因此,定义了非零基础厚度,即壳体的原始厚度。最大厚度(由PSHELL卡上的T字段定义)应为加强筋的允许深度。目前,PSHELL卡上的T字段仍设置为0.300(原始外壳厚度)。您需要将其更改为1.0,以便通过拓扑优化可以获得最大高度为0.7个单位的筋板。9单击return。10编辑设计属性的厚度。a)在ModelBrowser的Properties文件夹中,点击design。b)在EntityEditor的T字段中,输入1.000。6.2创建优化响应1在Analysis页面中,单击optimization。2单击Responses。3创建体积分数响应。a)在responses=字段中,输入volfrac。b)在响应类型下方,选择volumefrac。c)将区域选择设置为total和noregionid。d)单击create。4创建频率响应。a)在responses=字段中,输入freq1。b)在响应类型下方,选择frequency。c)对于ModeNumber,输入1.0。d)单击create。响应freq1定义为提取的第一阶模态的频率。5单击return返回Optimization面板。6.3定义目标函数1单击objective面板。2验证是否选择了max。3单击response=并选择freq1。4使用loadsteps选择器,选择frequencies。5单击create。6单击return两次以退出Optimization面板。6.4定义约束定义为objective的响应不能约束。在这种情况下,您无法约束响应freq1。需要为响应volfrac定义上限约束。1单击dconstraints。2在constraint=字段中,输入volume_constr。3选中upperbound旁边的框,然后输入0.40。4单击response=并选择volfrac。5单击create。6单击return返回Optimization面板。在响应volfrac上定义约束。约束是值为0.40的上限。该约束适用于所有SUBCASE,因为volumefrac响应是全局响应。在此步骤中,您将允许拓扑优化使用它可以附带的ribsvconstr附带的volume。七、运行优化1在Analysis页面中,单击OptiStruct。2单击saveas。3在SaveAs对话框中,指定写入OptiStruct模型文件的位置,并在文件名中输入sshield_optimization。对于OptiStruct求解器模型,建议使用.fem扩展名。4单击Save。inputfile字段显示在SaveAs对话框中指定的文件名和位置。5将导出选项切换设置为all。6将runoptions切换设置为optimization。7将内存选项切换设置为memorydefault。8单击OptiStruct运行优化。作业完成时,窗口中会显示以下消息:OPTIMIZATIONHASCONVERGED.FEASIBLEDESIGN(ALLCONSTRAINTSSATISFIED).如果存在错误消息,OptiStruct还会报告错误消息。可以在文本编辑器中打开sshield_optimization.out文件,以查找有关任何错误的详细信息。此文件将写入与.fem文件相同的目录。9单击Close。写入run目录的默认文件包括:sshield_optimization.mvw:HyperView会话文件。sshield_optimization.HM.comp.cmf:HyperMesh命令文件,用于根据元件的密度结果值将元件组织成元件。此文件仅用于OptiStruct拓扑优化运行。sshield_optimization.out:OptiStruct输出文件,包含有关文件设置、优化问题的设置、运行所需的RAM和磁盘空间量的估计、所有优化迭代的信息以及计算时间信息的特定信息。查看此文件,了解在处理sshield_optimization.fem文件时标记的警告和错误。sshield_optimization.sh:Shape文件进行最终迭代。它包含分析中每个单元的材料密度、空隙尺寸参数和空心方向角。此文件可用于重新启动运行。sshield_optimization.hgdata:包含目标函数数据、百分比约束冲突和每次迭代的约束的HyperGraph文件。sshield_optimization.oss:OSSmooth文件,默认密度阈值为0.3。您可以编辑文件中的参数以获得所需的结果。sshield_optimization.stat:包含有关用于完整运行的CPU时间的信息,以及用于读取输入模型、汇编、分析、收敛等的CPU时间的分解。sshield_optimization.his_data:包含迭代次数、目标函数值和每次迭代的约束违规百分比的OptiStruct历程文件。sshield_optimization.HM.ent.cmf:HyperMesh命令文件,用于根据Element的密度结果值将Element组织成实体集。此文件仅用于OptiStruct拓扑优化运行。sshield_optimization.html:HTML报告,给出问题表述和最终迭代结果的摘要。sshield_optimization_frame.html:HTML文件,用于使用Browser通过HyperViewPlayer对.h3d进行后处理。它与_menu.html文件相关联。sshield_optimization_menu.html:HTML文件,用于使用Browser通过HyperViewPlayer对.h3d进行后处理。sshield_optimization_des。H3D:HyperView二进制结果文件,其中包含:拓扑优化的Density结果、形貌或形状优化的Shape结果以及尺寸和拓扑优化的Thickness结果。sshield_optimization_s1。H3D:HyperView二进制结果文件,其中包含:线性static分析的位移结果、法则模式分析的单元应变能结果和线性static分析的应力结果等。八、查看结果通过壳单元的拓扑优化,所有迭代的ElementDensity和ElementThickness结果都从OptiStruct输出。此外,默认情况下,将输出第一次和最后一次迭代的特征向量结果。本节介绍如何在HyperView中查看这些结果。1.在OptiStruct面板中,单击HyperView。HyperView在HyperMeshDesktop中启动,并加载与sshield_optimization_des.h3d和sshield_optimization_s1.h3dlink的会话文件sshield_optimization.mvw。2.在Results工具栏中,单击以打开Contour面板。3.将Resulttype:设置为ElementDensities(s)。4.单击Apply。5.从ResultsBrowser中,选择最后一个迭代。图6.为模型的每个Element分配一个图例颜色,指示所选迭代的每个Element的密度。分析以下内容:你的大多数单元收敛到接近1或0的密度?如果有很多中等密度的Element,可能需要调整discrete参数。DISCRETE参数(在Optimization面板的Opti控制面板中设置)可用于将具有中等密度的Element推向1或0,从而获得更离散的结构。需要加固的区域的密度趋向于1.0。不需要加固的区域的密度趋向于0.0。IsMax=字段显示1.0e+00?在这种情况下,是的。如果不是,则优化进展得不够远。允许更多迭代和/或减少OBJTOL参数(在Opti控制面板中设置)。如果调整DISCRETE参数、合并棋盘格控件、优化网格和/或减小目标容差没有产生更离散的解决方案(没有一个单元的密度值达到1.0),则可能需要查看优化问题的设置。对于给定的目标函数,可能无法实现某些定义的约束(反之亦然)。图7.迭代6时单元密度的云图(顶视图)6.Where你会放你的筋板吗?7.在页面控制工具栏上,单击PageDelete图标以删除HyperView页面。图8.九、设置最终的模态分析根据上面获得的拓扑结果,向模型中添加了大量筋板。新设计sshield_newdesign.fem(包括这些筋条)可以在保存到工作目录中的文件中找到。7899.1删除当前模型1.在HyperMesh中,单击return退出OptiStruct面板。2.在菜单栏中,单击File>New>Model。3.单击Yes以清除当前会话。删除当前模型将清除当前HyperMesh数据库。存储在磁盘上的.hm文件中的信息不受影响。9.2导入模型1.点击File>Import>SolverDeck。导入选项卡将添加到您的选项卡菜单中。2.对于Filetype,选择OptiStruct。3.选择文件图标。此时将打开SelectOptiStruct文件Browser。4.选择保存到工作目录的sshield_newdesign.fem文件。5.单击Open。6.单击Import,然后单击Close以关闭Import选项卡。十、提交作业1.在Analysis页面中,单击OptiStruct面板。图9.访问OptiStruct面板2.单击saveas。3.在SaveAs对话框中,指定写入OptiStruct模型文件的位置,并在filename中输入sshield_newdesign。对于OptiStruct求解器模型,建议使用.fem扩展名。4.单击Save。inputfile字段显示在SaveAs对话框中指定的文件名和位置。5.将导出选项切换设置为all。6.将runoptions切换设置为analysis。7.将内存选项切换设置为memorydefault。8.清除options字段。9.单击OptiStruct启动OptiStruct作业。如果作业成功,则新的结果文件应位于写入sshield_newdesign.fem的目录中。sshield_newdesign.out文件是查找错误消息的好地方,如果存在任何错误,这些消息可以帮助调试输入模型。写入目录的默认文件为:sshield_newdesign.html:HTML分析报告,提供问题表述和分析结果的摘要。sshield_newdesign.out:OptiStruct输出文件,包含有关文件设置、优化问题的设置、运行所需的RAM和磁盘空间量的估计值、每次优化迭代的信息以及计算时间信息的特定信息。查看此文件是否有警告和错误。sshield_newdesign.h3d:HyperView二进制结果文件。sshield_newdesign.res:HyperMesh二进制结果文件。sshield_newdesign.stat:Summary,提供分析过程中每个步骤的CPU信息。sshield_newdesign.mvw:HyperView会话文件。sshield_newdesign_frames.html:HTML文件,用于通过Browser通过HyperViewPlayer对.h3d进行后处理。它与_menu.html文件相关联。sshield_newdesign_menu.html:HTML文件,使用Browser通过HyperViewPlayer对.h3d进行后处理。十一、查看结果1.在OptiStruct面板中,单击HyperView。这将在HyperMeshDesktop中启动HyperView并加载与文件sshield_newdesign.h3dlink的sshield_newdesign.mvw文件。2.将动画模式设置为。3.在ResultsBrowser中,选择Mode1。4.单击以打开Defomed面板。5.在Deformed面板中进行或验证以下设置。ResultType:Eigenmode(v)Scale:ModelUnitsType:UniformValue:106.单击Apply。7.单击以启动动画。应该看到第一个频率的模式形状的动画。8.再次单击可停止动画。十二、比较结果您的第一阶模态(sshield_analysis.fem与sshield_newdesign)的频率增加百分比是多少?您已经看到,第一种模式的结构频率已从43.63Hz增加到84.88Hz。零件增加了多少质量(在工具页面的质量计算面板中检查加强筋的质量)?质量增加的百分比是多少?来源:TodayCAEer

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