Concept of Modal Analysis. Vibration Absorber Design in C++.

Markus Buchholz
8 min readJun 15, 2023


Modal analysis is a technique used in engineering and physics to study the dynamic characteristics of a system or structure. It involves analyzing the natural modes of vibration or oscillation of a system and the corresponding frequencies, damping factors, and mode shapes.

In modal analysis, the system under study is typically represented as a set of mass, stiffness, and damping elements (in the following article the damping is neglected). By solving the equations of motion for the system, it is possible to determine the natural frequencies at which the system will vibrate and the corresponding mode shapes or patterns of motion.

The natural frequencies represent the frequencies at which the system tends to vibrate when it is excited or disturbed. Each natural frequency corresponds to a mode of vibration, which is a distinct pattern of motion associated with a specific frequency. The mode shapes describe how the system moves and deforms during each mode of vibration.

Modal analysis is commonly used in various fields, including structural engineering, mechanical engineering, aerospace engineering, and acoustics. It has applications in areas such as structural design, vibration isolation, noise control, and failure analysis. By understanding the natural modes of a system, engineers can design structures that are less prone to resonance, optimize performance, and identify potential issues such as weak points or excessive vibrations.


We can receive the sense of the mode of we related Modal analysis and Fourier analysis, besides there are distinct concepts.

The modal analysis focuses on decomposing the motion of a vibrating system into its individual modes of vibration. Each mode represents a distinct pattern of motion with a specific natural frequency and corresponding amplitude. By determining the natural frequencies and mode shapes, modal analysis allows us to understand and analyze the dynamic behavior of the system.

On the other hand, Fourier analysis is a mathematical technique used to decompose a complex signal into a sum of simpler sinusoidal components. It represents a signal in the frequency domain, where each sinusoidal component corresponds to a specific frequency and amplitude. Fourier analysis is commonly used for signal processing, spectrum analysis, and transforming signals between the time and frequency domains.

While both modal analysis and Fourier analysis involve decomposing a signal into simpler components, the underlying principles and objectives are different. The modal analysis focuses on the inherent vibration modes of a physical system, while Fourier analysis deals with the spectral decomposition of a signal into sinusoidal components.

In summary, while there are some similarities between modal analysis and Fourier analysis in terms of decomposing signals, they are distinct techniques used for different purposes. Modal analysis is specifically concerned with the vibration behavior of physical systems, whereas Fourier analysis is a more general mathematical tool for analyzing signals in the frequency domain.

Fourier and modal analysis relation (by author)

Please consider that the mode refers to a specific pattern of motion exhibited by a vibrating system. Each mode is associated with a unique combination of displacements and corresponds to a natural frequency.
The natural frequency is an intrinsic property of the system and is determined by its mass, stiffness, and geometry. The natural frequency represents the frequency at which a system tends to vibrate when it is excited or disturbed without any external forcing. Each mode of vibration in a system has its own corresponding natural frequency.
Resonance frequency, however, is the frequency at which a system exhibits the strongest response or amplification when subjected to an external excitation (force). It occurs when the excitation frequency matches or is close to the system’s natural frequency. Resonance leads to larger amplitudes of vibration due to the efficient transfer of energy between the excitation and the system.
In the context of modal analysis, the eigenvalue is a parameter obtained through the solution of the characteristic equation of the system. The characteristic equation relates to the system’s dynamic behavior and involves the stiffness and mass matrices. The eigenvalues represent the roots of the characteristic equation and determine the natural frequencies of the system. Each eigenvalue corresponds to a specific mode of vibration and represents the frequency at which that mode vibrates.

Modal Analysis Overview

Mechanical systems described by Lagrange equations can be difficult to solve since equations are often coupled. It means the motion or behavior of one component affects the motion of other components.

In a coupled system, the equations of motion cannot be solved independently for each component. The equations are interconnected through terms that involve the displacements, velocities, accelerations, or forces of multiple components.

Coupling can occur due to physical interactions or connections between different parts of the system, such as springs, dampers, or interdependent forces.

Solving a coupled system involves considering the interdependence of the equations and solving them simultaneously to obtain a complete solution that satisfies the interactions between the components. This can be more complex than solving a system of uncoupled equations, where each equation can be solved independently.

For such systems, we often use modal analysis, which often aims to decouple the equations of motion and express them in terms of independent modes of vibration. This simplifies the analysis and allows for the examination of each mode separately (in modal coordinates).

The following figure provides a general overview of modal analysis.

Modal analysis concept (by author)

Absorber design and simulations

To simplify the design analysis, let’s consider a scenario where mass 1 is subjected to a periodic force F. This force influences the motion of mass 1. The aim of the absorber mass 2 component attached to mass 1 by the spring is to decrease these movements.

The model of our system can be presented as follows.

Dynamic system (by author)

Dynamic equations, which I solved by applying the Ruge-Kutta method.

Our goal is to find certain conditions (mass and spring stiffness values) of mass 2 which affect mass 1 to stay stationary.

The dynamic equations are relatively simple, so there is no need for modal analysis. Nonetheless, it would be beneficial to outline the primary steps in the discussed model analysis to conclude our discussion fully.

The procedure is as follows. For our system (equation of motion) we need to solve the eigenvalue problem. It means we need to determine the modal frequencies (eigenvalues) and the mode shapes (eigenvectors). I solved this discussed equation in Python and identified two pair of eigenvalues and eigenvectors.
Later computed eigenvalues and vectors we apply to find the modes of the system. Finally, we can specify the modes of the system as follows (for more details, see here )

Mode 1

Mode 2

Now we have to analyze the response of the overall system. We add together earlier computed modes and plot absolute value.

Anti-resonance frequency (here at 15rad /s) (by author)

Upon analyzing the plot, it becomes evident that there are certain distinct frequencies where the motion of mass 1 is negligible, causing it to remain stationary. This particular frequency is known as the anti-resonance frequency (here 15rad /s).

To create a detailed design, we follow the standard method of solving the Lagrange motion equations to find the corresponding solution. The solution to this equation is harmonic, which can be expressed as follows,

With this harmonic solution, we can easily calculate the velocity and acceleration and substitute them into our Lagrange motion equation.

By applying some basic algebra, we can simplify our equations into the following form:

To find the conditions where mass 1 stays still, we will solve for Y = 0 in the given equation.

By substituting these values, we can determine the design conditions for mass 2 and the stiffness of spring 2 to satisfy the required frequency squared. Mass 2 displacement can be determined as well. Our design criteria are as follows,

We can use the equation of motion again and apply the design condition to design the absorber properly.
Assuming a factor exists between mass 1 and mass 2 (typically ratio is 0.1), we can specify the primary frequency(for mass 1).

Algebraic calculations yield an equation where mass 1 stays still if omega is equal to omega (*).

Plotting this relation yields an identical plot as expected in the model analysis.
At the frequency equals 15rad/s, we can eliminate the movement of mass 1 (Y=0). Having the proportion factor of mass 1 and mass 2 we can easily find the stiffness of k2

We can simulate the motion of both masses according to design criteria where we computed the stiffness of k2 to remove mass 1 movement.

The source code you can find on my GitHub.

Simulation of damper (blue) (by author)
The motion of m1 is nearly removed (by author)

As expected the damper removes (almost) motion on mass 1.

Thank you for reading.