Linear Modal Analysis

We begin our exploration of model reduction with the simplest case: linear elasticity (13.1.4). While limited to small deformations, this context provides a clear and intuitive introduction to the core concepts of subspace simulation.

The Physics of Vibration Modes

The object doesn't deform in a random way; instead, it vibrates in a superposition of specific, characteristic patterns called modes. Each of these fundamental patterns is called a mode shape, representing a specific way the object can deform. The overall motion is then described by how much each mode shape contributes to the total deformation at any given moment; this "amount" of contribution is the modal amplitude.

Each mode has an associated natural frequency. Low-frequency modes correspond to large, low-energy deformations (like the fundamental bending of the tuning fork), while high-frequency modes represent complex, high-energy vibrations that are often difficult to see and are quick to dissipate.

The key insight is that the vast majority of an object's visible dynamic behavior can be described by a small number of these low-frequency modes. By restricting our simulation to only these important modes, we can create a highly efficient approximation. It is crucial to remember that this approach is valid only for small deformations, where the material's response remains approximately linear. This means that the internal forces that resist deformation are directly proportional to the amount of displacement (a relationship often described by Hooke's Law). In our discrete setting, this is captured by a constant stiffness matrix , which is also the negative of the strain energy's Hessian matrix. For large deformations, the stiffness properties change with the deformation, and linear modal analysis is no longer applicable.

Computing the Modes

Finding these modes requires us to solve a generalized eigenvalue problem. The setup involves first defining the full system and then applying constraints. We will assume our system is 3-dimensional from now on.

  1. We start by forming the full mass matrix and stiffness matrix .
  2. To account for Dirichlet boundary conditions (fixed vertices), we form smaller, constrained matrices and by removing the rows and columns from and that correspond to the fixed degrees of freedom.

The eigenvalue problem is then solved on these constrained matrices:

Example 26.1.1 (Interpreting the Generalized Eigenvalue Problem). The equation (26.1.1) is fundamental to understanding vibrations in mechanical systems. Let's break it down:

  • is the full stiffness matrix. It relates displacement to internal elastic forces (). A high value in means the object strongly resists deformation.
  • is the full mass matrix. It relates acceleration to inertial forces ().
  • An eigenvector is a mode shape. It's a vector that describes the spatial pattern of a particular vibration mode.
  • An eigenvalue is the squared natural frequency, for the corresponding mode .

The equation essentially states that a modal deformation is special: if the object is deformed into this shape, the elastic restoring force () is perfectly proportional to the inertial force () required to produce a sinusoidal vibration with that shape.

The modes are the shapes where the elastic and inertial forces align perfectly. Low eigenvalues correspond to low-energy modes, which are the most important for visual animation.

The solution from the eigensolver gives us eigenvalues and eigenvectors for the unconstrained DOFs. The eigenvalues are the squares of the natural frequencies of vibration, , and the eigenvectors represent the mode shapes. In order to check that the eigensolver was successful, it is common to visualize the individual modes by animating them as , where is time.

The different modal vectors are typically assembled into a modal basis matrix:

where we select the modes corresponding to the smallest non-zero eigenvalues.

Subspace Simulation of Linear Dynamics

Now, let's see how this modal basis accelerates simulation. The full-space equation of motion for a linear elastic system with damping is:

where is the damping matrix and is the vector of external forces. To reduce this system, we introduce the central approximation of subspace methods: the full-space displacement is approximated by a linear combination of our basis vectors:

Here, is the vector of reduced coordinates or modal amplitudes, where ideally . Each component represents "how much" of mode is present in the deformation at time .

To derive the equation of motion for , we substitute approximation for into (26.1.2) and project the entire equation onto the subspace by pre-multiplying with : This is where the magic happens. Due to the properties of the generalized eigenvalue problem, the eigenvectors can be scaled to be mass-orthonormal, meaning (1 if , 0 otherwise).

Method 26.1.1 (Mass-Orthonormalization of Eigenvectors). To achieve the simplification , the modal basis must be made mass-orthonormal. This is accomplished in two steps. First, the generalized eigenvalue problem naturally produces eigenvectors that are M-orthogonal, meaning for any two different modes and . This property ensures that all off-diagonal entries of the projected mass matrix are zero. Second, to make the diagonal entries equal to one, we explicitly normalize each raw eigenvector from the solver using its mass-weighted length: The resulting vectors , which satisfy , are assembled into the basis . Together, M-orthogonality and M-normalization guarantee the projected mass matrix is the identity, which is what decouples the system of equations.

This simplifies the projected matrices dramatically:

  • ;
  • , where is a diagonal matrix of the eigenvalues, .

If we assume Rayleigh damping, where , the projected damping matrix also becomes diagonal:

This means that the final reduced system becomes a set of completely independent, 1D ordinary differential equations:

Method 26.1.2 (Linear Modal Simulation). We can think of the overall process as being split into a one-time precomputation and an efficient runtime loop.

Precomputation:

  1. Discretize the object to form the global mass matrix and stiffness matrix .
  2. Solve the generalized eigenvalue problem for the smallest non-zero eigenvalues and corresponding eigenvectors .
  3. Assemble the mass-orthonormal basis matrix .

Runtime Loop (per time step):

  1. Compute external forces in the full-space (e.g., from gravity, user interaction).
  2. Project the forces onto the reduced basis: .
  3. For each mode , solve its simple 1D ODE (26.1.4) to update its amplitude . This can be done with a simple and stable implicit integration scheme.
  4. Reconstruct the full-space deformation for rendering: .

The computational savings are immense. Instead of solving a large, coupled system, we solve tiny, independent 1D equations, where might be 20-50 while could be in the tens of thousands or even millions.