Skip to content

sdypy/sdypy-EMA

Repository files navigation

sdypy-EMA

Experimental and operational modal analysis

Check out the documentation.

This project is successor of the pyEMA project. pyEMA is no longer developed after version 0.26.

Basic usage

Import EMA module:

from sdypy import EMA

Make an instance of Model class:

a = EMA.Model(
    frf_matrix,
    frequency_array,
    lower=50,
    upper=10000,
    pol_order_high=60
    )

Compute poles:

a.get_poles()

Determine correct poles:

The stable poles can be determined in two ways:

  1. Display stability chart
a.select_poles()

The stability chart displayes calculated poles and the user can hand-pick the stable ones.

  1. If the approximate values of natural frequencies are already known, it is not necessary to display the stability chart:
approx_nat_freq = [314, 864]
a.select_closest_poles(approx_nat_freq)

After the stable poles are selected, the natural frequencies and damping coefficients can now be accessed:

a.nat_freq # natrual frequencies
a.nat_xi # damping coefficients

Reconstruction:

There are two types of reconstruction possible:

  1. Reconstruction using own poles (the default option):
H, A = a.get_constants(whose_poles='own')

where H is reconstructed FRF matrix and A is a matrix of modal constants.

  1. Reconstruction on c using poles from a:
c = EMA.Model(frf_matrix, frequency_array, lower=50, upper=10000, pol_order_high=60)

H, A = c.get_constants(whose_poles=a)

DOI