1、换热管固有频率有限元计算换热管固有频率有限元计算2024年年5月月12日日报告人:报告人:李怀民李怀民指导教师:指导教师:谭蔚谭蔚1.u 背景介绍背景介绍u Matlab有限元计算有限元计算u Matlab和和C+混合编程混合编程2.背景介绍背景介绍换换热热器器管管束束振振动动破破坏坏是是换换热热器器失失效效的的常常见见形形式式,对对各各种种振振动动机机理理进进行行预预测测分分析析,首首先先都都必必须须计计算算其其固固有有频频率率。准准确确地地计计算算固固有有频频率率是是关关系系到到管管束束安安全全设设计的重要项目。计的重要项目。本本课课题题主主要要目目的的是是编编写写计计算算换换热热管管固固
2、有有频频率率的的独独立立可执行程序可执行程序,便于将其嵌入到,便于将其嵌入到SW6软件包中。软件包中。3.主主要要实实现现步步骤骤是是Matlab编编写写有有限限元元计计算算程程序序,形形成成M文文件件;将将M文文件件编编译译为为库库文文件件(.dll,.lib,.h或或者者.hpp);编编写写C/C+程程序序,调调用用库库文文件件,形形成成可可执行程序执行程序(.exe)。4.Matlab有限元计算有限元计算一一般般情情况况下下换换热热管管的的支支撑撑条条件件是是在在管管板板端端为为固固定定支支撑撑,在,在折流板处为简支折流板处为简支。5.进进行行模模态态分分析析时时,假假定定结结构构为为自
3、自由由振振动动并并忽忽略略阻阻尼尼,基本方程为:基本方程为:当发生谐振动时,有当发生谐振动时,有 ,方程可化为:,方程可化为:因因此此系系统统矩矩阵阵 的的特特征征值值即即为为系系统统固固有有频频率率,特征向量特征向量 即为振型。即为振型。模态分析基本理论模态分析基本理论6.数据初始化数据初始化Matlab程序程序输输入入管管束束质质量量,弹弹性性模模量量,管管外外径径,管管内内径径,跨跨距距,端端跨跨,支支撑撑情情况况等等数数据据。将将每每段段直直管管管管束束划划分分为为1010个单元,弯管段划分为个单元,弯管段划分为4040个梁单元,个梁单元,以直代曲以直代曲。计计算算局局部部坐坐标标系系
4、下下梁梁单单元元刚刚度度矩矩阵阵 和和质质量量矩矩阵阵 。7.计算固有频率计算固有频率计算计算全局坐标系全局坐标系下质量矩阵和刚度矩阵。下质量矩阵和刚度矩阵。边界条件的处理边界条件的处理通通过过式式 及及式式 ,将将局局部部单元矩阵转化为总体单元矩阵。单元矩阵转化为总体单元矩阵。将单元矩阵组装成总刚度矩阵将单元矩阵组装成总刚度矩阵K和总质量矩阵和总质量矩阵M。计算矩阵计算矩阵 的特征值,得到系统固有频率的特征值,得到系统固有频率。8.假设与简化假设与简化直直管管只只考考虑虑弯弯曲曲,单单元元采采用用二二维维梁梁单单元元,每每个个节节点点两两个个自自由由度度。U形形管管考考虑虑截截面面扭扭转转,
5、单单元元采采用用三三维维梁单元梁单元,每个节点六个自由度。,每个节点六个自由度。小小变变形形假假设设,截截面面转转角角可可看看做做矢矢量量,其其坐坐标标变变换换矩矩阵与位移的坐标变换矩阵采用相同的形式。阵与位移的坐标变换矩阵采用相同的形式。轴轴向向力力是是以以几几何何刚刚度度矩矩阵阵的的形形式式给给出出的的。受受拉拉时时固固有频率增加,受压时固有频率降低。有频率增加,受压时固有频率降低。9.计算结果举例计算结果举例10.直管考虑轴向力直管考虑轴向力11.Matlab与与C+混合编程混合编程Matlab与与C+混合编程的主要方法有:混合编程的主要方法有:将将Matlab程序编译成程序编译成C/C
6、+源文件并嵌入源文件并嵌入VC+中中将将M文件编译成文件编译成DLL文件嵌入到文件嵌入到VC+程序中程序中在在C/C+程程序序中中直直接接使使用用Matlab C/C+Math Library在在C/C+程序中利用程序中利用Matlab engine调用调用Matlab函数函数12.编译环境为编译环境为matlab6.5和和C+6.0建建立立C+工工程程,将将生生成成的的头头文文件件和和库库文文件件添添加加到到工工程中程中使使用用mcc-t-L C-W lib:dlltest-T link:lib zfreq.m命命令,将令,将M文件编译为文件编译为C+可用文件(可用文件(.h,.dll,.l
7、ib)在在matlab中中运运行行mex-setup和和mbuild-setup配配置置编编译译器,选择编译器为器,选择编译器为Microsoft Visual C+6.0主要步骤主要步骤13.编写编写C+C+代码调用动态链接库文件代码调用动态链接库文件matlab6.5发发布布可可独独立立运运行行的的程程序序还还需需要要运运行行mglinstaller.exe,将将运运行行得得到到的的dll文文件件拷拷贝贝到到程程序序所在目录或者系统文件目录所在目录或者系统文件目录system32下。下。编译,形成可执行程序编译,形成可执行程序14.编编译译器器选选择择VS2010C+,编编译译命命令令为为
8、mcc-W cpplib:testdll-C-T link:lib zfreq;当编译环境为当编译环境为Matlab2010及及VS2010 C+时:时:matlab2007后后不不再再提提供供单单独独的的数数学学库库,如如果果机机器器没没有有安安装装matlab,需需要要matlab运运行行环环境境的的支支持持,即即安安装装MCR(matlab component runtime)Matlab6.5通通过过mxArray数数据据结结构构进进行行参参数数传传递递,Matlab2010通通过过mwArray数数据据结结构构进进行行参参数数传传递递,编写的编写的C+程序时,链接库函数调用形式不同程序时,链接库函数调用形式不同15.谢谢 谢谢 !16.