Dynamic Modal Analysis
Pipelines are highly susceptible to flow-induced vibration, acoustic resonance, and seismic excitation. To ensure a design avoids resonant frequencies, the Pipe Stress FEA engine includes a dedicated Modal Analysis solver to extract the system's fundamental natural frequencies and mode shapes.
4.2.1 The Consistent Mass Matrix
To achieve high-fidelity dynamic results without requiring an excessively dense mesh, the engine utilizes a Consistent Mass Matrix .
Unlike a "lumped mass" approach—which simply divides element mass into point loads at the nodes—the consistent mass matrix distributes the mass continuously along the cubic shape functions of the Euler-Bernoulli beam element. This captures the true dynamic coupling between translational and rotational degrees of freedom.
The total mass per unit length () and the polar mass moment of inertia per unit length () are calculated for each element:
The resulting local mass matrix contains the following distinct distribution coefficients (where and ):
- Axial & Torsional Mass: Distributed using linear shape functions, resulting in diagonal terms of and off-diagonal coupling terms of .
- Bending Mass: Distributed using cubic Hermitian shape functions. The translational inertia terms are scaled by , while the rotational inertia terms (capturing the rotary momentum of the bending pipe) are scaled by .
Like the stiffness matrix, this local mass matrix is rotated using the element's direction cosine matrix and assembled into the Global Mass Matrix .
4.2.2 Dynamic Boundary Conditions
Modal analysis is fundamentally a linear mathematical operation, meaning the non-linear iterative penalty solver used for standard static loads cannot be used. The engine must linearize the boundary conditions.
During the Modal state resolution, the engine applies the following boundary logic:
- Anchors: Fully stripped from the matrix to prevent singularities.
- Limit Stops & Gaps: Assumed to be Active (Rigid). Gaps are ignored, and the support is locked using the penalty stiffness ().
- Snubbers: Dynamic snubbers instantly lock up and are treated as rigid supports along their active axis.
- Friction: Ignored.
In purely torsional degrees of freedom where no eccentric mass exists, the diagonal mass matrix entry can theoretically be zero. To prevent the eigenvalue solver from crashing on a singular matrix, the engine injects a mathematically insignificant stabilizer () to all diagonal free DOFs.
4.2.3 Eigenvalue Extraction
The natural frequencies of the undamped pipeline system are found by solving the generalized eigenvalue problem:
Where:
- is the reduced global stiffness matrix.
- is the reduced global mass matrix.
- represents the eigenvalues.
- represents the eigenvectors (mode shapes).
The engine utilizes a highly optimized SciPy LAPACK solver (scipy.linalg.eigh) to extract the lowest 10 eigenvalues, as these represent the most critical fundamental frequencies governing pipeline design.
The angular velocity () is converted into the physical frequency () in Hertz (Hz):
Mode Shape Normalization
The raw eigenvectors representing the mode shapes indicate relative displacement, not actual physical deflection. To optimize the 3D visualizer in the frontend, the engine normalizes every mode shape so that the maximum nodal displacement vector is scaled exactly to .