Release Notes

1.10.2

Internals

  • Add Fast colormap from Paraview as the default colormap for mesh visualization and animation in SVAnimExt.jl extension. The colormap argument of viz_mesh and animate_mesh functions now defaults to fast_cmap() instead of :jet1.

1.10.1

  • Fix minor bugs in animate_mesh function in SVAnimExt.jl extension.

1.10.0

New features

  • Add mesh manipulation functions in SVMeshExt.jl extension:
    • detrend_mesh to detrend a mesh by removing the rigid body motion
    • renumber_element_connectivity to renumber the elements of a mesh
    • construct_mesh to construct a Mesh object from the nodes and elements of a mesh
    • deformed_grid to compute the deformed grid of a mesh from the nodal displacements
  • Add animate_mesh function in SVAnimExt.jl extension to create an animation of the deformed mesh over time from the nodal displacements and values to be plotted on the mesh (e.g., modal shapes, ODS, etc.).

Internals

  • Simplify the implementation of ods function.

1.9.1

  • Fix type instability issues in gradient function.
  • Improve compute_poles functions for SdofEMA.

1.9.0

New features

  • Add modal_density function to compute the modal density of a structure from the knowledge of its resonance frequencies.
  • Add modal_density function for 1D structures (bars, rods, strings and beams) and 2D structures (plates and membranes) based on the analytical expression of the modal density for these structures.

Internals

  • Replace Interpolations.jl with DataInterpolations.jl for interpolation.

1.8.0

New features

  • Add wave_parameters function to compute the wave parameters (wavenumber, wavelength and wave speed) for continuous models.

1.7.0

Breaking changes

  • Remove AutoEMASdofProblem and AutoEMAMdofProblem structures
  • Refactor solve function for automatic modal extraction to take an EMAProblem and a SdofEMA or MdofEMA method as arguments instead of separate AutoEMAProblem structures.

These changes have been made to solve type instability issues in the solve function for automatic modal extraction.

Internals

  • Fix various type instability issues.

1.6.1

  • Remove DispatchDoctor from dependencies

1.6.0

Breaking changes

  • Simplify poles_extraction method by removing scaling argument used for peak detection. The FRF magnitude is now always converted to dB scale for peak detection.

Internals

  • Remove peak_proms! and peak_widths! from StructuralVibration.jl.
  • Fix type instability issues in varest and poles_extraction functions.

1.5.0

Breaking changes

  • Refactor poles_extraction function to add scaling::Function argument for peak picking methods to specify the scaling of the FRF magnitude used for peak detection

v1.4.1

Documentation

  • Update documentation for FSDD method in OMA modal extraction.

  • Update FSDD method to take into account the fact that the number of outputs is different from the number of references.

v1.4.0

Documentation

  • Add examples of time solvers with DifferentialEquations.jl integration.w

New features

  • Add FSDD method to mode_extraction function for modal parameter extraction using the Frequency-spatial Domain Decomposition (FSDD) method.

Breaking changes

  • Refactor FreeModalTimeProblem, HarmonicModalTimeProblem and ForcedModalTimeProblem constructors to simplify handling of modal data.

Bug fixes

  • Fix bugs in eigenmode function.
  • Fix bugs in solve function for DirectTimeProblem.

v1.3.0

New features

  • Add pks_indices argument to AutoEMASdofProblem and poles_extraction function to specify the indices of peaks to consider during pole extraction using Sdof methods.

  • peaksplot is renamed to peaks_plot to avoid name conflict with the peaksplot function from Peaks.jl.

  • Add ods to compute Operational Deflection Shapes (ODS) using either the response spectrum or the cross-spectral density matrix.

Breaking changes

  • Rename c2r_modeshape function to real_normalization for clarity.

  • Sdof EMA methods now take a pks_indices argument to specify the indices of peaks to consider during pole extraction and bypass automatic peak detection.

v1.2.0

Minor changes

  • Fix bugs in eigenmode function for state-space models.

  • Fix bugs in comac function.

Breaking changes

  • Change PLSCF algorithm name to pLSCF in poles_extraction function.

  • Remove ismat argument from solve function of DirectFRFProblem, ModalFRFProblem, StateSpaceFRFProblem and StateSpaceModalFRFProblem. The output FRF is now always returned as a 3D array with dimensions (no. outputs, no. inputs, no. frequencies).

  • Remove ismat argument from impulse_response function for modal time solvers. The output is now always returned as a 3D array with dimensions (no. dofs, no. dofs, no. frequencies).

  • Add progress argument to stabilization function to control the display of the progress bar during stabilization analysis.

  • Add width, min_prom and max_prom arguments to poles_extraction function and AutoEMASdofProblem to specify the half-width of the peaks and the minimum and maximum peak prominence for pole extraction methods.

  • Add peaksplot to visualization functions to inspect peak detection in pole extraction methods.

v1.1.4

  • Add linkxaxes! function in stabilization_plot to link x-axes of poles and indicator plots when zooming.

v1.1.3

  • Solve some type instability issues in Modal extraction functions.

v1.1.2

  • Add ToeplitzMatrices packages to compute the Hankel matrix in LSCE.

v1.1.1

  • Minor bug fix in msf function.

v1.1.0

Breaking changes

  • Window functions
    • Add flattri function to generate a flat-triangular window
  • Modal extraction
    • Structure simplification. EMASdofProblem and EMAMdofProblem structures are now EMAProblem
    • Structure simplification. EMASdofSolution and EMAMdofSolution structures are now EMASolution
    • Add xcorr function to compute the cross-correlation matrix of a signal or between two signals
    • Add psd_from_tf function to compute the full Power Spectral Density (PSD) matrix of multiple signals from transfer function estimates and input PSDs
    • Add half_psd function to compute the half Power Spectral Density (PSD) matrix from the full PSD matrix or from time-domain signals
    • Rename EMAMdofStabilization structure to StabilizationAnalysis for clarity and generality
    • dpi argument of modeshape_extraction function is now passed as keyword arguments instead of positional arguments (for both Sdof and Mdof methods)
    • type argument argument of modeshape_extraction function (Mdof methods) has been renamed to modetype for clarity
    • Add OMAProblem structure to perform Operational Modal Analysis (OMA)
    • Add modes_extraction function for OMAProblem to extract modal parameters using Covariance-based SSI (CovSSI) and Data-based SSI (DataSSI) methods
    • Add halfspec_reconstruction function to reconstruct half-spectrum from extracted modal parameters from residues and poles for OMA and EMA-based methods
    • Add compute_residuals function for OMAProblem to compute the lower and upper residuals of the half-spectrum
    • Add display_poles argument to stabilization_plot function to choose which poles to display in the stabilization diagram plot

v1.0.0

Breaking changes

  • Sdof solvers
    • Refactor SdofHarmonicTimeProblem, SdofForcedTimeProblem and SdofFrequencyProblem to comply with DifferentialEquations.jl conventions

New features

  • Signal processing
    • Add csd function to compute the Cross Spectral Density (CSD) between two signals or between multiple input and output signals
    • Add support for matrix inputs in tfestimate function to compute the Frequency Response Function (FRF) between multiple input and output signals
    • Refactor tfestimate, welch, csd and spectrum functions to accept window functions instead of pre-computed window vectors
    • Add nfft parameter to tfestimate, welch, csd and spectrum functions to specify the number of FFT points to be used
  • Modal extraction
    • Add LSFit() method for modal parameter extraction using least squares fitting of the frequency response function around the resonance peak
    • Add AutoEMASdofProblem and AutoEMAMdofProblem structures and solve functions to perform automatic modal extraction based on Sdof or Mdof approximations
    • Solutions of AutoEMA problems are stored in EMASdofSolution or EMAMdofSolution structures containing the poles and the modal parameters
    • Add poles_extraction function to extract system poles using different Mdof methods:
      • Least-Squares Complex Exponential (LSCE) method
      • Least-Squares Complex Frequency-domain (LSCF) method
      • Polyreference Least-Squares Complex Frequency-domain (pLSCF) method
    • Add modeshape_extraction function to extract mode shapes from residues and poles using Mdof methods
    • Add stabilization function to perform stabilization diagram analysis using Mdof methods
    • Add stabilization_plot function to visualize stabilization diagrams
    • Stabilization results are now stored in the EMAMdofStabilization structure for plotting and further analysis
    • Add frf_reconstruction function to reconstruct FRFs from extracted modal parameters
    • Add compute_residuals function to compute the lower and upper residuals of the FRF
    • Add mode2residues function to compute residues from real modes information
    • Add modal extraction indicators:
      • Modal Overlap Factor (MOF)
      • Mode Overcomplexity Value (MOV)
      • Mode Phase Collinearity (MPC)
      • Mode Complexity Factor (MCF)
      • Mode Phase Deviation (MPD)
      • Modal Scale Factor (MSF)
      • Modal Assurance Criterion (MAC)
      • Coordinate Modal Assurance Criterion (COMAC)
      • Enhanced Coordinate Modal Assurance Criterion (ECOMAC)
      • Frequency Response Assurance Criterion (FRAC)
      • Complex Mode Indicator Function (CMIF)
      • Power Spectrum Indicator Function (PSIF)
    • Utils
      • Add modal2poles and poles2modal functions to convert between modal parameters and system poles

v0.3.0

Breaking change

  • Modify the implementation of the force window following PR #5. Thanks to @JakeZw for proposing this PR.

v0.2.0

Breaking change

  • Refactor of the visualization extension following issue #3. Theming has been removed from the plotting functions (function theme_choice is now exported).

v0.1.2

v0.1.1

  • Bug fixes in State space solvers

v0.1.0

  • Initial release of the package