sdynpy.modal.sdynpy_modeshape.compute_residues

compute_residues(experimental_frf: TransferFunctionArray, natural_frequencies: ndarray, damping_ratios: ndarray, real_modes: bool = False, residuals: bool = True, min_frequency: Optional[float] = None, max_frequency: Optional[float] = None, weighting: ndarray = 'uniform', displacement_derivative: int = 0, frequency_lines_at_resonance: Optional[int] = None, frequency_lines_for_residuals: Optional[int] = None)[source]

Fit residues to FRF data given frequency and damping values

Parameters
  • experimental_frf (TransferFunctionArray) – Experimental FRF data to which modes will be fit

  • natural_frequencies (np.ndarray) – Natural Frequencies (in Hz) at which modes will be fit

  • damping_ratios (np.ndarray) – Damping Ratios at which modes will be fit

  • real_modes (bool, optional) – If true, fit residues will be real-valued. False allows complex modes. The default is False.

  • residuals (bool, optional) – Use residuals in the FRF fit. The default is True.

  • min_frequency (float, optional) – Minimum frequency to use in the shape fit. The default is the lowest frequency in the experimental FRF.

  • max_frequency (float, optional) – Maximum frequency to use in the shape fit. The default is the highest frequency in the experimental FRF.

  • weighting (np.ndarray or string, optional) – A weighting array to use to fit shapes better at specific frequencies. The default is weighted by the log magnitude of the FRF matrix. Can be defined as ‘magnitude’,’uniform’, or an ndarray with shape identical to the ordinate of the experimental frfs

  • displacement_derivative (int, optional) – Defines the type of data in the FRF based on the number of derivatives from displacement (0 - displacement, 1 - velocity, 2 - acceleration). The default is 0 (displacement).

  • frequency_lines_at_resonance (int, optional) – Defines the number of frequency lines to look at around the specified natural frequencies for computing residues. If not specified, all frequency lines are used for computing shapes.

  • frequency_lines_for_residuals (int, optional) – Defines the number of frequency lines at the low and high frequency to use in computing shapes. Only used if frequency_lines_at_resonance is specified. If not specified, the lower 10% and upper 10% of frequency lines will be kept.

Returns

  • shape_residues (np.ndarray) – A (…, n_modes) shaped np.ndarray where … is the shape of the input experimental_frf array. There will be one residue for each experimental frf (reference and response) for each mode.

  • synthesized_frf (TransferFunctionArray) – Transfer function array containing the analytical fits using the residues.

  • residual_frf (TransferFunctionArray) – Transfer function array containing the residual data from the analytical fits.