{"id":19013354,"url":"https://github.com/z41z/sp-computed","last_synced_at":"2026-06-22T22:31:55.714Z","repository":{"id":57366615,"uuid":"196349508","full_name":"z41z/sp-computed","owner":"z41z","description":"Common computed function for firefighter","archived":false,"fork":false,"pushed_at":"2019-07-15T06:22:57.000Z","size":15,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-03-29T10:06:46.038Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/z41z.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-07-11T08:10:07.000Z","updated_at":"2019-07-15T06:22:58.000Z","dependencies_parsed_at":"2022-08-23T20:10:45.873Z","dependency_job_id":null,"html_url":"https://github.com/z41z/sp-computed","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/z41z/sp-computed","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/z41z%2Fsp-computed","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/z41z%2Fsp-computed/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/z41z%2Fsp-computed/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/z41z%2Fsp-computed/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/z41z","download_url":"https://codeload.github.com/z41z/sp-computed/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/z41z%2Fsp-computed/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34668500,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-22T02:00:06.391Z","response_time":106,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-08T19:23:35.697Z","updated_at":"2026-06-22T22:31:55.697Z","avatar_url":"https://github.com/z41z.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# sp-computed\n\nCommon computed function for firefighter\n\n## Install\n\n``` node\n  npm i sp-computed //or yarn add sp-computed\n```\n\n## CDN\n\n``` js\n  \u003cscript src=\"https://unpkg.com/sp-computed/dist/index.min.js\"\u003e\u003c/script\u003e\n  \u003cscript\u003e\n    let {\t\n      dbpmycbl,\n      eyhtcbl,\n      eyhttj,\n      gbpmhhyl,\n      gbpmqcss,\n      gfcbl,\n      gfmhjmj,\n      gfmhjtj,\n      jzwhcsjysl,\n      jzwsqsl,\n      ltdcjzwhcsjysl,\n      ltdcjzwsqsl,\n      pmgrsmj,\n      pmhhyl,\n      pmhhyzl,\n      pml,\n      pmmhyscbgs,\n      pmmhyscbl,\n      pmqsl,\n      pmycbl,\n      pmycmj,\n      pzpmysl,\n      yhqljglqysl,\n      yhqsqsl,\n      yhqzhglqysl,\n      ytljglqysl,\n      ytsqsl,\n      ytzhglqysl} = __Computed\n  \u003c/script\u003e\n```\n\n### Usage\n``` js\n  const {\n    dbpmycbl,\n    eyhtcbl,\n    eyhttj,\n    gbpmhhyl,\n    gbpmqcss,\n    gfcbl,\n    gfmhjmj,\n    gfmhjtj,\n    jzwhcsjysl,\n    jzwsqsl,\n    ltdcjzwhcsjysl,\n    ltdcjzwsqsl,\n    pmgrsmj,\n    pmhhyl,\n    pmhhyzl,\n    pml,\n    pmmhyscbgs,\n    pmmhyscbl,\n    pmqsl,\n    pmycbl,\n    pmycmj,\n    pzpmysl,\n    yhqljglqysl,\n    yhqsqsl,\n    yhqzhglqysl,\n    ytljglqysl,\n    ytsqsl,\n    ytzhglqysl\n  } = require(\"sp-computed\")\n```\n\n* dbpmycbl(obj = {}) 普通蛋白泡沫液常备量(L)=常备量计算系数(L/㎡)*燃烧面积(㎡)\n  * {Object} obj\n    * {Number} obj.area 燃烧面积(㎡)\n    * {Number} obj.rate 常备量计算系数(L/㎡)\n\n  ``` js\n    dbpmycbl({\n      area: 100,\n      rate: 3\n    });\n    // return 300.00\n  ```\n\n* eyhtcbl(obj = {}) 二氧化碳常备量(kg)=二氧化碳常备量系数*二氧化碳喷射率(kg/s)*二氧化碳喷射时间(s)\n  * {Object} obj\n    * {Number} obj.rate 二氧化碳喷射率(kg/s)\n    * {Number} obj.coefficient = 1.8 二氧化碳常备量系数\n    * {Number} obj.time = 120 二氧化碳喷射时间(s)\n  ``` js\n    eyhtcbl({\n      rate: 3\n    });\n    // return 324.00\n    eyhtcbl({\n      rate: 1.5,\n      coefficient: 2,\n      time: 300\n    });\n    // return 900.00\n  ```\n\n* eyhttj(obj = {}) 二氧化碳需求量(kg)=保护空间体积(m3)*二氧化碳灭火浓度(kg/m3)\n  * {Object} obj\n    * {Number} obj.volume 保护空间体积(m3)\n    * {Number} obj.consistency 二氧化碳灭火浓度(kg/m3)\n  ``` js\n    eyhttj({\n      volume: 3,\n      consistency: 100\n    });\n    // return 300.00\n  ```\n\n* gbpmhhyl(obj = {}) 高倍泡沫混合液量(L/s)=泡沫产生器数量(支)*每支泡沫产生器需要的混合液量(L/s)\n  * {Object} obj\n    * {Number} obj.count 泡沫产生器数量(支)\n    * {Number} obj.average 每支泡沫产生器需要的混合液量(L/s)\n  ``` js\n    gbpmhhyl({\n      count: 3,\n      average: 100\n    });\n    // return 300.00\n  ```\n\n* gbpmqcss(obj = {}) 高倍泡沫器产生数(个)=泡沫量(L)/(充满时间(min)*每支产生器的泡沫产生量(L/min))\n  * {Object} obj\n    * {Number} obj.total 泡沫量(L)\n    * {Number} obj.time = 5 充满时间(min)\n    * {Number} obj.average 每支产生器的泡沫产生量(L/min)\n  ``` js\n    gbpmqcss({\n      total: 30,\n      average: 3\n    });\n    // return 2\n    gbpmqcss({\n      total: 30,\n      time: 10,\n      average: 3\n    });\n    // return 1\n  ```\n\n* gfcbl(obj = {}) 干粉常备量(kg)=灭火需用干粉量(kg)*常备量系数\n  * {Object} obj\n    * {Number} obj.weight 灭火需用干粉量(kg)\n    * {Number} obj.coefficient = 2 常备量系数\n  ``` js\n    gfcbl({\n      weight: 30\n    });\n    // return 30.00\n    gbpmqcss({\n      weight: 30,\n      coefficient: 3\n    });\n    // return 90.00\n  ```\n\n* gfmhjmj(obj = {}) 灭火需用干粉量面积计算法(kg)=燃烧面积(㎡)*干粉供给强度(kg/㎡)\n  * {Object} obj\n    * {Number} obj.strength 干粉供给强度(kg/m3)\n    * {Number} obj.area 燃烧面积(㎡)\n  ``` js\n    gfmhjmj({\n      strength: 30,\n      area: 1000\n    });\n    // return 30000.00\n  ```\n\n* gfmhjtj(obj = {}) 保护空间灭火需用干粉量(kg)=干粉供给强度(kg/m3)*(保护空间体积(m3)-保护空间内不燃物体积(m3))+补偿系数(kg/㎡)*不能关闭的门、窗、孔、洞面积(㎡)\n  * {Object} obj\n    * {Number} obj.strength = 1 干粉供给强度(kg/m3)\n    * {Number} obj.protectVolume 保护空间体积(m3)\n    * {Number} obj.protectAntiBurnVolume 保护空间内不燃物体积(m3)\n    * {Number} obj.coefficient = 2.4 补偿系数(kg/㎡)\n    * {Number} obj.area 不能关闭的门、窗、孔、洞面积(㎡)\n  ``` js\n    gfmhjtj({\n      protectVolume: 100,\n      protectAntiBurnVolume: 30,\n      area: 50\n    });\n    // return 190.00\n    gfmhjtj({\n      strength: 2,\n      protectVolume: 100,\n      protectAntiBurnVolume: 30,\n      coefficient: 3,\n      area: 50\n    });\n    // return 290.00\n  ```\n\n* jzwhcsjysl(obj = {}) 建筑物火场实际用水量(L/s)=燃烧面积(㎡)*灭火用水供应强度(L/(s*㎡))\n  * {Object} obj\n    * {Number} obj.area 燃烧面积㎡\n    * {Number} obj.strength 灭火用水供应强度L/(s*㎡)\n  ``` js\n    jzwhcsjysl({\n      strength: 1.2,\n      area: 5000\n    });\n    // return 6000.00\n  ```\n\n* jzwsqsl(obj = {}) 建筑物水枪所需数量(个)=火场实际用水量(L/s)/水枪流量(L/s)\n  * {Object} obj\n    * {Number} obj.area 燃烧面积㎡\n    * {Number} obj.strength 灭火用水供应强度L/(s*㎡)\n    * {Number} obj.flow 水枪流量L/s\n  ``` js\n    jzwsqsl({\n      strength: 1.2,\n      area: 5000,\n      flow: 2\n    });\n    // return 3000\n  ```\n\n* ltdchcsjysl(obj = {}) 露天堆场火场实际用水量(L/s)=燃烧面积(㎡)*灭火用水供应强度(L/(s*㎡))\n  * {Object} obj\n    * {Number} obj.area 燃烧面积㎡\n    * {Number} obj.strength 灭火用水供应强度L/(s*㎡)\n  ``` js\n    ltdchcsjysl({\n      strength: 1.2,\n      area: 5000\n    });\n    // return 6000\n  ```\n\n* ltdcsqsl(obj = {}) 露天堆场水枪所需数量(个)=火场实际用水量(L/s)/水枪流量(L/s)\n  * {Object} obj\n    * {Number} obj.area 燃烧面积㎡\n    * {Number} obj.strength 灭火用水供应强度L/(s*㎡)\n    * {Number} obj.flow 水枪流量L/s\n  ``` js\n    ltdcsqsl({\n      strength: 1.2,\n      area: 5000,\n      flow: 2\n    });\n    // return 3000\n  ```\n\n* pmgrsmj(obj = {}) 泡沫灭火剂固定顶立式罐燃烧面积(㎡)=π*直径(m)*直径(m)/4(适用于普通蛋白、氟蛋白、水成膜、抗溶性泡沫等)\n  * {Object} obj\n    * {Number} obj.diameter 直径(m)\n  ``` js\n    pmgrsmj({\n      diameter: 5\n    });\n    // return 19.63\n  ```\n\n* pmhhyl(obj = {}) 泡沫混合液量(L/s)=泡沫枪（炮、钩管）的数量(支)*每支泡沫枪（炮、钩管）所需的混合液量(L/s)(适用于普通蛋白、氟蛋白、水成膜、抗溶性泡沫等)\n  * {Object} obj\n    * {Number} obj.count 泡沫枪（炮、钩管）的数量(支)\n    * {Number} obj.average 每支泡沫枪（炮、钩管）所需的混合液量(L/s)\n  ``` js\n    pmhhyl({\n      count: 5,\n      average: 10\n    });\n    // return 50.00\n  ```\n\n* pmhhyzl(obj = {}) 泡沫混合液总量(L/s)=储罐区灭火需要的泡沫混合液量(L/s)+流淌火灭火需要的泡沫混合液量(L/s)(适用于普通蛋白、氟蛋白、水成膜、抗溶性泡沫等)\n  * {Object} obj\n    * {Number} obj.store 储罐区灭火需要的泡沫混合液量(L/s)\n    * {Number} obj.flow 储罐区灭火需要的泡沫混合液量(L/s)\n  ``` js\n    pmhhyzl({\n      store: 5,\n      flow: 10\n    });\n    // return 15.00\n  ```\n\n* pml(obj = {}) 泡沫量(L/s)=燃烧面积(㎡)*供给强度(L/(s*㎡))（适用于普通蛋白、氟蛋白、水成膜、抗溶性泡沫等，且包括固定鼎立式罐、浮顶罐、流淌火的场合）\n  * {Object} obj\n    * {Number} obj.area 燃烧面积(㎡)\n    * {Number} obj.strength 供给强度(L/(s*㎡))\n  ``` js\n    pml({\n      area: 500,\n      strength: 10\n    });\n    // return 5000.00\n  ```\n\n* pml(obj = {}) 泡沫量(L/s)=燃烧面积(㎡)*供给强度(L/(s*㎡))（适用于普通蛋白、氟蛋白、水成膜、抗溶性泡沫等，且包括固定鼎立式罐、浮顶罐、流淌火的场合）\n  * {Object} obj\n    * {Number} obj.area 燃烧面积(㎡)\n    * {Number} obj.strength 供给强度(L/(s*㎡))\n  ``` js\n    pml({\n      area: 500,\n      strength: 10\n    });\n    // return 5000.00\n  ```\n\n* pmmhyscbgs(obj = {}) 泡沫灭火用水常备估算(L/s)=燃烧面积(㎡)*供给强度(L/(s*㎡))（适用于普通蛋白、氟蛋白、水成膜、抗溶性泡沫等，且包括固定鼎立式罐、浮顶罐、流淌火的场合）\n  * {Object} obj\n    * {Number} obj.rate = 0.94 混合液中含水率\n    * {Number} obj.strength 混合液供给强度L/(min*㎡)\n    * {Number} obj.area 燃烧面积㎡\n    * {Number} obj.time = 5 一次进攻时间min\n    * {Number} obj.coefficient = 6 估计系数\n  ``` js\n    pmmhyscbgs({\n      area: 500,\n      strength: 10\n    });\n    // return 141000.00\n    pmmhyscbgs({\n      area: 500,\n      strength: 10,\n      rate: 1,\n      time: 10,\n      coefficient: 5\n    });\n    // return 250000.00\n  ```\n\n* pmqsl(obj = {}) 泡沫枪数量(炮、勾管)(个)=(燃烧面积(㎡)*供给强度(L/(s*㎡)))/泡沫产生量(L/s)(适用于普通蛋白、氟蛋白、水成膜、抗溶性泡沫等)\n  * {Object} obj\n    * {Number} obj.area 燃烧面积(㎡)\n    * {Number} obj.strength 供给强度(L/(s*㎡))\n    * {Number} obj.count 泡沫产生量(L/s)\n  ``` js\n    pmqsl({\n      area: 800,\n      strength: 1.4,\n      count: 1.5\n    });\n    // return 747\n  ```\n\n* pmycbl(obj = {}) 泡沫液常备量(L)=用液量系数(s)*泡沫混合液总量(L/s)(适用于普通蛋白、氟蛋白、水成膜、抗溶性泡沫、高倍数泡沫等)\n  * {Object} obj\n    * {Number} obj.coefficient = 0.108 用液量系数(s)\n    * {Number} obj.total 泡沫混合液总量(L/s)\n  ``` js\n    pmycbl({\n      total: 800\n    });\n    // return 86.40\n    pmycbl({\n      total: 800,\n      coefficient: 0.35\n    });\n    // return 280.00\n  ```\n\n* pmycmj(obj = {}) 泡沫灭火剂油池燃烧面积(㎡)=长边长(m)*短边长(m)\n  * {Object} obj\n    * {Number} obj.width 长边长(m)\n    * {Number} obj.height 短边长(m)\n  ``` js\n    pmycmj({\n      width: 100,\n      height: 800\n    });\n    // return 80000\n  ```\n\n* pzpmysl(obj = {}) 配置泡沫用水量(L/s)=泡沫混合液中含水率(L/s)*泡沫混合液量\n  * {Object} obj\n    * {Number} obj.width 长边长(m)\n    * {Number} obj.height 短边长(m)\n  ``` js\n    pzpmysl({\n      width: 100,\n      height: 800\n    });\n    // return 80000\n  ```\n\n* yhqljglqysl(obj = {}) 液化石油气邻近罐冷却用水量(L/s)=0.5*π*球罐直径(m)2*供给强度(L/(s*㎡))\n  * {Object} obj\n    * {Number} obj.diameter 球罐直径m\n    * {Number} obj.strength 供给强度L/(s*㎡)\n  ``` js\n    yhqljglqysl({\n      diameter: 5,\n      strength: 2.4\n    });\n    // return 94.25\n  ```\n\n* yhqzhglqysl(obj = {}) 液化石油气着火罐冷却用水量(L/s)=π*球罐直径(m)2*供给强度(L/(s*㎡))\n  * {Object} obj\n    * {Number} obj.diameter 球罐直径m\n    * {Number} obj.strength 供给强度L/(s*㎡)\n  ``` js\n    yhqzhglqysl({\n      diameter: 5,\n      strength: 2.4\n    });\n    // return 188.50\n  ```\n\n* yhqsqsl(obj = {}) 液化石油气水枪所需数量(个)=(着火罐冷却用水量*着火罐个数(个)+邻近罐冷却用水量*邻近罐个数(个))(L/s)/水枪流量(L/s)\n  * {Object} obj\n  * {Number} obj.diameter 球罐直径m\n  * {Number} obj.strength 供给强度L/(s*㎡)\n  * {Number} obj.flow 水枪流量L/s\n  * {Number} obj.fireNum 着火罐数量(个)\n  * {Number} obj.nearNum 临近罐数量(个)\n  ``` js\n    yhqsqsl({\n      diameter: 5,\n      strength: 2.4,\n      flow: 2,\n      fireNum: 3,\n      nearNum: 6\n    });\n    // return 566\n  ```\n\n* ytljglqysl(obj = {}) 甲乙丙类液体邻近罐冷却用水量(L/s)=冷却范围系数*邻近罐数量(个)*燃烧面积(㎡)*供给强度(L/(s*㎡))\n  * {Object} obj\n  * {Number} obj.nearNum 临近罐数量(个)\n  * {Number} obj.strength 供给强度L/(s*㎡)\n  * {Number} obj.area 储罐面积㎡\n  * {Number} obj.coefficient = 1.8 冷却系数\n  ``` js\n    ytljglqysl({\n      nearNum: 5,\n      strength: 2.4,\n      area: 40\n    });\n    // return 864.00\n    ytljglqysl({\n      nearNum: 5,\n      strength: 2.4,\n      area: 40,\n      coefficient: 2\n    });\n    // return 960.00\n  ```\n\n* ytzhglqysl(obj = {}) 甲乙丙类液体着火罐冷却用水量(L/s)=冷却范围系数*邻近罐数量(个)*燃烧面积(㎡)*供给强度(L/(s*㎡))\n  * {Object} obj\n  * {Number} obj.fireNum 临近罐数量(个)\n  * {Number} obj.strength 供给强度L/(s*㎡)\n  * {Number} obj.area 储罐面积㎡\n  ``` js\n    ytzhglqysl({\n      fireNum: 5,\n      strength: 2.4,\n      area: 40\n    });\n    // return 480.00\n  ```\n\n* ytsqsl(obj = {}) 甲乙丙类液体水枪数量(个)=火场实际用水量(L/s)/水枪流量(L/s)\n  * {Object} obj\n  * {Number} obj.strength 供给强度L/(s*㎡)\n  * {Number} obj.flow 水枪流量L/s\n  * {Number} obj.fireNum 着火罐数量(个)\n  * {Number} obj.fireArea 着火罐面积㎡\n  * {Number} obj.nearArea 临近罐面积㎡\n  * {Number} obj.nearNum 临近罐数量(个)\n  * {Number} obj.coefficient = 1.8 冷却系数\n  ``` js\n    ytsqsl({\n      strength: 2.4,\n      flow: 2,\n      fireNum: 3,\n      fireArea: 20,\n      nearArea: 20,\n      nearNum: 6\n    });\n    // return 332\n    ytsqsl({\n      strength: 2.4,\n      flow: 2,\n      fireNum: 3,\n      fireArea: 20,\n      nearArea: 20,\n      nearNum: 6,\n      coefficient: 3\n    });\n    // return 504\n  ```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fz41z%2Fsp-computed","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fz41z%2Fsp-computed","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fz41z%2Fsp-computed/lists"}