# FFPACK - Fatigue and Fracture PACKage
![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/dpzhuX/ffpack/python-package.yml?color=brightgreen&label=Test&logo=github&logoColor=white)
![PyPI](https://img.shields.io/pypi/v/ffpack?color=brightgreen&label=PyPI&logo=python&logoColor=white)
![GitHub](https://img.shields.io/github/license/dpzhuX/ffpack?color=brightgreen&logo=gnu&label=License&logoColor=white)
![Read the Docs](https://img.shields.io/readthedocs/ffpack?color=brigthgreen&label=Docs&logo=read%20the%20docs&logoColor=white)
[![Downloads](https://static.pepy.tech/personalized-badge/ffpack?period=total&units=international_system&left_color=grey&right_color=brightgreen&left_text=Downloads)](https://pepy.tech/project/ffpack)
[![DOI](https://img.shields.io/badge/DOI-10.5281/zenodo.7478424-blue.svg?logo=Buffer&logoColor=white)](https://doi.org/10.5281/zenodo.7478424)
## Purpose
`FFPACK` ( Fatigue and Fracture PACKage ) is an open-source Python library for fatigue and fracture analysis. It supports ASTM cycle counting, load sequence generation, fatigue damage evaluation, etc. A lot of features are under active development. `FFPACK` is designed to help engineers analyze fatigue and fracture behavior in engineering practice.
## Installation
`FFPACK` can be installed via [PyPI](https://pypi.org/project/ffpack/):
```bash
pip install ffpack
```
## Usage
The following example shows the usage of ASTM rainflow counting,
```python
# Import the ASTM rainflow counting function
from ffpack.lcc import astmRainflowCounting
# Prepare the data
data = [ -2.0, 1.0, -3.0, 5.0, -1.0, 3.0, -4.0, 4.0, -2.0 ]
# Get counting results
results = astmRainflowCounting( data )
```
See the package document for more details and examples.
## Status
`FFPACK` is currently under active development.
## Contents
* Fatigue damage model
* Palmgren-miner damage model
* Naive Palmgren-miner damage model
* Classic Palmgren-miner damage model
* Load counting and correction
* ASTM counting
* ASTM level crossing counting
* ASTM peak counting
* ASTM simple range counting
* ASTM range pair counting
* ASTM rainflow counting
* ASTM rainflow counting for repeating history
* Johannesson counting
* Johannesson min max counting
* Rychlik counting
* Rychlik rainflow counting
* Four point counting
* Four point rainflow counting
* Mean stress correction
* Goodman correction
* Soderberg correction
* Gerber correction
* Load sequence generator
* Random walk
* Uniform random walk
* Autoregressive moving average model
* Normal autoregressive (AR) model
* Normal moving average (MA) model
* Normal ARMA model
* Normal ARIMA model
* Sequence from spectrum
* Spectral representation
* Load spectra and matrices
* Cycle counting matrix
* ASTM simple range counting matrix
* ASTM range pair counting matrix
* ASTM rainflow counting matrix
* ASTM rainflow counting matrix for repeating history
* Johannesson min max counting matrix
* Rychlik rainflow counting matrix
* Four point rainflow counting matrix
* Wave spectra
* Jonswap spectrum
* Pierson Moskowitz spectrum
* ISSC spectrum
* Gaussian Swell spectrum
* Ochi-Hubble spectrum
* Wind spectra
* Davenport spectrum with drag coefficient
* Davenport spectrum with roughness length
* EC1 spectrum
* IEC spectrum
* API spectrum
* Sequence spectra
* Periodogram spectrum
* Welch spectrum
* Random and probabilistic model
* Metropolis-Hastings algorithm
* Metropolis-Hastings sampler
* Au modified Metropolis-Hastings sampler
* Nataf algorithm
* Nataf transformation
* Risk and reliability model
* First order second moment
* Mean value FOSM
* First order reliability method
* Hasofer-Lind-Rackwitz-Fiessler FORM
* Constrained optimization FORM
* Second order reliability method
* Breitung SORM
* Tvedt SORM
* Hohenbichler and Rackwitz SORM
* Simulation based reliability method
* Subset simulation
* Utility
* Aggregation
* Cycle counting aggregation
* Counting matrix
* Counting results to counting matrix
* Derivatives
* Derivative
* Central derivative weights
* Gradient
* Hessian matrix
* Digitization
* Sequence digitization
* Fitter
* SN curve fitter
* Sequence filter
* Sequence peakValley filter
* Sequence hysteresis filter
## Document
You can find the latest documentation for setting up `FFPACK` at the [Read the Docs site](https://ffpack.readthedocs.io/en/latest/).
## Credits
This project was made possible by the help from [DM2L lab](https://dm2l.uconn.edu/).
## License
[GPLv3](https://github.com/dpzhuX/ffpack/blob/main/LICENSE)
Raw data
{
"_id": null,
"home_page": "https://pypi.org/project/ffpack",
"name": "ffpack",
"maintainer": "Dongping Zhu",
"docs_url": null,
"requires_python": ">=3.7,<3.12",
"maintainer_email": "",
"keywords": "fatigue,fracture,load,reliability",
"author": "Dongping Zhu",
"author_email": "",
"download_url": "https://files.pythonhosted.org/packages/75/15/26a3379e2e8806f0796af6e552f802c80a59f7277690e78d21a96bd619ec/ffpack-0.3.3.tar.gz",
"platform": null,
"description": "# FFPACK - Fatigue and Fracture PACKage\n\n![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/dpzhuX/ffpack/python-package.yml?color=brightgreen&label=Test&logo=github&logoColor=white)\n![PyPI](https://img.shields.io/pypi/v/ffpack?color=brightgreen&label=PyPI&logo=python&logoColor=white)\n![GitHub](https://img.shields.io/github/license/dpzhuX/ffpack?color=brightgreen&logo=gnu&label=License&logoColor=white)\n![Read the Docs](https://img.shields.io/readthedocs/ffpack?color=brigthgreen&label=Docs&logo=read%20the%20docs&logoColor=white)\n[![Downloads](https://static.pepy.tech/personalized-badge/ffpack?period=total&units=international_system&left_color=grey&right_color=brightgreen&left_text=Downloads)](https://pepy.tech/project/ffpack)\n[![DOI](https://img.shields.io/badge/DOI-10.5281/zenodo.7478424-blue.svg?logo=Buffer&logoColor=white)](https://doi.org/10.5281/zenodo.7478424)\n\n\n## Purpose\n`FFPACK` ( Fatigue and Fracture PACKage ) is an open-source Python library for fatigue and fracture analysis. It supports ASTM cycle counting, load sequence generation, fatigue damage evaluation, etc. A lot of features are under active development. `FFPACK` is designed to help engineers analyze fatigue and fracture behavior in engineering practice.\n\n## Installation\n\n`FFPACK` can be installed via [PyPI](https://pypi.org/project/ffpack/):\n\n```bash\npip install ffpack\n```\n\n## Usage\n\nThe following example shows the usage of ASTM rainflow counting,\n\n```python\n# Import the ASTM rainflow counting function\nfrom ffpack.lcc import astmRainflowCounting\n\n# Prepare the data\ndata = [ -2.0, 1.0, -3.0, 5.0, -1.0, 3.0, -4.0, 4.0, -2.0 ]\n\n# Get counting results\nresults = astmRainflowCounting( data )\n```\n\nSee the package document for more details and examples.\n\n## Status\n\n`FFPACK` is currently under active development. \n\n## Contents\n\n* Fatigue damage model\n * Palmgren-miner damage model\n * Naive Palmgren-miner damage model\n * Classic Palmgren-miner damage model\n\n* Load counting and correction\n * ASTM counting\n * ASTM level crossing counting\n * ASTM peak counting\n * ASTM simple range counting\n * ASTM range pair counting\n * ASTM rainflow counting\n * ASTM rainflow counting for repeating history\n * Johannesson counting\n * Johannesson min max counting\n * Rychlik counting\n * Rychlik rainflow counting\n * Four point counting\n * Four point rainflow counting\n * Mean stress correction\n * Goodman correction\n * Soderberg correction\n * Gerber correction\n\n* Load sequence generator\n * Random walk\n * Uniform random walk\n * Autoregressive moving average model\n * Normal autoregressive (AR) model\n * Normal moving average (MA) model\n * Normal ARMA model\n * Normal ARIMA model\n * Sequence from spectrum\n * Spectral representation\n\n* Load spectra and matrices\n * Cycle counting matrix\n * ASTM simple range counting matrix\n * ASTM range pair counting matrix\n * ASTM rainflow counting matrix\n * ASTM rainflow counting matrix for repeating history\n * Johannesson min max counting matrix\n * Rychlik rainflow counting matrix\n * Four point rainflow counting matrix\n * Wave spectra\n * Jonswap spectrum\n * Pierson Moskowitz spectrum\n * ISSC spectrum\n * Gaussian Swell spectrum\n * Ochi-Hubble spectrum\n * Wind spectra\n * Davenport spectrum with drag coefficient\n * Davenport spectrum with roughness length\n * EC1 spectrum\n * IEC spectrum\n * API spectrum\n * Sequence spectra\n * Periodogram spectrum\n * Welch spectrum\n\n* Random and probabilistic model\n * Metropolis-Hastings algorithm\n * Metropolis-Hastings sampler\n * Au modified Metropolis-Hastings sampler\n * Nataf algorithm\n * Nataf transformation\n\n* Risk and reliability model\n * First order second moment\n * Mean value FOSM\n * First order reliability method\n * Hasofer-Lind-Rackwitz-Fiessler FORM\n * Constrained optimization FORM\n * Second order reliability method\n * Breitung SORM\n * Tvedt SORM\n * Hohenbichler and Rackwitz SORM\n * Simulation based reliability method\n * Subset simulation\n\n* Utility \n * Aggregation\n * Cycle counting aggregation\n * Counting matrix\n * Counting results to counting matrix\n * Derivatives\n * Derivative\n * Central derivative weights\n * Gradient\n * Hessian matrix\n * Digitization\n * Sequence digitization\n * Fitter\n * SN curve fitter\n * Sequence filter\n * Sequence peakValley filter\n * Sequence hysteresis filter\n \n## Document\n\nYou can find the latest documentation for setting up `FFPACK` at the [Read the Docs site](https://ffpack.readthedocs.io/en/latest/).\n\n## Credits\n\nThis project was made possible by the help from [DM2L lab](https://dm2l.uconn.edu/).\n\n## License\n\n[GPLv3](https://github.com/dpzhuX/ffpack/blob/main/LICENSE)\n\n",
"bugtrack_url": null,
"license": "",
"summary": "Fatigue and fracture package",
"version": "0.3.3",
"project_urls": {
"Documentation": "https://ffpack.readthedocs.io/en/latest/",
"Homepage": "https://pypi.org/project/ffpack",
"Repository": "https://github.com/dpzhuX/ffpack"
},
"split_keywords": [
"fatigue",
"fracture",
"load",
"reliability"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "f04140c370b82d9e37c84a6aff4d4b72508dcb7f2e1f00bfcf143493cd530277",
"md5": "f96447b06a810d54bfa22dd86b431ec3",
"sha256": "e3955cb3f36ac6fb427ba9cd0289d69f1f87405a4f51d36b634a0bc2f99fdc79"
},
"downloads": -1,
"filename": "ffpack-0.3.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "f96447b06a810d54bfa22dd86b431ec3",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7,<3.12",
"size": 60498,
"upload_time": "2023-05-20T19:16:41",
"upload_time_iso_8601": "2023-05-20T19:16:41.148802Z",
"url": "https://files.pythonhosted.org/packages/f0/41/40c370b82d9e37c84a6aff4d4b72508dcb7f2e1f00bfcf143493cd530277/ffpack-0.3.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "751526a3379e2e8806f0796af6e552f802c80a59f7277690e78d21a96bd619ec",
"md5": "28c68038a582ac40556ab0ebdc8a40c8",
"sha256": "bfac76ca4e390dc157c3ffe5714d935facd01bab5b36d7f6d65964948f475ce6"
},
"downloads": -1,
"filename": "ffpack-0.3.3.tar.gz",
"has_sig": false,
"md5_digest": "28c68038a582ac40556ab0ebdc8a40c8",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7,<3.12",
"size": 45554,
"upload_time": "2023-05-20T19:16:43",
"upload_time_iso_8601": "2023-05-20T19:16:43.201240Z",
"url": "https://files.pythonhosted.org/packages/75/15/26a3379e2e8806f0796af6e552f802c80a59f7277690e78d21a96bd619ec/ffpack-0.3.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-05-20 19:16:43",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "dpzhuX",
"github_project": "ffpack",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "ffpack"
}