MATLAB Implementation of Transfer Matrix Method for Rotor Dynamics Analysis

Resource Overview

MATLAB code implementation of transfer matrix method with enhanced algorithm explanations and key function descriptions

Detailed Documentation

The transfer matrix method is a numerical approach commonly used in rotor dynamics analysis, particularly suitable for addressing vibration problems in chain-like structures. In Zhong Yi'e's book "Rotor Dynamics," this method is discussed in detail, demonstrating exceptional performance when dealing with transverse vibrations of multi-disc rotors. The core concept of the transfer matrix method involves transferring state variables (such as displacement, rotation angle, bending moment, and shear force) from one cross-section to the next for each rotor component (like shaft segments and discs). Through matrix multiplication, the transfer relationships of the entire rotor can be connected in series, ultimately forming the system's overall transfer matrix. This method offers high computational efficiency and is especially applicable for analyzing natural frequencies and mode shapes of complex rotor systems. When implementing the transfer matrix method in MATLAB, the following steps can be followed, with corresponding code implementation strategies: Defining Element Transfer Matrices: The transfer matrix for each shaft segment and disc needs to be established based on their dynamic characteristics. For example, a shaft segment's transfer matrix typically includes elastic deformation and inertial effects, while a disc's transfer matrix considers mass and moment of inertia influences. In MATLAB implementation, these matrices can be defined using symbolic variables or numerical arrays depending on the analysis requirements. Assembling Global Matrix: The transfer matrix of the entire rotor is obtained by multiplying all element transfer matrices in sequence. This step can be efficiently accomplished using MATLAB's matrix multiplication capabilities, where the `mtimes` function or the `*` operator can be employed for chain multiplication of multiple matrices. Boundary Condition Handling: Boundary conditions such as fixed, free, or supported ends typically exist at both ends of the rotor. Constraints must be applied to the global transfer matrix to make the equation system closed and solvable. This involves modifying specific matrix elements or adding constraint equations in the MATLAB code. Solving Natural Frequencies: Natural frequencies are determined by adjusting frequency parameters until the determinant of the transfer matrix becomes zero. MATLAB's numerical solving tools like `fzero` for single-variable problems or `fsolve` for multi-variable systems can be utilized for this step. Implementation typically involves defining a frequency-dependent determinant function and finding its roots. Mode Shape Calculation: Once natural frequencies are known, the mode shape distribution of the rotor under different modal orders can be computed through reverse recursion of the transfer matrix. This requires implementing a backward calculation algorithm that propagates state variables from one boundary to the other. This method finds wide application in engineering practice, particularly in dynamics analysis of rotating machinery such as aircraft engines and turbomachinery. MATLAB's efficient matrix operation capabilities make the programming implementation of the transfer matrix method both concise and computationally effective. Key MATLAB functions that enhance implementation include matrix manipulation functions (`inv`, `det`), numerical solvers, and plotting tools for visualizing mode shapes.