## **rfcnt** a rainflow counting algorithm Python package
### "Rainflow Counting" consists of four main steps:
1. Hysteresis Filtering
2. Peak-Valley Filtering
3. Discretization
4. Four Point Counting Method:
* D
/ \ Closed, if min(B,C) >= min(A,D) && max(B,C) <= max(A,D)
B *<--/ Slope B-C is counted and removed from residue
/ \ /
/ * C
\ /
* A
These steps are fully documented in standards such as
ASTM E1049 "Standard Practices for Cycle Counting in Fatigue Analysis" [1]
This implementation uses the 4-point algorithm mentioned in [3,4] and the 3-point HCM method proposed in [2] as well as the ASTM E 1049 (2011) standard in [1].
To take the residue into account, you may implement a custom method or use some
predefined functions.
### Install
pip install {packagename}.tar.gz --no-build-isolation --no-deps
where _{packagename}_ is the current package release, for example:
pip install rfcnt-0.4.6.tar.gz --no-build-isolation --no-deps
### Test
_rfcnt_ packages include some unit tests, which can be run:
python -m rfcnt.run_tests
### Examples
For a quick introduction you can run and inspect a small example:
python -m rfcnt.run_examples
![](jupyter_screenshot.png)
---
### References:
[1] "Standard Practices for Cycle Counting in Fatigue Analysis."
ASTM Standard E 1049, 1985 (2011).
West Conshohocken, PA: ASTM International, 2011.
[2] "Rainflow - HCM / Ein Hysteresisschleifen-Zaehlalgorithmus auf werkstoffmechanischer Grundlage"
U.H. Clormann, T. Seeger
1985 TU Darmstadt, Fachgebiet Werkstoffmechanik
[3] "Zaehlverfahren zur Bildung von Kollektiven und Matrizen aus Zeitfunktionen"
FVA-Richtlinie, 2010.
[https://fva-net.de/fileadmin/content/Richtlinien/FVA-Richtlinie_Zaehlverfahren_2010.pdf]
[4] Siemens Product Lifecycle Management Software Inc., 2018.
[https://community.plm.automation.siemens.com/t5/Testing-Knowledge-Base/Rainflow-Counting/ta-p/383093]
Raw data
{
"_id": null,
"home_page": "http://github.com/a-ma72/rainflow",
"name": "rfcnt",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "rainflow counting",
"author": "Andreas Martin",
"author_email": "",
"download_url": "https://files.pythonhosted.org/packages/7a/ad/cba672075af88cacb81ac6134a7f86e057914712bcd1e988efdfd0e5d8e1/rfcnt-0.4.6.tar.gz",
"platform": null,
"description": "## **rfcnt** a rainflow counting algorithm Python package\r\n \r\n### \"Rainflow Counting\" consists of four main steps:\r\n\r\n 1. Hysteresis Filtering \r\n 2. Peak-Valley Filtering \r\n 3. Discretization \r\n 4. Four Point Counting Method: \r\n\r\n * D \r\n / \\ Closed, if min(B,C) >= min(A,D) && max(B,C) <= max(A,D) \r\n B *<--/ Slope B-C is counted and removed from residue \r\n / \\ / \r\n / * C \r\n \\ / \r\n * A \r\n\r\nThese steps are fully documented in standards such as \r\nASTM E1049 \"Standard Practices for Cycle Counting in Fatigue Analysis\" [1] \r\nThis implementation uses the 4-point algorithm mentioned in [3,4] and the 3-point HCM method proposed in [2] as well as the ASTM E 1049 (2011) standard in [1].\r\nTo take the residue into account, you may implement a custom method or use some\r\npredefined functions.\r\n \r\n### Install\r\n pip install {packagename}.tar.gz --no-build-isolation --no-deps\r\nwhere _{packagename}_ is the current package release, for example:\r\n\r\n pip install rfcnt-0.4.6.tar.gz --no-build-isolation --no-deps\r\n\r\n### Test\r\n_rfcnt_ packages include some unit tests, which can be run:\r\n\r\n python -m rfcnt.run_tests\r\n \r\n### Examples\r\nFor a quick introduction you can run and inspect a small example:\r\n\r\n python -m rfcnt.run_examples\r\n\r\n![](jupyter_screenshot.png)\r\n\r\n---\r\n### References:\r\n[1] \"Standard Practices for Cycle Counting in Fatigue Analysis.\" \r\n ASTM Standard E 1049, 1985 (2011).\r\n West Conshohocken, PA: ASTM International, 2011. \r\n[2] \"Rainflow - HCM / Ein Hysteresisschleifen-Zaehlalgorithmus auf werkstoffmechanischer Grundlage\" \r\n U.H. Clormann, T. Seeger \r\n 1985 TU Darmstadt, Fachgebiet Werkstoffmechanik \r\n[3] \"Zaehlverfahren zur Bildung von Kollektiven und Matrizen aus Zeitfunktionen\" \r\n FVA-Richtlinie, 2010. \r\n [https://fva-net.de/fileadmin/content/Richtlinien/FVA-Richtlinie_Zaehlverfahren_2010.pdf] \r\n[4] Siemens Product Lifecycle Management Software Inc., 2018. \r\n [https://community.plm.automation.siemens.com/t5/Testing-Knowledge-Base/Rainflow-Counting/ta-p/383093] \r\n\r\n\r\n",
"bugtrack_url": null,
"license": "BSD-2-Clause License",
"summary": "Python interface for rainflow counting",
"version": "0.4.6",
"split_keywords": [
"rainflow",
"counting"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "f090293ad95a54a0e3f34ab776f72df1696ca77caca9fe8e77b060a8e7b02c31",
"md5": "3fcfbec5612cecb19452955d2b4b580c",
"sha256": "20ab3fda6f9f53a3219bfb9592dbf3a4abcb863d706deb6ac5fa8993af2fe3dd"
},
"downloads": -1,
"filename": "rfcnt-0.4.6-cp39-cp39-win_amd64.whl",
"has_sig": false,
"md5_digest": "3fcfbec5612cecb19452955d2b4b580c",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 181630,
"upload_time": "2023-01-03T20:46:44",
"upload_time_iso_8601": "2023-01-03T20:46:44.836807Z",
"url": "https://files.pythonhosted.org/packages/f0/90/293ad95a54a0e3f34ab776f72df1696ca77caca9fe8e77b060a8e7b02c31/rfcnt-0.4.6-cp39-cp39-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "7aadcba672075af88cacb81ac6134a7f86e057914712bcd1e988efdfd0e5d8e1",
"md5": "5fd154d5838a53074d784998704ef119",
"sha256": "84a2b990027259b2bda4760ca2f505752be7663deaa50753d8bde4aecfb9f253"
},
"downloads": -1,
"filename": "rfcnt-0.4.6.tar.gz",
"has_sig": false,
"md5_digest": "5fd154d5838a53074d784998704ef119",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 210704,
"upload_time": "2023-01-03T20:46:46",
"upload_time_iso_8601": "2023-01-03T20:46:46.681517Z",
"url": "https://files.pythonhosted.org/packages/7a/ad/cba672075af88cacb81ac6134a7f86e057914712bcd1e988efdfd0e5d8e1/rfcnt-0.4.6.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-01-03 20:46:46",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "a-ma72",
"github_project": "rainflow",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "rfcnt"
}