pyYeti has tools mostly related to structural dynamics:
- Solve matrix equations of motion in the time and frequency domains
- Shock response spectrum (SRS)
- Fatigue damage equivalent power spectral densities (PSD)
- Hurty-Craig-Bampton model checks
- Coupled loads analysis tools
- Statistics tools for computing k-factors (for tolerance bounds and intervals) and for order statistics
- A data-cursor for interacting with 2D/3D matplotlib plots
- Eigensystem Realization Algorithm
- Force limiting analysis tools
- Read/write Nastran output4 (.op4) files
- Limited capability to read Nastran output2 (.op2) files
- Rainflow cycle counting
- Resample data with the Lanczos method
- A "vectorized" writing module
- Eigensolution with the subspace iteration method
- Tools for working with the "nas2cam" Nastran DMAP
- Other miscellaneous tools
pyYeti runs on Python 3.10 or later. The dependencies are NumPy, SciPy, Matplotlib, pandas and setuptools. These are all conveniently provided by the Anaconda Python distribution: https://www.anaconda.com/distribution/.
You can install pyYeti via pip
:
python -m pip install pyyeti
or:
python -m pip install --user --upgrade pyyeti
You can also install from source, doing something like this:
git clone https://github.com/twmacro/pyyeti.git
cd pyyeti
python -m build -n
cd dist
python -m pip install <filename>.whl
Note that for the C version of the rainflow cycle counter, you also need a C compiler installed. However, the speed of the pure Python version is on par with the C version if you have Numba installed. In fact, the C version may be removed in the future after making Numba a required dependency.
pyYeti documentation is here:
http://pyyeti.readthedocs.org/
The documentation contains several tutorials in the documentation. These are also available (in their original form) as Jupyter notebooks:
https://github.com/twmacro/pyyeti/tree/master/docs/tutorials
BSD. See LICENSE.txt
Contributions are much appreciated. Bug reports, documentation updates, feature requests, and code enhancements are all great ways to contribute.