首页/文章/ 详情

模态工况创建工具与约束模态创建

2月前浏览2761

模态工具的二次开发性价比不高,本身手动来做就比较简单,两分钟能解决的问题,就算是压缩在10秒内,意义也不大的,但是开发的工作量反倒不少,所以在开发的时候尽量考虑多一点。

自由模态工况比较简单,指定频率范围、或者指定阶数,也可以混合使用,而后创建工况卡片就OK了。

但是对于需要约束模态就比较麻烦了,比如车身的蓄电池支架模态,这就需要在车上截取指定范围内的模型,并约束边界的节点。或者约束指定位置的节点,然后renumber为指定的ID,手动来做这就比较麻烦了。

所以开发了界面如图所示,也是跟着的ANSA的风格写了一个一样的,并添加了截取模型的功能,输入中心坐标以及截取方向以及对应的距离,即可完成模型截取与约束。以及节点renumber的功能,用于约束指定节点,进一步减少用户操作。         
    但是这次不是演示程序的使用,而是介绍下约束模态的分析工况创建。从老版本过渡到新版本的时候,需要注意模态工况有些许变化,工况将通过Load Step Inputs创建    

1.Create > Load Step Inputs.

2.Set Config type, select Real Eigen value extraction.

3.For Type, select EIGRL.

下面是详细的约束模态分析工况创建步骤。

在开始之前,请将本教程中使用的文件复 制 到工作目录。

·channel_brkt_modal.hm

要使用 OptiStruct 完成模态分析模型的设置,您需要定义一个包含 METHOD 和 SPC 语句的模态 SUBCASE。

图 1.

1、启动 HyperMesh 并设置 OptiStruct 用户配置文件

一.启动 HyperMesh。

此时将打开 User Profile”对话框。    

二.选择 OptiStruct,然后单击 OK。

这将加载用户配置文件。它包括适当的模板、宏菜单和导入读取器,将 HyperMesh 的功能缩减到与生成 OptiStruct 模型相关的功能。

2、打开模型

一.单击File > Open > Model”。

二.选择 保存到工作目录中的 channel_brkt_modal.hm 文件。

三.单击“Open”。

 channel_brkt_modal.hm 数据库将加载到当前 HyperMesh 会话中,替换现有数据。

3、设置模型

3.1 查看和编辑材料,此步骤可以从模型浏览器中完成。

一.在“模型浏览器”中,展开“Material ”文件夹以显示模型中的两种材料。

二.单击aluminum

材料条目将显示在实体编辑器中。

    三.对于 RHO,输入2.7e-9

四.重复步骤 1 至 3,为钢材的RHO 输入7.9e-9。

3.2 创建modal Load Step Input

这可以使用“Load Step Inputs创建子面板来完成。

一.在“模型浏览器”中,右键单击并选择“Create > Load Step Inputs”。

二.对于 Name (名称),输入 modal

三.设置配置类型,选择Real Eigen value extraction.。    

四.对于“Type”,请选择“EIGRL”。

五.对于 ND,请输入 10

ND 指定要提取的模式数。

图2.

3.3创建约束 Load Collector

一.在 Model Browser 中,右键单击并选择 Create > Load Collector

二.对于 Name (名称),输入constraints。

三.将“Card Image ”设置为“None”。

3.4 创建约束OptiStruct SPC

一. 在 Model Browser 中展开 Component 文件夹。    

二.单击通道组件旁边的geometry 图标 以打开几何图形显示。

三.单击工具栏中的“Isometric View  ”图标。

您将沿着通道底表面周围的线条在节点上创建SPC约束,如下图所示。

图3.在通道上应用约束

四.单击“ BCs > Create Constraints”以打开“Constraints ”面板。

五.将实体选择器切换到lines

六.在通道底部表面的上选择线。

切换到透明元素模式,可以清楚地看到所选的线条,如下图所示:

图4.

七.激活自由度 (DOF) 1 到 6。

o选择的自由度将受到约束,而没有选择的自由度将是自由的。

o自由度 1、2 和 3 是 x、y 和 z 的平移自由度。    

o自由度 4、5 和 6 是 x、y 和 z 旋转自由度。

八.对于size =,输入 10

九.单击create > return 退出面板。

3.5 映射约束

在此步骤中使用 Load on Geom 面板。

一.Analysis 页面中,单击“load on geom”。

二.单击 loadcols,然后选择约束

三.单击“select ”,完成load collector的选择。

四.单击map loads

约束与几何线关联的每个节点。

五.单击“return ”退出面板。

3.6 定义加载步骤

在此步骤中使用 Load Step Entity Editor。定义 loadstep 用于引用载荷、约束和模态collector。

一.在“模型浏览器”中,右键单击并选择“ Create Load Step”。

二.对于 Name (名称),输入 normal_modes

三.对于“Analysis type”,请选择 Normal modes”。

四.对于 METHOD(STRUCT),选择modal

五.对于 SPC,选择 load collector constraints

3.7定义结果文件的格式    

在控制卡片面板中,使用 OUTPUT 卡为 Altair H3D 和 HyperMesh .res 格式添加两个输出请求。

一.单击Setup >Create  > Control Cards 以打开Control Cards 面板。

二.单击next 转到control cards的下一面板菜单。

三.选择控制卡 片OUTPUT。

请注意,在卡片图像中,一个 OUTPUT 行设置为默认值。这指定 OptiStruct 将结果输出到 HyperMesh 命令文件。

四.单击默认值,然后从弹出菜单中选择 H3D

五.对于 number_of_outputs =,输入 2

第二行 OUTPUT 行出现在卡片中。

六.再次单击默认值,然后选择 HM 作为第二种输出类型。

    这指定 OptiStruct 将结果输出到 H3D 文件和 . res文件,可以在HyperView Player中查看。此外,还会输出 HTML 报告文件,并在其中嵌入 H3D 文件。

    七.单击 return 以返回到“控制卡片”面板。

    注:OUTPUT按钮为绿色。这表明卡片被导出到OptiStruct输入文件。

八.单击return 退出面板。

4、提交作业

一.在“Analysis ”页面中,单击“OptiStruct”面板。    

图5.访问 OptiStruct 面板

二.点击save as

三.save as对话框中,指定写入 OptiStruct 模型文件的位置,并输入 modal_analysis 作为文件名。

对于 OptiStruct求解器模型,建议使用 .fem 扩展名。

四.点击保存

输入文件字段显示在“另存为”对话框中指定的文件名和位置。

五.将导出选项切换开关设置为all

六.将运行选项切换开关设置为analysis

七.将内存选项切换设置为memory default

八.单击“OptiStruct”以启动 OptiStruct 作业。

    如果作业成功,新的结果文件应该在modal_analysis. fem所在的目录中。Fem是刚刚导出的。modal_analysis.out文件是查找错误消息的好地方,如果存在任何错误,文件中的错误信息可以帮助调试模型。 


来源:TodayCAEer
ACTOptiStructHyperMeshHyperView二次开发ANSA材料控制
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2024-08-25
最近编辑:2月前
TodayCAEer
本科 签名征集中
获赞 18粉丝 27文章 242课程 0
点赞
收藏
作者推荐

HyperWork 2024 -二次开发-Tcl语言-文件处理(11/12)

SinceTcl/Tkscriptsrunonavarietyofplatforms,andtherearesomanyusecasesforaccessingfiles,Tclprovidesmanycommandsforfilemanipulation.ThefollowingtablecontainssomecommonlyusedTclfilecommandsandasummaryoftheirusage.Formorein-depthexplanationsandacompletelisting,referredtohttp://www.tcl.tk/man/ortoaTcl/Tkhandbook.filedeleteDeletesthefilenamed.filedirnameReturnstheparentdirectoryofthefilenamed.fileexistsCheckfortheexistenceofthefilenamedname.Returns1ifthefileexists,0otherwise.filejoinJoins,,etc.intoanewpathname.filenativenameReturnstheplatformspecificversionofthefilenamed.filesplitSplitsthefilenamednameintoitsindividualpathnameparts.openOpensafilenamednameforreading/writing,dependingonthearguments.ReturnsthechannelID.closeCloses.getsReadsalinefromandassignsthedatatovariable.putsWritesoutto.Ifisnotspecified,thedefaultoutputchannelisused.readReadsalldatafrom.OneitemtonoteisthatUnixusesaforwardslash/asadirectoryseparatorandWindowsusesabackwardslash\asadirectoryseparator.ThebackwardslashinTclisaspecialescapecharacter.SoonbothWindowsandUnix,Tcluses/asthedirectoryseparator.ItispossibletoconvertafilenametotheTclformat.Noticethecurlybracesaroundthefilenamesothatthe\characterisn’tinterpretedastheescapecharacter.setfilename{C:\My_files\readme.txt};C:\My_files\readme.txtfilejoin[filenativename$filename];C:/My_files/readme.txtWhilenotrecommended,itisalsopossibletoescapethe\characterforWindowspathnamesbyusinganother\precedingeachpathnamepart.setfilename"C:\\My_files\\readme.txt";C:\My_files\readme.txtfilejoin[filenativename$filename];C:/My_files/readme.txtIfthefilereadme.txtexistsinC:/My_files,thefileexistscommandwillreturnavalueof1.fileexists"C:/My_files/readme.txt";1Afilecanbeopenedforreading.setfileID[fileopen"C:/My_files/readme.txt"r];puts"$fileID";TclreturnstheselectedfileID.Afilecanbeopenedforreadingandwriting,truncatingthefileorcreatingitifitdoesnotexist.setfileID[fileopen"C:/My_files/readme.txt"w+];puts"$fileID";TclreturnstheselectedfileID.Afilecanbeopenedforreadingandwriting,appendingdatatotheendofthefile.setfileID[fileopen"C:/My_files/readme.txt"a+];puts"$fileID";TclreturnstheselectedfileID.TosupportcustomersthatuseJapanesefilenames,theencodingcommandenablesmulti-bitcharacters.setfilename[encodingconverttoeuc-jp$filename];来源:TodayCAEer

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