Skip to content

Latest commit

 

History

History
122 lines (69 loc) · 2.5 KB

README.rst

File metadata and controls

122 lines (69 loc) · 2.5 KB

pyEMA

Experimental and operational modal analysis.


pyEMA is no longer develped. The successor of pyEMA is part of SDyPy project.

All pyEMA functionality can be used by installing sdypy:

pip install sdypy

and importing the EMA module:

from sdypy import EMA

Your existing code can stay exactly the same by only changing the existing import from:

import pyEMA

to:

from sdypy import EMA as pyEMA

Basic pyEMA usage

Make an instance of Model class:

a = pyema.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 = pyema.Model(frf_matrix, frequency_array, lower=50, upper=10000, pol_order_high=60)

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

DOI Build Status