Cyclic-symmetry modal analysis#
Free-vibration modal analysis on a single base sector of an
\(N\)-fold cyclically-symmetric rotor. Driven by
Model.cyclic_modal_solve.
Algorithm#
For a rotor of \(N\) identical sectors, the global spectrum decomposes per harmonic index \(k \in \{0, 1, \ldots, N/2\}\) (Thomas 1979; Wildheim 1979). Each harmonic produces a reduced complex-Hermitian sub-problem on the base sector
with the cyclic boundary condition \(\mathbf{u}_\text{high} = e^{\imath\, k\, \alpha}\, \mathbf{R}(\alpha)\, \mathbf{u}_\text{low}\), \(\alpha = 2\pi / N\).
femorph-solver applies the Grimes–Lewis–Simon (1994) real 2n-augmentation to recast each complex-Hermitian sub-problem as a real-symmetric problem of doubled size:
then dispatches to the same shift-invert Lanczos pipeline as the Modal analysis solver. Each eigenvalue appears with multiplicity 2 in the augmented problem; the eigenvectors recombine into a complex pair on the way out.
For \(k = 0\) and (when \(N\) is even) \(k = N/2\) the imaginary block is identically zero and the augmentation collapses to two copies of the same real eigenvalue. For \(0 < k < N/2\) the two halves form a travelling-wave pair — the real / imaginary parts of \(\boldsymbol{\phi}_k\) are 90°-shifted snapshots of a wave travelling around the rotor’s circumference.
Public API#
Model.cyclic_modal_solve(low_face=, high_face=,
n_sectors=, n_modes=, harmonic_indices=, ...)
low_face/high_face— node arrays (MAPDL numbers or boolean masks) on the rotor’s two cyclic faces, paired in matching order.n_sectors— number of sectors \(N\).harmonic_indices— defaults to all of \(0, 1, \ldots, N/2\).Returns one
CyclicModalResultper harmonic index, each carryingomega_sq,frequency, complexmode_shapeson the base sector, and theharmonic_indexmetadata.
Verification cross-references#
Cyclic-symmetry modal on a rotor sector — 4-sector annular sector full sweep.
Cyclic-symmetry modal sweep — annular disk — 12-sector annular disk, lowest mode per harmonic.
Cyclic-symmetry travelling-wave pair — bladed rotor — 16-blade rotor, travelling-wave pair render.
Cyclic-symmetry mode family across every harmonic — 4×2 viewport grid of the disk mode family classified by harmonic index.
Implementation: femorph_solver.solvers.cyclic.
References#
Thomas, D. L. (1979) “Dynamics of rotationally periodic structures,” Journal of Sound and Vibration 66 (4), 585–597.
Wildheim, S. J. (1979) “Vibrations of rotationally periodic structures,” Ph.D. dissertation, Linköping University.
Grimes, R. G., Lewis, J. G. and Simon, H. D. (1994) “A shifted block Lanczos algorithm for solving sparse symmetric generalized eigenproblems,” SIAM J. Matrix Analysis and Applications 15 (1), 228–272 (real 2n augmentation).
Bathe, K.-J. (2014) Finite Element Procedures, 2nd ed., §10.3.4 (cyclic-symmetry modal).
Crandall, S. H. and Mark, W. D. (1963) Random Vibration in Mechanical Systems, Academic Press, §3.5 (travelling- wave / standing-wave decomposition).
Singh, M. P. and Vakakis, A. F. (1993) “On the dynamics of cyclic-symmetric structures,” Mechanism and Machine Theory 28 (5), 627–637 (mode classification by harmonic index).