rfcnt


Namerfcnt JSON
Version 0.5.0 PyPI version JSON
download
home_pagehttp://github.com/a-ma72/rainflow
SummaryPython interface for rainflow counting
upload_time2025-07-22 16:22:14
maintainerNone
docs_urlNone
authorAndreas Martin
requires_pythonNone
licenseBSD-2-Clause
keywords rainflow counting
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ## **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.7.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": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": "rainflow counting",
    "author": "Andreas Martin",
    "author_email": null,
    "download_url": null,
    "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.7.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",
    "bugtrack_url": null,
    "license": "BSD-2-Clause",
    "summary": "Python interface for rainflow counting",
    "version": "0.5.0",
    "project_urls": {
        "Homepage": "http://github.com/a-ma72/rainflow"
    },
    "split_keywords": [
        "rainflow",
        "counting"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "99c99d65dfbb739d302f2856c0f585e56d4446263a54858465d57788b101a707",
                "md5": "e03f7c539719d2dd60fa7e05b8595873",
                "sha256": "c6ecfdeddfccf0b89eaeec960d70aaa8114f19bd19490eabcf97b654f80a7f65"
            },
            "downloads": -1,
            "filename": "rfcnt-0.5.0-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "e03f7c539719d2dd60fa7e05b8595873",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 192853,
            "upload_time": "2025-07-22T16:22:14",
            "upload_time_iso_8601": "2025-07-22T16:22:14.398707Z",
            "url": "https://files.pythonhosted.org/packages/99/c9/9d65dfbb739d302f2856c0f585e56d4446263a54858465d57788b101a707/rfcnt-0.5.0-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "50a9c0a759cdf61d5bd8ff92e842ebb01530e95bbf0306253883c430786cb97c",
                "md5": "c9586281cf8d5772a9dbaffbdb879de6",
                "sha256": "23d680dd9afed2063190ae9180f692217c3ec20e74291953f2aecb111245c695"
            },
            "downloads": -1,
            "filename": "rfcnt-0.5.0-cp39-cp39-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "c9586281cf8d5772a9dbaffbdb879de6",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 192847,
            "upload_time": "2025-07-22T16:22:23",
            "upload_time_iso_8601": "2025-07-22T16:22:23.453964Z",
            "url": "https://files.pythonhosted.org/packages/50/a9/c0a759cdf61d5bd8ff92e842ebb01530e95bbf0306253883c430786cb97c/rfcnt-0.5.0-cp39-cp39-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-22 16:22:14",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "a-ma72",
    "github_project": "rainflow",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "rfcnt"
}
        
Elapsed time: 2.76827s