formulab 0.48.2 → 0.49.1
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/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/injectionCycle.d.ts +4 -3
- package/dist/chemical/injectionCycle.d.ts.map +1 -1
- package/dist/chemical/injectionCycle.js +7 -7
- package/dist/chemical/injectionCycle.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.1] - 2026-09-24
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- **`chemical/injectionCycle()` cooling time was a quarter of the plate solution.** The equation
|
|
15
|
+
s² / (π² α) × ln(…) takes the full wall thickness s, but half the thickness was used. ABS at 2 mm now
|
|
16
|
+
cools in 4.18 s, not 1.04 s. The packing time (40% of cooling) and the total cycle change with it.
|
|
17
|
+
|
|
18
|
+
## [0.49.0] - 2026-09-24
|
|
19
|
+
|
|
20
|
+
### Fixed
|
|
21
|
+
|
|
22
|
+
- **`chemical/reliefValve()` mixed API 520's US-unit coefficient with SI inputs.** The gas branch
|
|
23
|
+
used C = 520 × … (lb/h, psia, in²) with kg/h and bar, which made every gas or steam area 7.6×
|
|
24
|
+
too large. The liquid branch did the same with the liquid constant and was about 141× too large.
|
|
25
|
+
For example, 5,000 kg/h of nitrogen at 10 barg now needs 536 mm² (orifice J), not 4,073 mm² (P).
|
|
26
|
+
Both branches now use the API 520 Part I SI equations and reproduce its Example 1 (gas,
|
|
27
|
+
3,699 mm²) and the first step of Example 5 (liquid, 3,066 mm² at Kw 0.97). The old golden test
|
|
28
|
+
compared only the ratio of the steam and gas areas, which no constant factor can change.
|
|
29
|
+
- **`chemical/flowControl()` reported Kv as Cv.** The metric liquid equation Q × √(SG/ΔP) gives Kv,
|
|
30
|
+
but it was returned as `cv`, and `kv` was then 0.865 × Kv. Cv was therefore 13.5% too low: 100 gpm
|
|
31
|
+
across 25 psi now gives Cv 20, not 17.3. The gas branch used N8 = 94.8, the mass-flow constant,
|
|
32
|
+
with a volumetric flow and with M in the numerator. It now uses the volumetric N9 = 2460 for Kv,
|
|
33
|
+
with the flow in m³/h at 0 °C and 101.325 kPa. Gas Cv was about 22× too high.
|
|
34
|
+
|
|
35
|
+
### Added
|
|
36
|
+
|
|
37
|
+
- `ReliefValveInput.specificHeatRatio` (default 1.4 gas, 1.3 steam) and `compressibility`
|
|
38
|
+
(default 1.0), which the API 520 gas equation takes.
|
|
39
|
+
|
|
10
40
|
## [0.48.2] - 2026-09-24
|
|
11
41
|
|
|
12
42
|
### Fixed
|
|
@@ -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":"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"}
|
|
@@ -2,11 +2,12 @@ import type { InjectionCycleInput, InjectionCycleResult } from './types.js';
|
|
|
2
2
|
/**
|
|
3
3
|
* Calculate injection molding cycle time.
|
|
4
4
|
*
|
|
5
|
-
* Cooling time formula (
|
|
6
|
-
* tc = (
|
|
5
|
+
* Cooling time formula (one-dimensional plate, mean temperature reaching the ejection temperature):
|
|
6
|
+
* tc = (s^2 / (PI^2 * alpha)) * ln((8/PI^2) * (Tm - Tw) / (Te - Tw))
|
|
7
7
|
*
|
|
8
8
|
* where:
|
|
9
|
-
* -
|
|
9
|
+
* - s = wall thickness (mm), the full thickness between the two mold walls
|
|
10
|
+
* (the first term of the plate series decays as exp(-PI^2 * alpha * t / s^2))
|
|
10
11
|
* - alpha = thermal diffusivity (mm^2/s)
|
|
11
12
|
* - Tm = melt temperature
|
|
12
13
|
* - Tw = mold wall temperature
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"injectionCycle.d.ts","sourceRoot":"","sources":["../../src/chemical/injectionCycle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,oBAAoB,EAAkC,MAAM,YAAY,CAAC;AA8E5G
|
|
1
|
+
{"version":3,"file":"injectionCycle.d.ts","sourceRoot":"","sources":["../../src/chemical/injectionCycle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,oBAAoB,EAAkC,MAAM,YAAY,CAAC;AA8E5G;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,oBAAoB,CAyG/E;AAED;;GAEG"}
|
|
@@ -60,11 +60,12 @@ const RESIN_PROPERTIES = {
|
|
|
60
60
|
/**
|
|
61
61
|
* Calculate injection molding cycle time.
|
|
62
62
|
*
|
|
63
|
-
* Cooling time formula (
|
|
64
|
-
* tc = (
|
|
63
|
+
* Cooling time formula (one-dimensional plate, mean temperature reaching the ejection temperature):
|
|
64
|
+
* tc = (s^2 / (PI^2 * alpha)) * ln((8/PI^2) * (Tm - Tw) / (Te - Tw))
|
|
65
65
|
*
|
|
66
66
|
* where:
|
|
67
|
-
* -
|
|
67
|
+
* - s = wall thickness (mm), the full thickness between the two mold walls
|
|
68
|
+
* (the first term of the plate series decays as exp(-PI^2 * alpha * t / s^2))
|
|
68
69
|
* - alpha = thermal diffusivity (mm^2/s)
|
|
69
70
|
* - Tm = melt temperature
|
|
70
71
|
* - Tw = mold wall temperature
|
|
@@ -90,10 +91,9 @@ export function injectionCycle(input) {
|
|
|
90
91
|
else {
|
|
91
92
|
props = RESIN_PROPERTIES[resin];
|
|
92
93
|
}
|
|
93
|
-
// Half wall thickness
|
|
94
|
-
const h = wallThickness / 2;
|
|
95
94
|
// Calculate cooling time
|
|
96
|
-
// tc = (
|
|
95
|
+
// tc = (s^2 / (PI^2 * alpha)) * ln((8/PI^2) * (Tm - Tw) / (Te - Tw)), s = full wall thickness
|
|
96
|
+
const s = wallThickness;
|
|
97
97
|
const piSquared = Math.PI * Math.PI;
|
|
98
98
|
const tempRatioNumerator = props.meltTemp - props.moldTemp;
|
|
99
99
|
const tempRatioDenominator = props.ejectionTemp - props.moldTemp;
|
|
@@ -107,7 +107,7 @@ export function injectionCycle(input) {
|
|
|
107
107
|
coolingTime = 0;
|
|
108
108
|
}
|
|
109
109
|
else {
|
|
110
|
-
coolingTime = (
|
|
110
|
+
coolingTime = (s * s / (piSquared * props.thermalDiffusivity)) * Math.log(tempRatio);
|
|
111
111
|
}
|
|
112
112
|
}
|
|
113
113
|
// Calculate fill time
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"injectionCycle.js","sourceRoot":"","sources":["../../src/chemical/injectionCycle.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAkBtC,MAAM,gBAAgB,GAA0D;IAC9E,GAAG,EAAE;QACH,kBAAkB,EAAE,IAAI;QACxB,QAAQ,EAAE,GAAG;QACb,QAAQ,EAAE,EAAE;QACZ,YAAY,EAAE,GAAG;QACjB,OAAO,EAAE,IAAI;KACd;IACD,EAAE,EAAE;QACF,kBAAkB,EAAE,IAAI;QACxB,QAAQ,EAAE,GAAG;QACb,QAAQ,EAAE,EAAE;QACZ,YAAY,EAAE,EAAE;QAChB,OAAO,EAAE,IAAI;KACd;IACD,EAAE,EAAE;QACF,kBAAkB,EAAE,IAAI;QACxB,QAAQ,EAAE,GAAG;QACb,QAAQ,EAAE,EAAE;QACZ,YAAY,EAAE,GAAG;QACjB,OAAO,EAAE,IAAI;KACd;IACD,EAAE,EAAE;QACF,kBAAkB,EAAE,IAAI;QACxB,QAAQ,EAAE,GAAG;QACb,QAAQ,EAAE,EAAE;QACZ,YAAY,EAAE,GAAG;QACjB,OAAO,EAAE,IAAI;KACd;IACD,IAAI,EAAE;QACJ,kBAAkB,EAAE,IAAI;QACxB,QAAQ,EAAE,GAAG;QACb,QAAQ,EAAE,EAAE;QACZ,YAAY,EAAE,EAAE;QAChB,OAAO,EAAE,IAAI;KACd;IACD,GAAG,EAAE;QACH,kBAAkB,EAAE,IAAI;QACxB,QAAQ,EAAE,GAAG;QACb,QAAQ,EAAE,EAAE;QACZ,YAAY,EAAE,GAAG;QACjB,OAAO,EAAE,IAAI;KACd;IACD,GAAG,EAAE;QACH,kBAAkB,EAAE,IAAI;QACxB,QAAQ,EAAE,GAAG;QACb,QAAQ,EAAE,EAAE;QACZ,YAAY,EAAE,GAAG;QACjB,OAAO,EAAE,IAAI;KACd;IACD,EAAE,EAAE;QACF,kBAAkB,EAAE,IAAI;QACxB,QAAQ,EAAE,GAAG;QACb,QAAQ,EAAE,EAAE;QACZ,YAAY,EAAE,EAAE;QAChB,OAAO,EAAE,IAAI;KACd;CACF,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"injectionCycle.js","sourceRoot":"","sources":["../../src/chemical/injectionCycle.ts"],"names":[],"mappings":"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"}
|
|
@@ -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.1",
|
|
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",
|