sdynpy.signal_processing.sdynpy_frf.modes2frf

modes2frf(frequencies, natural_frequencies, damping_ratios, mode_shapes=None, input_mode_shapes=None, frf_type='disp')[source]

Compute Frequency Response Functions given modal properties

This function computes frequency responses given modal parameters.

Parameters
  • frequencies (ndarray) – frequencies should be a 1D np.ndarray consisting of the frequency lines at which to evaluate the frequency response function. They should be in units of cycles per second or hertz (Hz), rather than in angular frequency of radians/s.

  • natural_frequencies (ndarray) – Natural frequencies of the structure in cycles per second or hertz (Hz) rather than in angular frequency of radians/s.

  • damping_ratios (ndarray) – Critical damping ratios of the structure in ratio form rather than percentange, e.g. 2% damping would be specified as 0.02 rather than 2.

  • mode_shapes (ndarray, optional) – A 2D mode shape matrix with shape (no,nm) where no is the number of output responses and nm is the number of modes. If the optional argument input_mode_shapes is not specified, this mode shape matrix will also be used for the inputs, resulting in a square FRF matrix. If mode_shapes is not specified, the values of the modal FRF matrix are returned as 2D array.

  • input_mode_shapes (ndarray, optional) – A 2D mode shape matrix with shape (ni,nm) where ni is the number of input forces and nm is the number of modes. If the optional argument input_mode_shapes is specified, it be used for the inputs, resulting in a potentially nonsquare FRF matrix.

  • frf_type (str, optional) – frf_type should be one of [‘disp’,’vel’,’accel’] or [‘displacement’, ‘velocity’,’acceleration’] to specify which “type” of frequency response function to compute. By default it computes a displacement or “receptance” FRF. However, if an acceleration or “Accelerance” FRF is desired, specify ‘accel’ instead. The displacement, velocity, and acceleration FRFs differ by a factor of 1j*omega where omega is the angular frequency at a given frequency line.

Returns

H – A 3D (or 2D) np array depending on whether or not mode_shapes is defined with shape (nf,no,ni) or (nf,nm), where nf is the number of frequency lines, no is the number of outputs, ni is the number of inputs, and nm is the number of modes. Values in H are complex.

Return type

ndarray

Notes

This function assumes mass normalized mode shapes.