Ansys Workbench 利用APDL后处理命令,提取模态结果,结合VBA语言自动编制报告
问题:
工程中因为模态分析可以反应出结构产品的很多问题,因此对模态计算的需求很多。并且资料或经验等对模态计算有一定的要求,例如模态频率大于激励频率的1.5倍、模态有效质量大于75%等。
本例在常规模态计算的基础上,通过插入后处理APDL命令,实现对X、Y、Z三个方向的模态有效质量和模态阶次频率的提取,并统计导出为结果文件夹下的“modalResultRecord.txt”文档。进一步的实现对仿真word报告的自动化编写。
效果展示:
对图示结构进行模态分析,提取模态结果,利用word自身的VBA开发工具,实现模态统计表的自动创建。
常规模态计算:
模态信息提取自动编制报告:
操作演示:
1.:在常规模态计算的solution下插入Commands 命令,在命令行中写入附录1中的命令。
(该命令可以提取模态实现对X、Y、Z三个方向的模态有效质量和模态阶次频率的提取,并导出为结果文件夹下的“modalResultRecord.txt”文档)
2:在仿真文件夹内找到该txt文档,放置在合适位置;记下目录;
3:在word开发工具中,利用VBA语言编写如下附录2命令。
4:修改txt文件的目录,保持与步骤2一致。(将附录中VBA程序复制到word开发工具内,点击运行即可在,word文档中创建模态统计表)
(将类似功能汇总即可完成仿真报告的自动化创建,本文仅涉及一部分)
附录1:Ansys Workbench 模态仿真后处理中插入的APDL命令
!提取模态仿真的X、Y、Z方向有效模态质量,APDL命令:
! 模型单位制:mm kg N s
finish
/post1 !进入后处理
*dim,direction,CHAR,3,1 !创建三维字符串数组 direction 用于定义X、Y、Z方向
direction(1) = 'X'
direction(2) = 'Y'
direction(3) = 'Z'
*get,lastLS,active,0,set,LSTP ! 提取当前载荷步 lastLS
*get,beginset,active,0,set,nset,first,lastLS ! 提取当前载荷步 的初始子步
*get,endset,active,0,set,nset,last,lastLS ! 提取当前载荷步 的最后子步
nummodes = 0
*if,endset,gt,0,then
nummodes = endset - beginset + 1 ! 模态阶次数
*endif
*do,i_mode,1,nummodes
*get,FREQ_%i_mode%,MODE,i_mode,FREQ ! 提取各阶次模态频率
*enddo
*get,totalMass,ELEM,0,MTOT,'X' ! 提取模型总质量(注意单位)
totalMass=totalMass*1000
*do,i_mode,1,nummodes ! 循环提取各阶模态X/Y/Z 三个方向的有效质量,并根据有效质量计算模态质量百分比
*do,j_component,1,3 ! 循环赋值给 可变参数变量:EFFM_%i_mode%_%j_component% =EFFM_1_1
*get,EFFM_%i_mode%_%j_component%,MODE,i_mode,EFFM,,DIREC,direction(%j_component%)
该付费内容为:包含附录1/附录2的完整ADPL命令和word VBA命令,有Ansys Workbench示例和Word示例
包含2个附件 2人购买