How to Compute Eigenvalues and Eigenvectors in Scipy for Structural Analysis

Eigenvalues and eigenvectors are fundamental in structural analysis, helping to determine natural frequencies and mode shapes of structures. SciPy provides tools to compute these values efficiently. This article explains how to perform these calculations using SciPy.

Importing Necessary Libraries

Begin by importing the required modules from SciPy and NumPy. These libraries contain functions for matrix operations and eigenvalue computations.

Use the following code:

import numpy as np

from scipy.linalg import eig

Preparing the Structural Matrix

Define the matrix representing the structure’s properties, such as stiffness or mass matrix. This matrix should be square and symmetric for most structural problems.

Example:

A = np.array([[4, 1], [1, 3]])

Computing Eigenvalues and Eigenvectors

Use the eig function from SciPy to compute eigenvalues and eigenvectors of the matrix.

Example:

eigenvalues, eigenvectors = eig(A)

Interpreting Results

The eigenvalues represent the natural frequencies or stiffness characteristics of the structure. The eigenvectors correspond to the mode shapes.

Eigenvalues are complex numbers; their real parts indicate damping or stiffness, while imaginary parts relate to oscillation frequencies.

  • Eigenvalues: natural frequencies
  • Eigenvectors: mode shapes
  • Complex values: damping and oscillation info