formulab 0.48.1 → 0.49.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +30 -0
- package/dist/battery/chargingProfile.d.ts.map +1 -1
- package/dist/battery/chargingProfile.js +17 -12
- package/dist/battery/chargingProfile.js.map +1 -1
- package/dist/chemical/flowControl.d.ts +7 -3
- package/dist/chemical/flowControl.d.ts.map +1 -1
- package/dist/chemical/flowControl.js +15 -19
- package/dist/chemical/flowControl.js.map +1 -1
- package/dist/chemical/reliefValve.d.ts +17 -4
- package/dist/chemical/reliefValve.d.ts.map +1 -1
- package/dist/chemical/reliefValve.js +34 -29
- package/dist/chemical/reliefValve.js.map +1 -1
- package/dist/chemical/types.d.ts +5 -0
- package/dist/chemical/types.d.ts.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,36 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.49.0] - 2026-09-24
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- **`chemical/reliefValve()` mixed API 520's US-unit coefficient with SI inputs.** The gas branch
|
|
15
|
+
used C = 520 × … (lb/h, psia, in²) with kg/h and bar, which made every gas or steam area 7.6×
|
|
16
|
+
too large. The liquid branch did the same with the liquid constant and was about 141× too large.
|
|
17
|
+
For example, 5,000 kg/h of nitrogen at 10 barg now needs 536 mm² (orifice J), not 4,073 mm² (P).
|
|
18
|
+
Both branches now use the API 520 Part I SI equations and reproduce its Example 1 (gas,
|
|
19
|
+
3,699 mm²) and the first step of Example 5 (liquid, 3,066 mm² at Kw 0.97). The old golden test
|
|
20
|
+
compared only the ratio of the steam and gas areas, which no constant factor can change.
|
|
21
|
+
- **`chemical/flowControl()` reported Kv as Cv.** The metric liquid equation Q × √(SG/ΔP) gives Kv,
|
|
22
|
+
but it was returned as `cv`, and `kv` was then 0.865 × Kv. Cv was therefore 13.5% too low: 100 gpm
|
|
23
|
+
across 25 psi now gives Cv 20, not 17.3. The gas branch used N8 = 94.8, the mass-flow constant,
|
|
24
|
+
with a volumetric flow and with M in the numerator. It now uses the volumetric N9 = 2460 for Kv,
|
|
25
|
+
with the flow in m³/h at 0 °C and 101.325 kPa. Gas Cv was about 22× too high.
|
|
26
|
+
|
|
27
|
+
### Added
|
|
28
|
+
|
|
29
|
+
- `ReliefValveInput.specificHeatRatio` (default 1.4 gas, 1.3 steam) and `compressibility`
|
|
30
|
+
(default 1.0), which the API 520 gas equation takes.
|
|
31
|
+
|
|
32
|
+
## [0.48.2] - 2026-09-24
|
|
33
|
+
|
|
34
|
+
### Fixed
|
|
35
|
+
|
|
36
|
+
- **`battery/chargingProfile()` minutes and average C-rate came from the rounded hours.** For example,
|
|
37
|
+
5 Ah at 2.5 A to a 0.25 A cutoff gave `cvPhaseTimeMin` 43.8 (0.73 h × 60) instead of 43.6 and
|
|
38
|
+
`totalTimeMin` 139.8 instead of 139.6. Every output is now rounded once from the unrounded value.
|
|
39
|
+
|
|
10
40
|
## [0.48.1] - 2026-09-24
|
|
11
41
|
|
|
12
42
|
### Fixed
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chargingProfile.d.ts","sourceRoot":"","sources":["../../src/battery/chargingProfile.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAE9E;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,qBAAqB,
|
|
1
|
+
{"version":3,"file":"chargingProfile.d.ts","sourceRoot":"","sources":["../../src/battery/chargingProfile.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAE9E;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,qBAAqB,CAyDlF"}
|
|
@@ -23,20 +23,25 @@ export function chargingProfile(input) {
|
|
|
23
23
|
if (!(ccEndSocPercent > 0) || ccEndSocPercent >= 100) {
|
|
24
24
|
throw new RangeError('ccEndSocPercent must be greater than 0 and less than 100');
|
|
25
25
|
}
|
|
26
|
-
//
|
|
27
|
-
|
|
28
|
-
const
|
|
26
|
+
// Every output is rounded once, from the unrounded value. Deriving minutes from the rounded
|
|
27
|
+
// hours (or the C-rate from the rounded total) would carry the hour rounding into them.
|
|
28
|
+
const ccAh = capacityAh * (ccEndSocPercent / 100);
|
|
29
|
+
const cvAh = capacityAh - ccAh;
|
|
29
30
|
// CC phase time = Ah / current
|
|
30
|
-
const
|
|
31
|
-
const ccPhaseTimeMin = roundTo(ccPhaseTimeH * 60, 1);
|
|
31
|
+
const ccH = ccAh / chargingCurrentA;
|
|
32
32
|
// CV phase time approximation: average current = (Icc + Icut) / 2
|
|
33
|
-
const
|
|
34
|
-
const
|
|
35
|
-
const
|
|
36
|
-
const
|
|
37
|
-
const
|
|
38
|
-
|
|
39
|
-
const
|
|
33
|
+
const cvH = cvAh / ((chargingCurrentA + cutoffCurrentA) / 2);
|
|
34
|
+
const totalH = ccH + cvH;
|
|
35
|
+
const ccPhaseAh = roundTo(ccAh, 2);
|
|
36
|
+
const cvPhaseAh = roundTo(cvAh, 2);
|
|
37
|
+
const ccPhaseTimeH = roundTo(ccH, 2);
|
|
38
|
+
const ccPhaseTimeMin = roundTo(ccH * 60, 1);
|
|
39
|
+
const cvPhaseTimeH = roundTo(cvH, 2);
|
|
40
|
+
const cvPhaseTimeMin = roundTo(cvH * 60, 1);
|
|
41
|
+
const totalTimeH = roundTo(totalH, 2);
|
|
42
|
+
const totalTimeMin = roundTo(totalH * 60, 1);
|
|
43
|
+
// Average C-rate over the entire charge: one capacity delivered over the total time
|
|
44
|
+
const averageCRate = roundTo(1 / totalH, 4);
|
|
40
45
|
return {
|
|
41
46
|
ccPhaseTimeH,
|
|
42
47
|
ccPhaseTimeMin,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chargingProfile.js","sourceRoot":"","sources":["../../src/battery/chargingProfile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,KAA2B;IACzD,MAAM,EACJ,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,eAAe,GAAG,EAAE,GACrB,GAAG,KAAK,CAAC;IAEV,IAAI,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,UAAU,CAAC,mCAAmC,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,CAAC,CAAC,gBAAgB,GAAG,CAAC,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,UAAU,CAAC,yCAAyC,CAAC,CAAC;IAClE,CAAC;IACD,sFAAsF;IACtF,kEAAkE;IAClE,IAAI,CAAC,CAAC,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,UAAU,CAAC,uCAAuC,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,CAAC,CAAC,eAAe,GAAG,CAAC,CAAC,IAAI,eAAe,IAAI,GAAG,EAAE,CAAC;QACrD,MAAM,IAAI,UAAU,CAAC,0DAA0D,CAAC,CAAC;IACnF,CAAC;IAED,
|
|
1
|
+
{"version":3,"file":"chargingProfile.js","sourceRoot":"","sources":["../../src/battery/chargingProfile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,KAA2B;IACzD,MAAM,EACJ,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,eAAe,GAAG,EAAE,GACrB,GAAG,KAAK,CAAC;IAEV,IAAI,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,UAAU,CAAC,mCAAmC,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,CAAC,CAAC,gBAAgB,GAAG,CAAC,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,UAAU,CAAC,yCAAyC,CAAC,CAAC;IAClE,CAAC;IACD,sFAAsF;IACtF,kEAAkE;IAClE,IAAI,CAAC,CAAC,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,UAAU,CAAC,uCAAuC,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,CAAC,CAAC,eAAe,GAAG,CAAC,CAAC,IAAI,eAAe,IAAI,GAAG,EAAE,CAAC;QACrD,MAAM,IAAI,UAAU,CAAC,0DAA0D,CAAC,CAAC;IACnF,CAAC;IAED,4FAA4F;IAC5F,wFAAwF;IACxF,MAAM,IAAI,GAAG,UAAU,GAAG,CAAC,eAAe,GAAG,GAAG,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,UAAU,GAAG,IAAI,CAAC;IAE/B,+BAA+B;IAC/B,MAAM,GAAG,GAAG,IAAI,GAAG,gBAAgB,CAAC;IACpC,kEAAkE;IAClE,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC,gBAAgB,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC;IAEzB,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACnC,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACnC,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACrC,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;IAC5C,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACrC,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;IAC5C,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACtC,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;IAE7C,oFAAoF;IACpF,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;IAE5C,OAAO;QACL,YAAY;QACZ,cAAc;QACd,YAAY;QACZ,cAAc;QACd,UAAU;QACV,YAAY;QACZ,SAAS;QACT,SAAS;QACT,YAAY;KACb,CAAC;AACJ,CAAC"}
|
|
@@ -3,9 +3,13 @@ import type { FlowControlInput, FlowControlResult } from './types.js';
|
|
|
3
3
|
* Control Valve Cv Calculator
|
|
4
4
|
*
|
|
5
5
|
* @formula
|
|
6
|
-
* - Liquid:
|
|
7
|
-
* - Gas:
|
|
8
|
-
*
|
|
6
|
+
* - Liquid: Kv = Q × √(SG / ΔP) (Q m³/h, ΔP bar) — the same as Cv = Q × √(SG / ΔP) in gpm and psi
|
|
7
|
+
* - Gas/steam: Kv = Q / (N9 × P1 × Y) × √(M × T × Z / x), N9 = 2460 (Q m³/h at 0 °C and
|
|
8
|
+
* 101.325 kPa, P1 bar absolute, T K); x = ΔP / P1 limited to Fk × xT; Y = 1 − x / (3 Fk xT)
|
|
9
|
+
* - Cv = Kv / 0.865 (1 Cv = 0.865 Kv)
|
|
10
|
+
*
|
|
11
|
+
* N9 follows from the mass-flow form W = N6 × Kv × Y × √(x × P1 × ρ1) with N6 = 31.6 and the
|
|
12
|
+
* ideal-gas densities at inlet and at 0 °C, 101.325 kPa.
|
|
9
13
|
*
|
|
10
14
|
* @reference ISA-75.01.01-2012 — Flow equations for sizing control valves
|
|
11
15
|
* @reference IEC 60534-2-1 — Industrial-process control valves
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flowControl.d.ts","sourceRoot":"","sources":["../../src/chemical/flowControl.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEtE
|
|
1
|
+
{"version":3,"file":"flowControl.d.ts","sourceRoot":"","sources":["../../src/chemical/flowControl.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEtE;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,iBAAiB,CA8EtE"}
|
|
@@ -3,9 +3,13 @@ import { roundTo } from '../utils.js';
|
|
|
3
3
|
* Control Valve Cv Calculator
|
|
4
4
|
*
|
|
5
5
|
* @formula
|
|
6
|
-
* - Liquid:
|
|
7
|
-
* - Gas:
|
|
8
|
-
*
|
|
6
|
+
* - Liquid: Kv = Q × √(SG / ΔP) (Q m³/h, ΔP bar) — the same as Cv = Q × √(SG / ΔP) in gpm and psi
|
|
7
|
+
* - Gas/steam: Kv = Q / (N9 × P1 × Y) × √(M × T × Z / x), N9 = 2460 (Q m³/h at 0 °C and
|
|
8
|
+
* 101.325 kPa, P1 bar absolute, T K); x = ΔP / P1 limited to Fk × xT; Y = 1 − x / (3 Fk xT)
|
|
9
|
+
* - Cv = Kv / 0.865 (1 Cv = 0.865 Kv)
|
|
10
|
+
*
|
|
11
|
+
* N9 follows from the mass-flow form W = N6 × Kv × Y × √(x × P1 × ρ1) with N6 = 31.6 and the
|
|
12
|
+
* ideal-gas densities at inlet and at 0 °C, 101.325 kPa.
|
|
9
13
|
*
|
|
10
14
|
* @reference ISA-75.01.01-2012 — Flow equations for sizing control valves
|
|
11
15
|
* @reference IEC 60534-2-1 — Industrial-process control valves
|
|
@@ -37,15 +41,9 @@ export function flowControl(input) {
|
|
|
37
41
|
let cv;
|
|
38
42
|
let isChoked = false;
|
|
39
43
|
if (fluidType === 'liquid') {
|
|
40
|
-
//
|
|
41
|
-
// Convert kPa to bar: 1 bar = 100 kPa
|
|
44
|
+
// IEC 60534 liquid sizing in metric units gives Kv: Kv = Q(m³/h) × √(SG / ΔP(bar))
|
|
42
45
|
const dpBar = pressureDrop / 100;
|
|
43
|
-
|
|
44
|
-
cv = 0;
|
|
45
|
-
}
|
|
46
|
-
else {
|
|
47
|
-
cv = flowRate * Math.sqrt(sg / dpBar);
|
|
48
|
-
}
|
|
46
|
+
cv = dpBar <= 0 ? 0 : (flowRate * Math.sqrt(sg / dpBar)) / 0.865;
|
|
49
47
|
}
|
|
50
48
|
else {
|
|
51
49
|
// Gas/Steam sizing
|
|
@@ -61,15 +59,13 @@ export function flowControl(input) {
|
|
|
61
59
|
const p1Bar = inletPressure / 100;
|
|
62
60
|
const T = temperature + 273.15;
|
|
63
61
|
const MW = molecularWeight ?? 29; // default air
|
|
64
|
-
//
|
|
65
|
-
const
|
|
62
|
+
// N9 for Kv with Q in m³/h at 0 °C, 101.325 kPa, pressure in bar (IEC 60534-2-1)
|
|
63
|
+
const N9 = 2460;
|
|
66
64
|
const Y = 1 - xEffective / (3 * xCritical); // Expansion factor
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
cv = flowRate / (N8 * p1Bar * Y) * Math.sqrt(MW * T / xEffective);
|
|
72
|
-
}
|
|
65
|
+
const Z = 1.0;
|
|
66
|
+
cv = p1Bar <= 0 || xEffective <= 0
|
|
67
|
+
? 0
|
|
68
|
+
: (flowRate / (N9 * p1Bar * Y)) * Math.sqrt((MW * T * Z) / xEffective) / 0.865;
|
|
73
69
|
}
|
|
74
70
|
const kv = cv * 0.865;
|
|
75
71
|
// Estimate pipe velocity (assuming DN50 pipe)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flowControl.js","sourceRoot":"","sources":["../../src/chemical/flowControl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC
|
|
1
|
+
{"version":3,"file":"flowControl.js","sourceRoot":"","sources":["../../src/chemical/flowControl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,WAAW,CAAC,KAAuB;IACjD,MAAM,EACJ,QAAQ,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,EAAE,SAAS,EAChE,WAAW,GAAG,EAAE,EAAE,eAAe,EAAE,iBAAiB,GAAG,GAAG,GAC3D,GAAG,KAAK,CAAC;IAEV,wFAAwF;IACxF,2EAA2E;IAC3E,IAAI,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,UAAU,CAAC,sCAAsC,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,UAAU,CAAC,qCAAqC,CAAC,CAAC;IAC9D,CAAC;IACD,iEAAiE;IACjE,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC3B,IAAI,eAAe,KAAK,SAAS,IAAI,CAAC,CAAC,eAAe,GAAG,CAAC,CAAC,EAAE,CAAC;YAC5D,MAAM,IAAI,UAAU,CAAC,wCAAwC,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,CAAC,CAAC,WAAW,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,UAAU,CAAC,sDAAsD,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IAED,MAAM,YAAY,GAAG,aAAa,GAAG,cAAc,CAAC,CAAC,MAAM;IAE3D,uCAAuC;IACvC,MAAM,EAAE,GAAG,YAAY,GAAG,GAAG,CAAC;IAC9B,MAAM,aAAa,GAAG,YAAY,GAAG,aAAa,CAAC;IAEnD,IAAI,EAAU,CAAC;IACf,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC3B,mFAAmF;QACnF,MAAM,KAAK,GAAG,YAAY,GAAG,GAAG,CAAC;QACjC,EAAE,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC;IACnE,CAAC;SAAM,CAAC;QACN,mBAAmB;QACnB,0CAA0C;QAC1C,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,0BAA0B;QAC1C,MAAM,EAAE,GAAG,iBAAiB,GAAG,GAAG,CAAC;QACnC,MAAM,SAAS,GAAG,EAAE,GAAG,EAAE,CAAC;QAC1B,MAAM,CAAC,GAAG,YAAY,GAAG,aAAa,CAAC;QAEvC,IAAI,CAAC,IAAI,SAAS,EAAE,CAAC;YACnB,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,aAAa,GAAG,GAAG,CAAC;QAClC,MAAM,CAAC,GAAG,WAAW,GAAG,MAAM,CAAC;QAC/B,MAAM,EAAE,GAAG,eAAe,IAAI,EAAE,CAAC,CAAC,cAAc;QAEhD,iFAAiF;QACjF,MAAM,EAAE,GAAG,IAAI,CAAC;QAChB,MAAM,CAAC,GAAG,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,mBAAmB;QAC/D,MAAM,CAAC,GAAG,GAAG,CAAC;QAEd,EAAE,GAAG,KAAK,IAAI,CAAC,IAAI,UAAU,IAAI,CAAC;YAChC,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,EAAE,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,KAAK,CAAC;IACnF,CAAC;IAED,MAAM,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;IAEtB,8CAA8C;IAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;IACjD,MAAM,QAAQ,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,MAAM;IAErD,OAAO;QACL,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QAClB,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QAClB,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;QACtC,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;QACxC,QAAQ;QACR,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;KAC/B,CAAC;AACJ,CAAC"}
|
|
@@ -1,14 +1,24 @@
|
|
|
1
1
|
import type { ReliefValveInput, ReliefValveResult } from './types.js';
|
|
2
2
|
/**
|
|
3
|
-
* Relief Valve Sizing — API 520
|
|
3
|
+
* Relief Valve Sizing — API 520 Part I, SI units
|
|
4
4
|
*
|
|
5
5
|
* @formula
|
|
6
|
-
* - Gas: A = W / (C × Kd × P1 × Kb × Kc) × √(
|
|
7
|
-
*
|
|
6
|
+
* - Gas/vapour, critical flow: A = W / (C × Kd × P1 × Kb × Kc) × √(T × Z / M)
|
|
7
|
+
* with C = 0.03948 × √(k × (2 / (k + 1))^((k + 1) / (k − 1)))
|
|
8
|
+
* (A mm², W kg/h, P1 kPa absolute, T K, M kg/kmol)
|
|
9
|
+
* - Liquid: A = 11.78 × Q / (Kd × Kw × Kc × Kv) × √(G / (P1 − P2))
|
|
10
|
+
* (A mm², Q L/min, P1 − P2 kPa)
|
|
11
|
+
* - Relieving pressure P1 = set pressure × (1 + overpressure) + atmospheric
|
|
8
12
|
* - Standard orifice selection per API 526
|
|
9
13
|
*
|
|
10
|
-
*
|
|
14
|
+
* Steam is sized with the gas equation at k = 1.3 unless `specificHeatRatio` is given; API 520's
|
|
15
|
+
* dedicated Napier steam equation is not implemented. Kb, Kw, Kc and Kv are taken as 1.0.
|
|
16
|
+
*
|
|
17
|
+
* @reference API 520 Part I — Sizing and Selection of Pressure-Relieving Devices (SI equations)
|
|
11
18
|
* @reference API 526 (2017) — Flanged Steel Pressure-Relief Valves
|
|
19
|
+
* @validation API 520 Part I Example 1 (gas: 24,270 kg/h, 348 K, Z 0.90, M 51, k 1.11, P1 670 kPa a
|
|
20
|
+
* → 3,699 mm²) and the first step of Example 5 (liquid: 6,814 L/min, G 0.9, Kw 0.97, ΔP 1,551.6 kPa
|
|
21
|
+
* → 3,066 mm²), as reproduced by the `fluids` library
|
|
12
22
|
*
|
|
13
23
|
* When the required area exceeds the largest API 526 orifice ('T', 16,774 mm²), the result
|
|
14
24
|
* still reports 'T' as the closest standard size but sets `orificeExceedsMax: true` — a single
|
|
@@ -17,6 +27,9 @@ import type { ReliefValveInput, ReliefValveResult } from './types.js';
|
|
|
17
27
|
* `suggestedMinValves` gives the first-order parallel count (`ceil(requiredArea / T)`); an
|
|
18
28
|
* actual multi-valve installation must be re-sized per API 520, since inlet and back-pressure
|
|
19
29
|
* corrections change each valve's capacity.
|
|
30
|
+
*
|
|
31
|
+
* @throws {RangeError} molecularWeight, specificGravity, specificHeatRatio (must exceed 1) or
|
|
32
|
+
* compressibility is not positive
|
|
20
33
|
*/
|
|
21
34
|
export declare function reliefValve(input: ReliefValveInput): ReliefValveResult;
|
|
22
35
|
//# sourceMappingURL=reliefValve.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reliefValve.d.ts","sourceRoot":"","sources":["../../src/chemical/reliefValve.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAoBtE
|
|
1
|
+
{"version":3,"file":"reliefValve.d.ts","sourceRoot":"","sources":["../../src/chemical/reliefValve.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAoBtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,iBAAiB,CA2FtE"}
|
|
@@ -17,15 +17,25 @@ const API_ORIFICES = [
|
|
|
17
17
|
{ letter: 'T', area: 16774 },
|
|
18
18
|
];
|
|
19
19
|
/**
|
|
20
|
-
* Relief Valve Sizing — API 520
|
|
20
|
+
* Relief Valve Sizing — API 520 Part I, SI units
|
|
21
21
|
*
|
|
22
22
|
* @formula
|
|
23
|
-
* - Gas: A = W / (C × Kd × P1 × Kb × Kc) × √(
|
|
24
|
-
*
|
|
23
|
+
* - Gas/vapour, critical flow: A = W / (C × Kd × P1 × Kb × Kc) × √(T × Z / M)
|
|
24
|
+
* with C = 0.03948 × √(k × (2 / (k + 1))^((k + 1) / (k − 1)))
|
|
25
|
+
* (A mm², W kg/h, P1 kPa absolute, T K, M kg/kmol)
|
|
26
|
+
* - Liquid: A = 11.78 × Q / (Kd × Kw × Kc × Kv) × √(G / (P1 − P2))
|
|
27
|
+
* (A mm², Q L/min, P1 − P2 kPa)
|
|
28
|
+
* - Relieving pressure P1 = set pressure × (1 + overpressure) + atmospheric
|
|
25
29
|
* - Standard orifice selection per API 526
|
|
26
30
|
*
|
|
27
|
-
*
|
|
31
|
+
* Steam is sized with the gas equation at k = 1.3 unless `specificHeatRatio` is given; API 520's
|
|
32
|
+
* dedicated Napier steam equation is not implemented. Kb, Kw, Kc and Kv are taken as 1.0.
|
|
33
|
+
*
|
|
34
|
+
* @reference API 520 Part I — Sizing and Selection of Pressure-Relieving Devices (SI equations)
|
|
28
35
|
* @reference API 526 (2017) — Flanged Steel Pressure-Relief Valves
|
|
36
|
+
* @validation API 520 Part I Example 1 (gas: 24,270 kg/h, 348 K, Z 0.90, M 51, k 1.11, P1 670 kPa a
|
|
37
|
+
* → 3,699 mm²) and the first step of Example 5 (liquid: 6,814 L/min, G 0.9, Kw 0.97, ΔP 1,551.6 kPa
|
|
38
|
+
* → 3,066 mm²), as reproduced by the `fluids` library
|
|
29
39
|
*
|
|
30
40
|
* When the required area exceeds the largest API 526 orifice ('T', 16,774 mm²), the result
|
|
31
41
|
* still reports 'T' as the closest standard size but sets `orificeExceedsMax: true` — a single
|
|
@@ -34,9 +44,12 @@ const API_ORIFICES = [
|
|
|
34
44
|
* `suggestedMinValves` gives the first-order parallel count (`ceil(requiredArea / T)`); an
|
|
35
45
|
* actual multi-valve installation must be re-sized per API 520, since inlet and back-pressure
|
|
36
46
|
* corrections change each valve's capacity.
|
|
47
|
+
*
|
|
48
|
+
* @throws {RangeError} molecularWeight, specificGravity, specificHeatRatio (must exceed 1) or
|
|
49
|
+
* compressibility is not positive
|
|
37
50
|
*/
|
|
38
51
|
export function reliefValve(input) {
|
|
39
|
-
const { requiredCapacity, setPressure, backPressure, temperature, fluidType, molecularWeight = 29, specificGravity = 1.0, overpressure = 10, dischargeCoefficient, } = input;
|
|
52
|
+
const { requiredCapacity, setPressure, backPressure, temperature, fluidType, molecularWeight = 29, specificGravity = 1.0, overpressure = 10, dischargeCoefficient, specificHeatRatio = fluidType === 'steam' ? 1.3 : 1.4, compressibility = 1.0, } = input;
|
|
40
53
|
// The gas/steam sizing equation divides by sqrt(M) after taking its square root, so a
|
|
41
54
|
// non-positive molecular weight gives an infinite or imaginary orifice area.
|
|
42
55
|
if (!(molecularWeight > 0)) {
|
|
@@ -45,6 +58,12 @@ export function reliefValve(input) {
|
|
|
45
58
|
if (!(specificGravity > 0)) {
|
|
46
59
|
throw new RangeError('specificGravity must be greater than 0');
|
|
47
60
|
}
|
|
61
|
+
if (!(specificHeatRatio > 1)) {
|
|
62
|
+
throw new RangeError('specificHeatRatio must be greater than 1');
|
|
63
|
+
}
|
|
64
|
+
if (!(compressibility > 0)) {
|
|
65
|
+
throw new RangeError('compressibility must be greater than 0');
|
|
66
|
+
}
|
|
48
67
|
// Atmospheric pressure
|
|
49
68
|
const patm = 101.325; // kPa
|
|
50
69
|
const P1 = setPressure + patm + (setPressure * overpressure / 100); // kPa absolute (relieving)
|
|
@@ -52,42 +71,28 @@ export function reliefValve(input) {
|
|
|
52
71
|
let requiredArea; // mm²
|
|
53
72
|
if (fluidType === 'gas' || fluidType === 'steam') {
|
|
54
73
|
const Kd = dischargeCoefficient ?? 0.975;
|
|
55
|
-
const Kb = 1.0; // Back pressure correction (conventional
|
|
56
|
-
const Kc = 1.0; // Combination correction
|
|
74
|
+
const Kb = 1.0; // Back pressure correction (conventional valve below critical back pressure)
|
|
75
|
+
const Kc = 1.0; // Combination correction (no rupture disk)
|
|
57
76
|
const T = temperature + 273.15;
|
|
58
|
-
const
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
// (air, nitrogen) in API 520 Part I Table 8 / secondary process-safety references — see the
|
|
63
|
-
// golden test in reliefValve.test.ts, which checks the k=1.4-vs-1.3 area ratio this constant
|
|
64
|
-
// implies against an independently computed C(1.4)/C(1.3).
|
|
65
|
-
const k = fluidType === 'steam' ? 1.3 : 1.4;
|
|
66
|
-
const C = 520 * Math.sqrt(k * Math.pow(2 / (k + 1), (k + 1) / (k - 1)));
|
|
67
|
-
// W in kg/h, P1 in kPa, T in K, M in g/mol
|
|
68
|
-
// A (mm²) = W × √(T×Z/M) / (C × Kd × P1 × Kb × Kc) × 1e6 (unit conversion)
|
|
69
|
-
const numerator = requiredCapacity * Math.sqrt(T * Z / M);
|
|
70
|
-
const denominator = C * Kd * (P1 / 100) * Kb * Kc; // P1 in bar for formula
|
|
71
|
-
requiredArea = (numerator / denominator) * 1e3; // convert to mm²
|
|
77
|
+
const k = specificHeatRatio;
|
|
78
|
+
// API 520 SI coefficient: C(1.4) = 0.02703, C(1.35) = 0.02669
|
|
79
|
+
const C = 0.03948 * Math.sqrt(k * Math.pow(2 / (k + 1), (k + 1) / (k - 1)));
|
|
80
|
+
requiredArea = (requiredCapacity / (C * Kd * P1 * Kb * Kc)) * Math.sqrt((T * compressibility) / molecularWeight);
|
|
72
81
|
}
|
|
73
82
|
else {
|
|
74
83
|
// Liquid
|
|
75
84
|
const Kd = dischargeCoefficient ?? 0.65;
|
|
76
|
-
const Kw = 1.0; // Back pressure correction
|
|
85
|
+
const Kw = 1.0; // Back pressure correction (conventional valve)
|
|
77
86
|
const Kc = 1.0;
|
|
78
87
|
const Kv = 1.0; // Viscosity correction
|
|
79
88
|
const dp = P1 - (backPressure + patm); // kPa
|
|
80
|
-
const
|
|
89
|
+
const G = specificGravity;
|
|
81
90
|
if (dp <= 0) {
|
|
82
91
|
requiredArea = 0;
|
|
83
92
|
}
|
|
84
93
|
else {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
const rho = SG * 999; // kg/m³
|
|
88
|
-
const Qm3h = requiredCapacity / rho;
|
|
89
|
-
const dpBar = dp / 100;
|
|
90
|
-
requiredArea = (Qm3h / (Kd * Kw * Kc * Kv)) * Math.sqrt(SG / dpBar) * 1e4 / 3.6;
|
|
94
|
+
const QLpm = (requiredCapacity / (G * 999)) * 1000 / 60; // kg/h → L/min
|
|
95
|
+
requiredArea = ((11.78 * QLpm) / (Kd * Kw * Kc * Kv)) * Math.sqrt(G / dp);
|
|
91
96
|
}
|
|
92
97
|
}
|
|
93
98
|
// Select the smallest standard orifice that covers the required area. API 526 tops out at
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reliefValve.js","sourceRoot":"","sources":["../../src/chemical/reliefValve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC,8CAA8C;AAC9C,MAAM,YAAY,GAAuC;IACvD,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE;IACzB,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE;IAC1B,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE;IAC1B,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE;IAC1B,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE;IAC1B,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE;IAC1B,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE;IAC3B,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE;IAC3B,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE;IAC3B,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE;IAC3B,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE;IAC3B,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE;IAC3B,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE;IAC5B,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE;CAC7B,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"reliefValve.js","sourceRoot":"","sources":["../../src/chemical/reliefValve.ts"],"names":[],"mappings":"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"}
|
package/dist/chemical/types.d.ts
CHANGED
|
@@ -216,6 +216,7 @@ export interface InjectionCycleResult {
|
|
|
216
216
|
* Control Valve Cv Calculator Types
|
|
217
217
|
*/
|
|
218
218
|
export interface FlowControlInput {
|
|
219
|
+
/** m³/h — actual volume for liquids; for gas and steam, volume at 0 °C and 101.325 kPa (Nm³/h). */
|
|
219
220
|
flowRate: number;
|
|
220
221
|
inletPressure: number;
|
|
221
222
|
outletPressure: number;
|
|
@@ -246,6 +247,10 @@ export interface ReliefValveInput {
|
|
|
246
247
|
specificGravity?: number;
|
|
247
248
|
overpressure?: number;
|
|
248
249
|
dischargeCoefficient?: number;
|
|
250
|
+
/** Ratio of specific heats k for gas/steam (default 1.4 gas, 1.3 steam). */
|
|
251
|
+
specificHeatRatio?: number;
|
|
252
|
+
/** Compressibility factor Z for gas/steam (default 1.0). */
|
|
253
|
+
compressibility?: number;
|
|
249
254
|
}
|
|
250
255
|
export interface ReliefValveResult {
|
|
251
256
|
requiredArea: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/chemical/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/chemical/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "formulab",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.49.0",
|
|
4
4
|
"description": "Manufacturing & Engineering calculation formulas library - 203 industrial calculations across 15 domains for OEE, Cpk, SPC, FMEA, Nelson Rules, metal weight, CNC machining, GD&T, battery, environmental, pipe flow, logistics, IE time study, and more",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|