PyPFD


NamePyPFD JSON
Version 2025.0.0.8 PyPI version JSON
download
home_pageNone
SummaryPFDavg calculation
upload_time2025-10-12 21:25:43
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseNone
keywords sis sif iec61508 iec61511 pfd reliability functional safety 1oo1 1oo2 2oo3 2oo2 1oo3
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            Introduction

PyPFD is a Python library designed to calculate the Probability of Failure on Demand (PFD) in accordance with the international safety standards IEC 61508 and IEC 61511. It provides a way to estimate the reliability of Safety Devices, making it easier for engineers and safety professionals to perform consistent SIS assessments.

It allows you to evaluate PFDavg for various architectures (1oo1, 1oo2, 2oo2, 2oo3, 1oo3, and KooN using a general formula).

The library provides the following formulas:


PyPFDRBDAvg:

pfd_RBD_avg_1oo1(λ_du, λ_dd, T1_month, MTTR)

pfd_RBD_avg_1oo1_pt(λ_du, λ_dd, T1_month, T2_month, PDC, MTTR)

pfd_RBD_avg_1oo2(λ_du, λ_dd, β, βd, T1_month, MTTR)

pfd_RBD_avg_1oo2_pt(λ_du, λ_dd, β, βd, T1_month, T2_month, PDC, MTTR)

pfd_RBD_avg_1oo3(λ_du, λ_dd, β, βd, T1_month, MTTR)

pfd_RBD_avg_2oo2(λ_du, λ_dd, T1_month, MTTR)

pfd_RBD_avg_2oo2_pt(λ_du, λ_dd, T1_month, T2_month, PDC, MTTR)

pfd_RBD_avg_2oo3(λ_du, λ_dd, β, βd, T1_month, MTTR)

pfd_RBD_avg_KooN(K, N, λ_du, λ_dd, β, βd, T1_month, MTTR)

pfd_RBD_avg_KooN_1pt(K,N,λ_du,λ_dd,β,βd,T1_month,T_pt1_month,PDC,MTTR)

PyPFDMarkov:

pfd_Mkv_avg_1oo1_2pt(λ_du: float,λ_dd: float,λ_s: float,T_pt1_month: float,T_pt2_month: float,T1_month: float,PDC1: float,PDC2: float,MTTR: float)


Parameters:

λ_du = dangerous undetected failure rate per hour

λ_dd = dangerous detected failure rate per hour

β = common cause for safe failure in %

βd = common cause for unsafe failure in %

T1_month = test interval in months (with PDC effectiveness)

T2_month = test interval in months for "as good as new" condition

PDC = partial diagnostic coverage of the test (% capable of revealing dangerous undetected failures)

MTTR = mean time to repair

All formulas assume identical devices. For combinations of different devices or different test intervals, see the formulas below (currently in development and not validated yet):

def pfhKooN(K, N, λ_d, β, T1_month):
def pfd_avg_1oo2_dif(λ_du1, λ_dd1, T1_month1, MTTR1, β1, βd1,
                      λ_du2, λ_dd2, T1_month2, MTTR2, β2, βd2):

def pfd_avg_2oo3_dif(λ_du1, λ_dd1, T1_month1, MTTR1, β1, βd1,
                      λ_du2, λ_dd2, T1_month2, MTTR2, β2, βd2,
                      λ_du3, λ_dd3, T1_month3, MTTR3, β3, βd3):

def pfd_avg_1oo3_dif(λ_du1, λ_dd1, T1_month1, MTTR1, β1, βd1,
                      λ_du2, λ_dd2, T1_month2, MTTR2, β2, βd2,
                      λ_du3, λ_dd3, T1_month3, MTTR3, β3, βd3):

Roadmap

-Test and validate all existing formulas.

-Create a GitHub repository explaining the logic behind the formulas.

-Develop default reliability data for common devices (Analog Transmitters, Valves, and Logic Solvers).


Highlights

-These formulas, combined with xlwings Lite in Excel, provide an efficient and user-friendly way to perform SIS assessments.

-If you need a specific architecture not present in the library, feel free to contact me for assistance.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "PyPFD",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "SIS, SIF, IEC61508, IEC61511, PFD, reliability, functional safety, 1oo1, 1oo2, 2oo3, 2oo2, 1oo3",
    "author": null,
    "author_email": "Rafael Rocha <rafa.rocha@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/c5/c4/82bedd7c1d7c1097457bb2d703cc48327c173717485d691b72e019855ad3/pypfd-2025.0.0.8.tar.gz",
    "platform": null,
    "description": "Introduction\r\n\r\nPyPFD is a Python library designed to calculate the Probability of Failure on Demand (PFD) in accordance with the international safety standards IEC 61508 and IEC 61511. It provides a way to estimate the reliability of Safety Devices, making it easier for engineers and safety professionals to perform consistent SIS assessments.\r\n\r\nIt allows you to evaluate PFDavg for various architectures (1oo1, 1oo2, 2oo2, 2oo3, 1oo3, and KooN using a general formula).\r\n\r\nThe library provides the following formulas:\r\n\r\n\r\nPyPFDRBDAvg:\r\n\r\npfd_RBD_avg_1oo1(\u03bb_du, \u03bb_dd, T1_month, MTTR)\r\n\r\npfd_RBD_avg_1oo1_pt(\u03bb_du, \u03bb_dd, T1_month, T2_month, PDC, MTTR)\r\n\r\npfd_RBD_avg_1oo2(\u03bb_du, \u03bb_dd, \u03b2, \u03b2d, T1_month, MTTR)\r\n\r\npfd_RBD_avg_1oo2_pt(\u03bb_du, \u03bb_dd, \u03b2, \u03b2d, T1_month, T2_month, PDC, MTTR)\r\n\r\npfd_RBD_avg_1oo3(\u03bb_du, \u03bb_dd, \u03b2, \u03b2d, T1_month, MTTR)\r\n\r\npfd_RBD_avg_2oo2(\u03bb_du, \u03bb_dd, T1_month, MTTR)\r\n\r\npfd_RBD_avg_2oo2_pt(\u03bb_du, \u03bb_dd, T1_month, T2_month, PDC, MTTR)\r\n\r\npfd_RBD_avg_2oo3(\u03bb_du, \u03bb_dd, \u03b2, \u03b2d, T1_month, MTTR)\r\n\r\npfd_RBD_avg_KooN(K, N, \u03bb_du, \u03bb_dd, \u03b2, \u03b2d, T1_month, MTTR)\r\n\r\npfd_RBD_avg_KooN_1pt(K,N,\u03bb_du,\u03bb_dd,\u03b2,\u03b2d,T1_month,T_pt1_month,PDC,MTTR)\r\n\r\nPyPFDMarkov:\r\n\r\npfd_Mkv_avg_1oo1_2pt(\u03bb_du: float,\u03bb_dd: float,\u03bb_s: float,T_pt1_month: float,T_pt2_month: float,T1_month: float,PDC1: float,PDC2: float,MTTR: float)\r\n\r\n\r\nParameters:\r\n\r\n\u03bb_du = dangerous undetected failure rate per hour\r\n\r\n\u03bb_dd = dangerous detected failure rate per hour\r\n\r\n\u03b2 = common cause for safe failure in %\r\n\r\n\u03b2d = common cause for unsafe failure in %\r\n\r\nT1_month = test interval in months (with PDC effectiveness)\r\n\r\nT2_month = test interval in months for \"as good as new\" condition\r\n\r\nPDC = partial diagnostic coverage of the test (% capable of revealing dangerous undetected failures)\r\n\r\nMTTR = mean time to repair\r\n\r\nAll formulas assume identical devices. For combinations of different devices or different test intervals, see the formulas below (currently in development and not validated yet):\r\n\r\ndef pfhKooN(K, N, \u03bb_d, \u03b2, T1_month):\r\ndef pfd_avg_1oo2_dif(\u03bb_du1, \u03bb_dd1, T1_month1, MTTR1, \u03b21, \u03b2d1,\r\n                      \u03bb_du2, \u03bb_dd2, T1_month2, MTTR2, \u03b22, \u03b2d2):\r\n\r\ndef pfd_avg_2oo3_dif(\u03bb_du1, \u03bb_dd1, T1_month1, MTTR1, \u03b21, \u03b2d1,\r\n                      \u03bb_du2, \u03bb_dd2, T1_month2, MTTR2, \u03b22, \u03b2d2,\r\n                      \u03bb_du3, \u03bb_dd3, T1_month3, MTTR3, \u03b23, \u03b2d3):\r\n\r\ndef pfd_avg_1oo3_dif(\u03bb_du1, \u03bb_dd1, T1_month1, MTTR1, \u03b21, \u03b2d1,\r\n                      \u03bb_du2, \u03bb_dd2, T1_month2, MTTR2, \u03b22, \u03b2d2,\r\n                      \u03bb_du3, \u03bb_dd3, T1_month3, MTTR3, \u03b23, \u03b2d3):\r\n\r\nRoadmap\r\n\r\n-Test and validate all existing formulas.\r\n\r\n-Create a GitHub repository explaining the logic behind the formulas.\r\n\r\n-Develop default reliability data for common devices (Analog Transmitters, Valves, and Logic Solvers).\r\n\r\n\r\nHighlights\r\n\r\n-These formulas, combined with xlwings Lite in Excel, provide an efficient and user-friendly way to perform SIS assessments.\r\n\r\n-If you need a specific architecture not present in the library, feel free to contact me for assistance.\r\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "PFDavg calculation",
    "version": "2025.0.0.8",
    "project_urls": null,
    "split_keywords": [
        "sis",
        " sif",
        " iec61508",
        " iec61511",
        " pfd",
        " reliability",
        " functional safety",
        " 1oo1",
        " 1oo2",
        " 2oo3",
        " 2oo2",
        " 1oo3"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b21b4693b923d1996e7ea0970c825d89eb1b105c7213d0cfd8ba4541e6ff5f7a",
                "md5": "fb75147f511942dda091c402bb8420cd",
                "sha256": "5b585a16506acf34e85aca60127739669d1896b4bf5a6e8cd12c97acae66dd65"
            },
            "downloads": -1,
            "filename": "pypfd-2025.0.0.8-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "fb75147f511942dda091c402bb8420cd",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 9492,
            "upload_time": "2025-10-12T21:25:42",
            "upload_time_iso_8601": "2025-10-12T21:25:42.393779Z",
            "url": "https://files.pythonhosted.org/packages/b2/1b/4693b923d1996e7ea0970c825d89eb1b105c7213d0cfd8ba4541e6ff5f7a/pypfd-2025.0.0.8-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c5c482bedd7c1d7c1097457bb2d703cc48327c173717485d691b72e019855ad3",
                "md5": "7413d75aca74826ae93ce2e5a7322053",
                "sha256": "1e08974216a5306b374be4ee8e59a0cc34d6d99abc0ce8aac67be53ec015c935"
            },
            "downloads": -1,
            "filename": "pypfd-2025.0.0.8.tar.gz",
            "has_sig": false,
            "md5_digest": "7413d75aca74826ae93ce2e5a7322053",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 9060,
            "upload_time": "2025-10-12T21:25:43",
            "upload_time_iso_8601": "2025-10-12T21:25:43.278343Z",
            "url": "https://files.pythonhosted.org/packages/c5/c4/82bedd7c1d7c1097457bb2d703cc48327c173717485d691b72e019855ad3/pypfd-2025.0.0.8.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-10-12 21:25:43",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "pypfd"
}
        
Elapsed time: 3.27034s