基于MATLAB的转子动力学有限元分析系统
项目简介
本项目是一个专业的转子动力学仿真与分析平台,基于MATLAB环境开发。软件采用有限元法(FEM)对旋转机械的转子-轴承系统进行数值建模,核心基于Timoshenko梁理论,能够精确捕捉轴段的横向剪切效应和转动惯量影响。系统内置了完整的动力学方程求解流程,特别考虑了高速旋转下的陀螺效应,适用于汽轮机、压缩机及航空发动机等旋转机械的动力学特性分析。
功能特性
- 参数化有限元建模:支持并通过参数数组定义多跨轴段、集中质量圆盘(Disks)及轴承支撑(Bearings)。模型考虑了材料属性(弹性模量、密度、泊松比)及几何尺寸。
- 高精度单元理论:采用Timoshenko梁单元,相比传统Euler-Bernoulli梁更能准确模拟短粗轴或高阶模态。
- 陀螺效应模拟:在系统矩阵组装中显式包含了陀螺矩阵(G矩阵),能够准确反映转速对系统固有频率的分岔(进动)影响。
- 模态分析与坎贝尔图:自动计算不同转速下的复特征值,绘制坎贝尔图(Campbell Diagram),识别临界转速及模态稳定性(对数衰减率)。
- 稳态不平衡响应:计算转子在特定不平衡量激励下的同步响应,生成波德图(Bode Plot),分析振动幅值与相位滞后。
- 瞬态动力学框架:内置Newmark-beta数值积分算法的初始化设置,用于处理时域内的非线性或突发载荷响应(代码中包含相关参数配置)。
系统要求
- MATLAB R2018a 或更高版本
- 需安装 MATLAB 基础工具箱(无需额外的特殊工具箱,但需保证稀疏矩阵运算功能可用)
使用方法
- 打开MATLAB并将工作路径切换至项目所在文件夹。
- 确保所需的辅助函数(如Timoshenko单元矩阵生成函数)在路径中。
- 直接运行主脚本即可启动分析。
- 程序运行后将自动输出系统矩阵组装日志,并在计算完成后弹出坎贝尔图和不平衡响应的波德图。
核心算法与代码实现逻辑
基于提供的代码内容,本项目主要实现了以下核心逻辑:
1. 模型预定义与离散化
程序首先定义了全局物理参数(如杨氏模量、密度)和几何参数。
- 轴段定义:通过分段数组描述转子几何,程序自动计算节点坐标,总自由度根据节点数动态生成(每个节点包含4个自由度:X移动、Y移动、X转角、Y转角)。
- 边界条件:支持在任意节点添加集中质量(圆盘)和线性弹簧-阻尼支撑(轴承)。
2. 有限元系统矩阵组装
程序利用稀疏矩阵(Sparse Matrix)技术构建系统的动力学方程:
- 轴段单元:遍历所有轴段,调用Timoshenko单元函数获取局部矩阵,并映射组装至全局质量矩阵(M)、刚度矩阵(K)和陀螺矩阵(G)。
- 圆盘处理:在指定节点叠加圆盘的平动质量、直径转动惯量(影响M矩阵)及极转动惯量(影响G矩阵),其中G矩阵的反对称项专门用于模拟陀螺力矩。
- 轴承支撑:在指定节点叠加轴承的刚度和阻尼系数至全局K矩阵和C矩阵。
3.模态分析(Campbell图)
该模块用于求解转速依赖的特征值问题:
- 状态空间变换:由于阻尼和陀螺效应的存在,系统方程被转换为状态空间形式。
- 变转速循环:程序在设定的转速范围内循环(如0-15000 RPM)。在每个转速点,系统总阻尼矩阵由结构阻尼和与转速成正比的陀螺项组成(C_total = C_struct + omega * G)。
- 特征值求解:求解状态矩阵的特征值,通过虚部提取固有频率,通过实部计算对数衰减率。
- 数据筛选:自动过滤非物理模态,提取正向进动频率,并最终绘制出转速vs频率的坎贝尔图。
4. 稳态不平衡响应(Bode图)
该模块基于谐响应分析理论计算同步振动:
- 动态刚度矩阵:构建复数形式的动态刚度矩阵 Z = K - w^2*M + j*w*(C + w*G),综合了惯性、阻尼、刚度和陀螺效应。
- 激励向量:根据预设的不平衡量(质量、半径、相位),构建旋转力向量。为了模拟旋转磁场,力向量在X和Y方向上存在90度的相位差(实部与虚部构造)。
- 线性方程求解:直接求解复数线性方程组 ZF 得到位移响应,提取指定节点的幅值和相位绘制波德图。
5. 瞬态动力学仿真配置
代码包含瞬态分析的初始化部分:
- 时间积分算法:定义了Newmark-beta方法的积分参数(gamma = 0.5, beta = 0.25),这是一种无条件稳定的隐式积分算法,适用于结构动力学。
- 系统矩阵准备:设定了固定的工作转速,并准备该转速下的瞬态分析矩阵,为后续的时域迭代计算做好了数据准备。