Skip to content

twmacro/pyyeti

Repository files navigation

Build Status Documentation Status Coverage Status License: BSD 3-Clause PyPI Code style: black

pyYeti

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

Installation

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.

Documentation

pyYeti documentation is here:

http://pyyeti.readthedocs.org/

Tutorials

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

License

BSD. See LICENSE.txt

Contributing to pyYeti

Contributions are much appreciated. Bug reports, documentation updates, feature requests, and code enhancements are all great ways to contribute.

About

Tools mostly related to structural dynamics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages