Releases: sandialabs/sdynpy
Releases · sandialabs/sdynpy
v0.14.2
- Fixed some failing tests due to how error handling changed.
- Fixed some formatting on the documentation website
- Added ability to create geometry from an excel spreadsheet
- Added significant documentation on complex modes
- Added octave averaging to the PowerSpectralDensityArray class
- Fixed a bug in the local rational modelling FRF method
- Fixed a bug in the geometry plotter due to changes in pyqt and PyQt5
- Added ability to create more general sine sweeps
- Fixed issue where node colors were not displayed correctly when plotting geometry.
- Fixed issues with unescaped characters in docstrings and code
- Used Black to fix some of the code quality issues.
- Went back to PyQt5 from PyQt6
- Fixed bug in UFF reader for complex modes in dataset 55
- Added ability to use different signals as references for a CPSD
- Added ability to compute APSDs, CPSDs, and (Multiple) Coherence from time data
- Added functions to find reciprocal functions (reference/response and response/reference) and drive point functions (reference = response)
- Added more function types to the top-level namespace
- Fixed a bug in window function application where you couldn't pass a numpy array as a window function.
- Added ability to specify which part of the FRF to plot (real, imaginary, magnitude, phase)
- Added new plotting capabilities
- Plotting data as an image
- Plotting coherence overlaid with FRFs
- Added ability to put markers on the GUIPlot and standard plot functions
- Added mode markers to resynthesis plots in PolyPy
- Added a function to read modal fit data from PolyPy
- Finally added a table to select the mode to plot in the mode shape plotter, also allowing you to edit comments on the modes.
- Added a ModalTest class to represent a complete modal test with many plotting capabilities
- Fixed a bug where the maximum excitation frequency was ignored for a multiple-hammer test simulation
- Fixed a bug in PolyPy where participation factors near zero caused the poles to look unstable
- Added ability to read binary UFF files (Thanks Thomas!)
- Fixed the colormap to allow for more than 10 lines on a plot.
- Fixed a bug where rigid body modes were incorrectly created for cylindrical and spherical coordinate systems
- Overhauled the code for fitting mode shapes and added significant documentation for understanding complex modes
- Added a new FRF computation approach: Local Rational Modeling (Thanks Keaton!)
- Fixed geometry plotting due to depreciated capability in VTK
- Added ability to read geometry from an Excel spreadsheet (Thanks Brandon!)
- Added methods to offset node ids in CoordinateArrays
- Added method to strip transformations from a system object
v0.11.0
Multiple feature improvements and bugfixes:
- Added ability to reduce to surfaces when loading superelement data from exodus files
- Added ability to output transformation shapes from System objects
- Added better error messages when indexing with invalid coordinates
- Added ability to specify which modes to create local coordinate systems for when constructing geometry from exodus files
- Added significantly more rattlesnake functionality
- Read spectral data from random vibration and system identification
- Read aligned transient data from transient testing
- Read modal data from modal testing
- Read multi-stream output files
- Added ability to output rattlesnake specification files from NDDataArray objects
- Added a SDynPy Logo
- Added a method to get the coordinate directions as a string from a CoordinateArray
- Changed coordinate transforms to allow N-dimensional data transforms
- Added a method to join data objects in the abscissa dimension
- Fixed tolerances on matrix symmetry checks
- Added ability to reconstruct FRFs from complex modes.
- Fixed a bug in conversion between complex and real modes and specify the angle to collapse to
- Fixed a bug in ASD selections where if a sign was negative it would be missed
- Improved the modeshape fitter in PolyPy to be a true multireference fitter.
- Known issue: still need to implement some kind of weighting to the modeshape fitter
- Added documentation to discuss degree of freedom selection in a test
- Greatly simplified the coordinate transformation functions for shapes and data
- Added functionality for reducing shapes to common sets of degrees of freedom
- Added functionality to select nodes by global positions in a geometry
- Updated time integrate functions to not create full state-space matrices if the degrees of freedom are not needed for output or input
- Added ability to select node ids to compute global positions for
- Added ability to ignore missing degrees of freedom in coordinate transformations
- Added functions for looking at FRF and CPSD conditioning and singular values
- Updated GUIPlot so that it can compare an arbitrary number of signals instead of just two.
- Significantly improved MIMO forward and inverse calculations
- Added FRF inverse package for more flexibility
- Added plotting functions to visualize conditioning of FRF matrices
- Added a class to represent an impulse response function
- Added causality enforcement
- Added constant overlap and add functionality to split time histories into measurement frames and recombine them
- Added a T-shaker reader and new dependency (npTDMS)
- Added time alignment functions
- Added sine wave excitation to simulate_test
- Added zero-padding functions for NDDataArrays
- Added interpolation functions for NDDataArrays
- Added functions to get abscissa spacing more easily
- Moved sensor optimization into ShapeArray objects for easier access
- Fixed issue with Exodus file reader where models without elements resulted in errors
- Fixed issues with GUIPlot and duplicate coordinates
- Added ability to compress id numbers in geometry objects
- Changed connectivity arrays into uints and fixed a bug in traceline connectivity
- Added additional signal generation types
- Added Shock Response Spectra (SRS) functions in signal processing
- Added ability to do time integration using TimeHistoryArrays
- Added SRS capabilities into SDynPy data objects and ability to create SRSs from time histories
- Added ability to recover internal state information over time when time integrating
- Changed how plot_asd and compare_asd work to make them easier to use
- Added ability to compute time histories using sums of decayed sines to satisfy a specified SRS
- Updated documentation on inverses
- Updated Rattlesnake imports to allow an incomplete test to be loaded
v0.6.0
Multiple feature improvements and bugfixes:
- Added a geometry fitting module
- Added a Sdynpy Showcase to give an example that doesn't rely on external files
- Added additional content in the Modal Tutorials
- Modified VID3D reader to create subsets from 2D element locations
- Changed
NDDataArray
s to save to .npz file so the function type can be saved as well - Added a function to create a physical damping matrix from modal parameters
- Added ability to specify output degrees of freedom when requesting state space matrices from systems
- Added ability to read system identification data from new Rattlesnake versions
- Added ability to read modal data from new Rattlesnake versions
- Added ability to save Rattlesnake Random Vibration specification from SDynPy Power Spectral Density Matrices
- Added modal scale factor and orthogonality calculations
- Added ability to use PyQt6 because new M1 Macs seem to have trouble using PyQt5
- Added ability to specify max hammer frequency in simulate_test
- Fixed bug in code-coverage pattern matching
- Fixed a bug in pseudoinverse definition
- Fixed a bug in indexing
- Fixed a bug in SignalProcessingGUI
- Fixed a bug with PyVista changing names of properties
- Added a test for force broadcasting in CoordinateArrays
- Added a test for indexing
v0.5.1
Multiple feature improvements and bugfixes:
- Overhauled FRF functions to add new techniques (H2, H3, Hv)
- Updated simulate test to truncate steady state time
- Continued to work on modal tutorials for experimental modal analysis
- Added ability to specify frequency lines used in shape fitting
- Added copyright text to files for initial release
- Added a license file
- Updated clicking events to ensure they are inside the plots
- Improved docstring documentation
- Cleaned up some code using autopep8
- Added functionality for computing MIMO vibration forward and backward problems
- Added better save and load functionality for data objects
- Renamed GUIFRF to SignalProcessingGUI
- Added transmission simulator substructuring example problem to documentation
- Made outer product work for n-dimensional arrays
- Added matrix object for bookkeeping operations
- Fixed unv writer for ShapeArray
- Added significant functionality to PowerSpectralDensityArrays
- Added MIMO vibration example problem to documentation