iapws-if97 2.1.1 → 2.1.2

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.
Files changed (83) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/backward/hs.d.ts.map +1 -1
  3. package/dist/backward/hs.js +26 -3
  4. package/dist/backward/hs.js.map +1 -1
  5. package/dist/backward/objective-normalization.d.ts +7 -0
  6. package/dist/backward/objective-normalization.d.ts.map +1 -0
  7. package/dist/backward/objective-normalization.js +8 -0
  8. package/dist/backward/objective-normalization.js.map +1 -0
  9. package/dist/backward/ph.d.ts.map +1 -1
  10. package/dist/backward/ph.js +21 -5
  11. package/dist/backward/ph.js.map +1 -1
  12. package/dist/backward/ps.d.ts.map +1 -1
  13. package/dist/backward/ps.js +15 -3
  14. package/dist/backward/ps.js.map +1 -1
  15. package/dist/backward/th.d.ts.map +1 -1
  16. package/dist/backward/th.js +3 -0
  17. package/dist/backward/th.js.map +1 -1
  18. package/dist/backward/tolerances.js +1 -1
  19. package/dist/backward/ts.d.ts.map +1 -1
  20. package/dist/backward/ts.js +3 -0
  21. package/dist/backward/ts.js.map +1 -1
  22. package/dist/constants.d.ts +6 -2
  23. package/dist/constants.d.ts.map +1 -1
  24. package/dist/constants.js +6 -2
  25. package/dist/constants.js.map +1 -1
  26. package/dist/core/input-validation.d.ts +2 -0
  27. package/dist/core/input-validation.d.ts.map +1 -0
  28. package/dist/core/input-validation.js +7 -0
  29. package/dist/core/input-validation.js.map +1 -0
  30. package/dist/core/public-normalization.d.ts +2 -3
  31. package/dist/core/public-normalization.d.ts.map +1 -1
  32. package/dist/core/public-normalization.js +32 -9
  33. package/dist/core/public-normalization.js.map +1 -1
  34. package/dist/core/region-detector.d.ts.map +1 -1
  35. package/dist/core/region-detector.js +71 -47
  36. package/dist/core/region-detector.js.map +1 -1
  37. package/dist/core/region3-pt.d.ts.map +1 -1
  38. package/dist/core/region3-pt.js +6 -1
  39. package/dist/core/region3-pt.js.map +1 -1
  40. package/dist/core/solve-input-normalization.d.ts.map +1 -1
  41. package/dist/core/solve-input-normalization.js +4 -1
  42. package/dist/core/solve-input-normalization.js.map +1 -1
  43. package/dist/core/solver.d.ts.map +1 -1
  44. package/dist/core/solver.js +3 -0
  45. package/dist/core/solver.js.map +1 -1
  46. package/dist/index.d.ts +8 -8
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +7 -16
  49. package/dist/index.js.map +1 -1
  50. package/dist/regions/boundaries.d.ts +0 -9
  51. package/dist/regions/boundaries.d.ts.map +1 -1
  52. package/dist/regions/boundaries.js +8 -0
  53. package/dist/regions/boundaries.js.map +1 -1
  54. package/dist/regions/region3-subregions.d.ts.map +1 -1
  55. package/dist/regions/region3-subregions.js +9 -6
  56. package/dist/regions/region3-subregions.js.map +1 -1
  57. package/dist/regions/region3.d.ts +5 -1
  58. package/dist/regions/region3.d.ts.map +1 -1
  59. package/dist/regions/region3.js +9 -2
  60. package/dist/regions/region3.js.map +1 -1
  61. package/dist/saturation/common.d.ts +1 -0
  62. package/dist/saturation/common.d.ts.map +1 -1
  63. package/dist/saturation/common.js +30 -3
  64. package/dist/saturation/common.js.map +1 -1
  65. package/dist/saturation/region4-hs.d.ts.map +1 -1
  66. package/dist/saturation/region4-hs.js +89 -6
  67. package/dist/saturation/region4-hs.js.map +1 -1
  68. package/dist/saturation/two-phase.d.ts.map +1 -1
  69. package/dist/saturation/two-phase.js +5 -0
  70. package/dist/saturation/two-phase.js.map +1 -1
  71. package/dist/solvers/nelder-mead.d.ts +0 -4
  72. package/dist/solvers/nelder-mead.d.ts.map +1 -1
  73. package/dist/solvers/nelder-mead.js +29 -12
  74. package/dist/solvers/nelder-mead.js.map +1 -1
  75. package/dist/solvers/newton-raphson.d.ts +1 -4
  76. package/dist/solvers/newton-raphson.d.ts.map +1 -1
  77. package/dist/solvers/newton-raphson.js +15 -4
  78. package/dist/solvers/newton-raphson.js.map +1 -1
  79. package/dist/transport/properties.d.ts +1 -0
  80. package/dist/transport/properties.d.ts.map +1 -1
  81. package/dist/transport/properties.js +44 -4
  82. package/dist/transport/properties.js.map +1 -1
  83. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"solve-input-normalization.js","sourceRoot":"","sources":["../../src/core/solve-input-normalization.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"solve-input-normalization.js","sourceRoot":"","sources":["../../src/core/solve-input-normalization.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"solver.d.ts","sourceRoot":"","sources":["../../src/core/solver.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAmB,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAkD3E;;;;;;GAMG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,UAAU,CAqCxD;AAED;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,CAenD"}
1
+ {"version":3,"file":"solver.d.ts","sourceRoot":"","sources":["../../src/core/solver.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAmB,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAmD3E;;;;;;GAMG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,UAAU,CAwCxD;AAED;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,CAenD"}
@@ -5,6 +5,7 @@ import { region2 } from '../regions/region2.js';
5
5
  import { region5 } from '../regions/region5.js';
6
6
  import { detectRegionPT } from './region-detector.js';
7
7
  import { solveRegion3PTBasic } from './region3-pt.js';
8
+ import { assertFiniteNumber } from './input-validation.js';
8
9
  import { normalizeSolveInput } from './solve-input-normalization.js';
9
10
  import { viscosity, thermalConductivity, surfaceTension, dielectricConstant, ionizationConstant } from '../transport/properties.js';
10
11
  import { solvePH } from '../backward/ph.js';
@@ -50,6 +51,8 @@ function enrichState(basic) {
50
51
  * @returns Complete steam state with transport properties
51
52
  */
52
53
  export function solvePT(p, T) {
54
+ assertFiniteNumber('Pressure', p);
55
+ assertFiniteNumber('Temperature', T);
53
56
  if (p < C.P_MIN || p > C.P_MAX) {
54
57
  throw new OutOfRangeError('Pressure', p, C.P_MIN, C.P_MAX);
55
58
  }
@@ -1 +1 @@
1
- {"version":3,"file":"solver.js","sourceRoot":"","sources":["../../src/core/solver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"solver.js","sourceRoot":"","sources":["../../src/core/solver.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -3,16 +3,16 @@
3
3
  *
4
4
  * Public API exports.
5
5
  */
6
- import type { BasicProperties, SteamState, SolveInput } from './types.js';
6
+ import type { SteamState, SolveInput } from './types.js';
7
7
  export declare function solvePT(p: number, T: number): SteamState;
8
8
  export declare function solve(input: SolveInput): SteamState;
9
- export declare function solvePH(p: number, h: number): BasicProperties;
10
- export declare function solvePS(p: number, s: number): BasicProperties;
11
- export declare function solveHS(h: number, s: number): BasicProperties;
12
- export declare function solveTH(T: number, h: number): BasicProperties;
13
- export declare function solveTS(T: number, s: number): BasicProperties;
14
- export declare function solvePx(p: number, x: number): BasicProperties;
15
- export declare function solveTx(T: number, x: number): BasicProperties;
9
+ export declare function solvePH(p: number, h: number): SteamState;
10
+ export declare function solvePS(p: number, s: number): SteamState;
11
+ export declare function solveHS(h: number, s: number): SteamState;
12
+ export declare function solveTH(T: number, h: number): SteamState;
13
+ export declare function solveTS(T: number, s: number): SteamState;
14
+ export declare function solvePx(p: number, x: number): SteamState;
15
+ export declare function solveTx(T: number, x: number): SteamState;
16
16
  export type { SteamState, SolveInput } from './types.js';
17
17
  export { Region, IF97Error, OutOfRangeError, ConvergenceError } from './types.js';
18
18
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAqB1E,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,UAAU,CAExD;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,CAEnD;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,eAAe,CAE7D;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,eAAe,CAE7D;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,eAAe,CAE7D;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,eAAe,CAE7D;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,eAAe,CAE7D;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,eAAe,CAE7D;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,eAAe,CAE7D;AAGD,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAWzD,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,UAAU,CAExD;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,CAEnD;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,UAAU,CAExD;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,UAAU,CAExD;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,UAAU,CAExD;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,UAAU,CAExD;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,UAAU,CAExD;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,UAAU,CAExD;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,UAAU,CAExD;AAGD,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -1,14 +1,5 @@
1
1
  import { solve as solveAny, solvePT as solvePTInternal } from './core/solver.js';
2
2
  import { normalizePublicState } from './core/public-normalization.js';
3
- import { solvePH as solvePHInternal } from './backward/ph.js';
4
- import { solvePS as solvePSInternal } from './backward/ps.js';
5
- import { solveHS as solveHSInternal } from './backward/hs.js';
6
- import { solveTH as solveTHInternal } from './backward/th.js';
7
- import { solveTS as solveTSInternal } from './backward/ts.js';
8
- import { solvePx as solvePxInternal, solveTx as solveTxInternal } from './saturation/two-phase.js';
9
- function normalizeBasicState(state) {
10
- return normalizePublicState(state);
11
- }
12
3
  function normalizeSteamState(state) {
13
4
  return normalizePublicState(state);
14
5
  }
@@ -22,25 +13,25 @@ export function solve(input) {
22
13
  return normalizeSteamState(solveAny(input));
23
14
  }
24
15
  export function solvePH(p, h) {
25
- return normalizeBasicState(solvePHInternal(p, h));
16
+ return normalizeSteamState(solveAny({ mode: 'PH', p, h }));
26
17
  }
27
18
  export function solvePS(p, s) {
28
- return normalizeBasicState(solvePSInternal(p, s));
19
+ return normalizeSteamState(solveAny({ mode: 'PS', p, s }));
29
20
  }
30
21
  export function solveHS(h, s) {
31
- return normalizeBasicState(solveHSInternal(h, s));
22
+ return normalizeSteamState(solveAny({ mode: 'HS', h, s }));
32
23
  }
33
24
  export function solveTH(T, h) {
34
- return normalizeBasicState(solveTHInternal(T, h));
25
+ return normalizeSteamState(solveAny({ mode: 'TH', T, h }));
35
26
  }
36
27
  export function solveTS(T, s) {
37
- return normalizeBasicState(solveTSInternal(T, s));
28
+ return normalizeSteamState(solveAny({ mode: 'TS', T, s }));
38
29
  }
39
30
  export function solvePx(p, x) {
40
- return normalizeBasicState(solvePxInternal(p, x));
31
+ return normalizeSteamState(solveAny({ mode: 'Px', p, x }));
41
32
  }
42
33
  export function solveTx(T, x) {
43
- return normalizeBasicState(solveTxInternal(T, x));
34
+ return normalizeSteamState(solveAny({ mode: 'Tx', T, x }));
44
35
  }
45
36
  export { Region, IF97Error, OutOfRangeError, ConvergenceError } from './types.js';
46
37
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,IAAI,QAAQ,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEnG,SAAS,mBAAmB,CAAC,KAAsB;IACjD,OAAO,oBAAoB,CAAC,KAAK,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAiB;IAC5C,OAAO,oBAAoB,CAAC,KAAK,CAAC,CAAC;AACrC,CAAC;AAED,eAAe;AACf,wEAAwE;AACxE,oEAAoE;AACpE,MAAM,UAAU,OAAO,CAAC,CAAS,EAAE,CAAS;IAC1C,OAAO,mBAAmB,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,KAAiB;IACrC,OAAO,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,CAAS,EAAE,CAAS;IAC1C,OAAO,mBAAmB,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,CAAS,EAAE,CAAS;IAC1C,OAAO,mBAAmB,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,CAAS,EAAE,CAAS;IAC1C,OAAO,mBAAmB,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,CAAS,EAAE,CAAS;IAC1C,OAAO,mBAAmB,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,CAAS,EAAE,CAAS;IAC1C,OAAO,mBAAmB,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,CAAS,EAAE,CAAS;IAC1C,OAAO,mBAAmB,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,CAAS,EAAE,CAAS;IAC1C,OAAO,mBAAmB,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AAID,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,IAAI,QAAQ,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAEtE,SAAS,mBAAmB,CAAC,KAAiB;IAC5C,OAAO,oBAAoB,CAAC,KAAK,CAAC,CAAC;AACrC,CAAC;AAED,eAAe;AACf,wEAAwE;AACxE,oEAAoE;AACpE,MAAM,UAAU,OAAO,CAAC,CAAS,EAAE,CAAS;IAC1C,OAAO,mBAAmB,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,KAAiB;IACrC,OAAO,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,CAAS,EAAE,CAAS;IAC1C,OAAO,mBAAmB,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,CAAS,EAAE,CAAS;IAC1C,OAAO,mBAAmB,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,CAAS,EAAE,CAAS;IAC1C,OAAO,mBAAmB,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,CAAS,EAAE,CAAS;IAC1C,OAAO,mBAAmB,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,CAAS,EAAE,CAAS;IAC1C,OAAO,mBAAmB,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,CAAS,EAAE,CAAS;IAC1C,OAAO,mBAAmB,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,CAAS,EAAE,CAAS;IAC1C,OAAO,mBAAmB,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7D,CAAC;AAID,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC"}
@@ -1,12 +1,3 @@
1
- /**
2
- * IAPWS-IF97 Region Boundary Equations
3
- *
4
- * Boundary equations between regions, including:
5
- * - B23: Boundary between Region 2 and Region 3
6
- * - B3 subregion boundaries (ab, cd, ef, gh, ij, jk, mn, op, qu, rx, uv, wx)
7
- *
8
- * Reference: IAPWS-IF97 Section 4 & Supplementary Release on v(P,T) for Region 3
9
- */
10
1
  /**
11
2
  * B23 boundary: Temperature → Pressure
12
3
  * Equation 5 (pp. 5), IAPWS-IF97
@@ -1 +1 @@
1
- {"version":3,"file":"boundaries.d.ts","sourceRoot":"","sources":["../../src/regions/boundaries.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAEnD;AAwBD,2BAA2B;AAC3B,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAKtC;AAED,2BAA2B;AAC3B,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAKtC;AAED,2BAA2B;AAC3B,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAEtC;AAED,2BAA2B;AAC3B,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAKtC;AAED,2BAA2B;AAC3B,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAKtC;AAED,2BAA2B;AAC3B,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAKtC;AAED,2BAA2B;AAC3B,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAKtC;AAED,2BAA2B;AAC3B,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAKtC;AAED,2BAA2B;AAC3B,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAKtC;AAED,2BAA2B;AAC3B,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAKtC;AAED,2BAA2B;AAC3B,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAKtC;AAED,2BAA2B;AAC3B,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAKtC"}
1
+ {"version":3,"file":"boundaries.d.ts","sourceRoot":"","sources":["../../src/regions/boundaries.ts"],"names":[],"mappings":"AAcA;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAKnD;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAKnD;AAwBD,2BAA2B;AAC3B,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAKtC;AAED,2BAA2B;AAC3B,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAKtC;AAED,2BAA2B;AAC3B,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAEtC;AAED,2BAA2B;AAC3B,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAKtC;AAED,2BAA2B;AAC3B,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAKtC;AAED,2BAA2B;AAC3B,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAKtC;AAED,2BAA2B;AAC3B,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAKtC;AAED,2BAA2B;AAC3B,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAKtC;AAED,2BAA2B;AAC3B,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAKtC;AAED,2BAA2B;AAC3B,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAKtC;AAED,2BAA2B;AAC3B,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAKtC;AAED,2BAA2B;AAC3B,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAKtC"}
@@ -7,6 +7,8 @@
7
7
  *
8
8
  * Reference: IAPWS-IF97 Section 4 & Supplementary Release on v(P,T) for Region 3
9
9
  */
10
+ import { B23_P_MIN, B23_T_MAX, P_MAX, R2_T_MIN } from '../constants.js';
11
+ import { IF97Error } from '../types.js';
10
12
  // ─── B23 Boundary (Region 2 ↔ Region 3) ────────────────────────────────────
11
13
  /**
12
14
  * B23 boundary: Temperature → Pressure
@@ -16,6 +18,9 @@
16
18
  * @returns Pressure [MPa] on the B23 boundary
17
19
  */
18
20
  export function boundary23_T_to_P(T) {
21
+ if (!Number.isFinite(T) || T < R2_T_MIN || T > B23_T_MAX) {
22
+ throw new IF97Error(`boundary23_T_to_P requires T in [${R2_T_MIN}, ${B23_T_MAX}] K, got ${T}`);
23
+ }
19
24
  return 348.05185628969 - 1.1671859879975 * T + 0.0010192970039326 * T * T;
20
25
  }
21
26
  /**
@@ -26,6 +31,9 @@ export function boundary23_T_to_P(T) {
26
31
  * @returns Temperature [K] on the B23 boundary
27
32
  */
28
33
  export function boundary23_P_to_T(p) {
34
+ if (!Number.isFinite(p) || p < B23_P_MIN || p > P_MAX) {
35
+ throw new IF97Error(`boundary23_P_to_T requires p in [${B23_P_MIN}, ${P_MAX}] MPa, got ${p}`);
36
+ }
29
37
  return 572.54459862746 + Math.sqrt((p - 13.91883977887) / 0.0010192970039326);
30
38
  }
31
39
  // ─── B3 Subregion Boundaries ────────────────────────────────────────────────
@@ -1 +1 @@
1
- {"version":3,"file":"boundaries.js","sourceRoot":"","sources":["../../src/regions/boundaries.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,8EAA8E;AAE9E;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,CAAS;IACzC,OAAO,eAAe,GAAG,eAAe,GAAG,CAAC,GAAG,kBAAkB,GAAG,CAAC,GAAG,CAAC,CAAC;AAC5E,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,CAAS;IACzC,OAAO,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,GAAG,kBAAkB,CAAC,CAAC;AAChF,CAAC;AAED,+EAA+E;AAC/E,qEAAqE;AAErE,kDAAkD;AAClD,SAAS,QAAQ,CAAC,CAAS,EAAE,CAAoB,EAAE,CAAoB;IACrE,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,yDAAyD;AACzD,SAAS,UAAU,CAAC,CAAS,EAAE,CAAoB,EAAE,CAAoB;IACvE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACxB,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,2BAA2B;AAC3B,MAAM,UAAU,IAAI,CAAC,CAAS;IAC5B,OAAO,UAAU,CAAC,CAAC,EACjB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EACjB,CAAC,kBAAkB,EAAE,CAAC,kBAAkB,EAAE,kBAAkB,EAAE,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CACvG,CAAC;AACJ,CAAC;AAED,2BAA2B;AAC3B,MAAM,UAAU,IAAI,CAAC,CAAS;IAC5B,OAAO,QAAQ,CAAC,CAAC,EACf,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACZ,CAAC,kBAAkB,EAAE,gBAAgB,EAAE,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,CAClF,CAAC;AACJ,CAAC;AAED,2BAA2B;AAC3B,MAAM,UAAU,IAAI,CAAC,CAAS;IAC5B,OAAO,WAAW,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,OAAO,CAAC;AAC9C,CAAC;AAED,2BAA2B;AAC3B,MAAM,UAAU,IAAI,CAAC,CAAS;IAC5B,OAAO,QAAQ,CAAC,CAAC,EACf,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACf,CAAC,CAAC,kBAAkB,EAAE,kBAAkB,EAAE,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,CAAC,mBAAmB,CAAC,CACtG,CAAC;AACJ,CAAC;AAED,2BAA2B;AAC3B,MAAM,UAAU,IAAI,CAAC,CAAS;IAC5B,OAAO,QAAQ,CAAC,CAAC,EACf,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACf,CAAC,kBAAkB,EAAE,CAAC,mBAAmB,EAAE,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,CAC3G,CAAC;AACJ,CAAC;AAED,2BAA2B;AAC3B,MAAM,UAAU,IAAI,CAAC,CAAS;IAC5B,OAAO,QAAQ,CAAC,CAAC,EACf,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACf,CAAC,kBAAkB,EAAE,CAAC,gBAAgB,EAAE,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,CACxG,CAAC;AACJ,CAAC;AAED,2BAA2B;AAC3B,MAAM,UAAU,IAAI,CAAC,CAAS;IAC5B,OAAO,QAAQ,CAAC,CAAC,EACf,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACZ,CAAC,kBAAkB,EAAE,gBAAgB,EAAE,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,CAClF,CAAC;AACJ,CAAC;AAED,2BAA2B;AAC3B,MAAM,UAAU,IAAI,CAAC,CAAS;IAC5B,OAAO,UAAU,CAAC,CAAC,EACjB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EACjB,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,CAAC,mBAAmB,CAAC,CAC5G,CAAC;AACJ,CAAC;AAED,2BAA2B;AAC3B,MAAM,UAAU,IAAI,CAAC,CAAS;IAC5B,OAAO,QAAQ,CAAC,CAAC,EACf,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACZ,CAAC,kBAAkB,EAAE,gBAAgB,EAAE,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,CAClF,CAAC;AACJ,CAAC;AAED,2BAA2B;AAC3B,MAAM,UAAU,IAAI,CAAC,CAAS;IAC5B,OAAO,QAAQ,CAAC,CAAC,EACf,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACZ,CAAC,kBAAkB,EAAE,CAAC,gBAAgB,EAAE,mBAAmB,EAAE,CAAC,mBAAmB,CAAC,CACnF,CAAC;AACJ,CAAC;AAED,2BAA2B;AAC3B,MAAM,UAAU,IAAI,CAAC,CAAS;IAC5B,OAAO,QAAQ,CAAC,CAAC,EACf,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACZ,CAAC,kBAAkB,EAAE,gBAAgB,EAAE,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,CACjF,CAAC;AACJ,CAAC;AAED,2BAA2B;AAC3B,MAAM,UAAU,IAAI,CAAC,CAAS;IAC5B,OAAO,UAAU,CAAC,CAAC,EACjB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EACjB,CAAC,eAAe,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,kBAAkB,CAAC,CACnG,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"boundaries.js","sourceRoot":"","sources":["../../src/regions/boundaries.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"region3-subregions.d.ts","sourceRoot":"","sources":["../../src/regions/region3-subregions.ts"],"names":[],"mappings":"AAWA;;4EAE4E;AAC5E,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAWxE;AAED;;kDAEkD;AAClD,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAmG1D"}
1
+ {"version":3,"file":"region3-subregions.d.ts","sourceRoot":"","sources":["../../src/regions/region3-subregions.ts"],"names":[],"mappings":"AAcA;;4EAE4E;AAC5E,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAWxE;AAED;;kDAEkD;AAClD,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAqG1D"}
@@ -8,13 +8,15 @@ import { b3ab, b3cd, b3ef, b3gh, b3ij, b3jk, b3mn, b3op, b3qu, b3rx, b3uv, b3wx
8
8
  import { saturationPressure, saturationTemperature } from './region4.js';
9
9
  import { Pc } from '../constants.js';
10
10
  import { IF97Error } from '../types.js';
11
+ // Shared liquid-side C/S saturation threshold from the Region 3 supplementary release.
12
+ const R3_C_S_LIQUID_BOUNDARY_PRESSURE = 19.00881189173929;
11
13
  /** Compute specific volume for Region 3 saturation boundary. x=0 liquid, x=1 vapor
12
14
  * Pressure thresholds from IAPWS Supplementary Release on Backward
13
15
  * Equations v(P,T) for Region 3, Table 1 (saturation subregion limits). */
14
16
  export function region3SatVolume(p, T, x) {
15
17
  if (x === 0) {
16
- if (p < 19.00881189)
17
- return evalSubregion(R3.C, p, T); // Psat(643.15 K)
18
+ if (p < R3_C_S_LIQUID_BOUNDARY_PRESSURE)
19
+ return evalSubregion(R3.C, p, T);
18
20
  if (p < 21.0434)
19
21
  return evalSubregion(R3.S, p, T); // near P3cd
20
22
  if (p < 21.9316)
@@ -149,12 +151,13 @@ export function region3Volume(p, T) {
149
151
  return evalSubregion(R3.R, p, T);
150
152
  return evalSubregion(R3.K, p, T);
151
153
  }
152
- if (p > 19.00881189173929 && p <= 20.5) {
154
+ if (p >= R3_C_S_LIQUID_BOUNDARY_PRESSURE && p <= 20.5) {
153
155
  const tcd = b3cd(p), Ts = saturationTemperature(p);
154
- if (T <= tcd)
155
- return evalSubregion(R3.C, p, T);
156
- if (T <= Ts)
156
+ if (T <= Ts) {
157
+ if (T < tcd && T < Ts)
158
+ return evalSubregion(R3.C, p, T);
157
159
  return evalSubregion(R3.S, p, T);
160
+ }
158
161
  return evalSubregion(R3.T, p, T);
159
162
  }
160
163
  if (p > 16.5291642526) {
@@ -1 +1 @@
1
- {"version":3,"file":"region3-subregions.js","sourceRoot":"","sources":["../../src/regions/region3-subregions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"region3-subregions.js","sourceRoot":"","sources":["../../src/regions/region3-subregions.ts"],"names":[],"mappings":"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"}
@@ -10,9 +10,13 @@ import type { BasicProperties } from '../types.js';
10
10
  /**
11
11
  * Compute Region 3 thermodynamic properties from density and temperature.
12
12
  *
13
- * @param rho - Density [kg/m³]
13
+ * Low-level Region 3 equation entry point. Callers must provide a finite,
14
+ * strictly positive density because the Helmholtz formulation contains ln(ρ).
15
+ *
16
+ * @param rho - Density [kg/m³], must be > 0
14
17
  * @param T - Temperature [K]
15
18
  * @returns Basic thermodynamic properties
19
+ * @throws {IF97Error} if rho is non-finite or not strictly positive
16
20
  */
17
21
  export declare function region3ByRhoT(rho: number, T: number): BasicProperties;
18
22
  //# sourceMappingURL=region3.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"region3.d.ts","sourceRoot":"","sources":["../../src/regions/region3.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAoB,MAAM,aAAa,CAAC;AAuDrE;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,eAAe,CAyDrE"}
1
+ {"version":3,"file":"region3.d.ts","sourceRoot":"","sources":["../../src/regions/region3.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAoB,MAAM,aAAa,CAAC;AAuDrE;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,eAAe,CA6DrE"}
@@ -7,7 +7,7 @@
7
7
  * Reference: IAPWS-IF97, Section 7 (Equations for Region 3)
8
8
  */
9
9
  import { R } from '../constants.js';
10
- import { Region } from '../types.js';
10
+ import { IF97Error, Region } from '../types.js';
11
11
  // ─── Coefficient Table (Table 30, IAPWS-IF97) ──────────────────────────────
12
12
  const COEFFICIENTS = [
13
13
  // Entry 0 is the coefficient n₁ for the logarithmic term n₁·ln(δ).
@@ -60,11 +60,18 @@ const T_STAR = 647.096; // T* [K] (critical temperature)
60
60
  /**
61
61
  * Compute Region 3 thermodynamic properties from density and temperature.
62
62
  *
63
- * @param rho - Density [kg/m³]
63
+ * Low-level Region 3 equation entry point. Callers must provide a finite,
64
+ * strictly positive density because the Helmholtz formulation contains ln(ρ).
65
+ *
66
+ * @param rho - Density [kg/m³], must be > 0
64
67
  * @param T - Temperature [K]
65
68
  * @returns Basic thermodynamic properties
69
+ * @throws {IF97Error} if rho is non-finite or not strictly positive
66
70
  */
67
71
  export function region3ByRhoT(rho, T) {
72
+ if (!Number.isFinite(rho) || rho <= 0) {
73
+ throw new IF97Error(`region3ByRhoT requires a finite positive density, got ${rho}`);
74
+ }
68
75
  const delta = rho / RHO_STAR;
69
76
  const tau = T_STAR / T;
70
77
  const v = 1 / rho;
@@ -1 +1 @@
1
- {"version":3,"file":"region3.js","sourceRoot":"","sources":["../../src/regions/region3.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"region3.js","sourceRoot":"","sources":["../../src/regions/region3.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,iBAAiB,CAAC;AAEpC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAEhD,8EAA8E;AAE9E,MAAM,YAAY,GAAqB;IACrC,mEAAmE;IACnE,wEAAwE;IACxE,uEAAuE;IACvE,CAAC,CAAC,EAAE,CAAC,EAAE,eAAe,CAAC;IACvB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,kBAAkB,CAAC;IAC3B,CAAC,CAAC,EAAE,CAAC,EAAE,kBAAkB,CAAC;IAC1B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,kBAAkB,CAAC;IAC3B,CAAC,CAAC,EAAE,CAAC,EAAE,kBAAkB,CAAC;IAC1B,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,kBAAkB,CAAC;IAC5B,CAAC,CAAC,EAAE,EAAE,EAAE,kBAAkB,CAAC;IAC3B,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,mBAAmB,CAAC;IAC7B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,kBAAkB,CAAC;IAC3B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,kBAAkB,CAAC;IAC3B,CAAC,CAAC,EAAE,EAAE,EAAE,gBAAgB,CAAC;IACzB,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,gBAAgB,CAAC;IAC1B,CAAC,CAAC,EAAE,CAAC,EAAE,gBAAgB,CAAC;IACxB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,gBAAgB,CAAC;IACzB,CAAC,CAAC,EAAE,CAAC,EAAE,kBAAkB,CAAC;IAC1B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,kBAAkB,CAAC;IAC3B,CAAC,CAAC,EAAE,EAAE,EAAE,mBAAmB,CAAC;IAC5B,CAAC,CAAC,EAAE,EAAE,EAAE,gBAAgB,CAAC;IACzB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,gBAAgB,CAAC;IACzB,CAAC,CAAC,EAAE,CAAC,EAAE,kBAAkB,CAAC;IAC1B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,kBAAkB,CAAC;IAC3B,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,mBAAmB,CAAC;IAC7B,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,gBAAgB,CAAC;IAC1B,CAAC,CAAC,EAAE,CAAC,EAAE,mBAAmB,CAAC;IAC3B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,gBAAgB,CAAC;IACzB,CAAC,CAAC,EAAE,CAAC,EAAE,gBAAgB,CAAC;IACxB,CAAC,CAAC,EAAE,EAAE,EAAE,gBAAgB,CAAC;IACzB,CAAC,CAAC,EAAE,CAAC,EAAE,gBAAgB,CAAC;IACxB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,gBAAgB,CAAC;IACzB,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,gBAAgB,CAAC;IAC1B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC;IAC5B,CAAC,CAAC,EAAE,CAAC,EAAE,mBAAmB,CAAC;IAC3B,CAAC,CAAC,EAAE,EAAE,EAAE,gBAAgB,CAAC;IACzB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC;IAC5B,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,mBAAmB,CAAC;IAC7B,CAAC,CAAC,EAAE,CAAC,EAAE,mBAAmB,CAAC;IAC3B,CAAC,CAAC,EAAE,EAAE,EAAE,mBAAmB,CAAC;IAC5B,CAAC,EAAE,EAAE,CAAC,EAAE,mBAAmB,CAAC;IAC5B,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC;IAC7B,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,mBAAmB,CAAC;CACtB,CAAC;AAEX,mCAAmC;AACnC,MAAM,QAAQ,GAAG,GAAG,CAAC,CAAC,gCAAgC;AACtD,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,gCAAgC;AAExD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,aAAa,CAAC,GAAW,EAAE,CAAS;IAClD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,SAAS,CAAC,yDAAyD,GAAG,EAAE,CAAC,CAAC;IACtF,CAAC;IAED,MAAM,KAAK,GAAG,GAAG,GAAG,QAAQ,CAAC;IAC7B,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,CAAC;IACvB,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IAElB,kDAAkD;IAClD,MAAM,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,IAAI,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC/B,IAAI,SAAS,GAAG,EAAE,GAAG,KAAK,CAAC;IAC3B,IAAI,cAAc,GAAG,CAAC,EAAE,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;IAC3C,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,YAAY,GAAG,CAAC,CAAC;IAErB,qDAAqD;IACrD,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC;QACnD,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACpC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAEhC,GAAG,IAAI,CAAC,GAAG,QAAQ,GAAG,MAAM,CAAC;QAC7B,SAAS,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC;QACrD,cAAc,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC;QACpE,OAAO,IAAI,CAAC,GAAG,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACnD,UAAU,IAAI,CAAC,GAAG,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAChE,YAAY,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,OAAO;QACtB,QAAQ,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,SAAS,GAAG,IAAI;QAChD,WAAW,EAAE,CAAC;QACd,cAAc,EAAE,CAAC;QACjB,cAAc,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,OAAO;QACrC,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,OAAO,GAAG,GAAG,CAAC;QAClC,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,OAAO,GAAG,KAAK,GAAG,SAAS,CAAC;QACrD,EAAE,EAAE,CAAC,GAAG,CACN,CAAC,GAAG,GAAG,GAAG,GAAG,UAAU;YACvB,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,GAAG,GAAG,YAAY,EAAE,CAAC,CAAC;gBAC3D,CAAC,CAAC,GAAG,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,KAAK,GAAG,cAAc,CAAC,CACzD;QACD,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,UAAU,CAAC;QACjC,YAAY,EAAE,IAAI,CAAC,IAAI,CACrB,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CACb,CAAC,GAAG,KAAK,GAAG,SAAS;YACrB,KAAK,GAAG,KAAK,GAAG,cAAc;YAC9B,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,GAAG,GAAG,YAAY,EAAE,CAAC,CAAC;gBAC3D,CAAC,GAAG,GAAG,GAAG,GAAG,UAAU,CAAC,CACzB,CACF;QACD,OAAO,EAAE,IAAI;QACb,iBAAiB,EAAE,CAAC,SAAS,GAAG,GAAG,GAAG,YAAY,CAAC;YACjD,CAAC,CAAC,GAAG,SAAS,GAAG,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC;QAC9C,yBAAyB,EAAE,CAAC;YAC1B,CAAC,CAAC,GAAG,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,KAAK,GAAG,cAAc,CAAC;YACxD,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI;KACrB,CAAC;AACJ,CAAC"}
@@ -13,6 +13,7 @@ export interface SaturationEndpoints {
13
13
  liquid: BasicProperties;
14
14
  vapor: BasicProperties;
15
15
  }
16
+ export declare function rawQualityFromSaturationProperty(liquidValue: number, vaporValue: number, mixtureValue: number): number;
16
17
  /**
17
18
  * Compute saturated liquid and vapour properties at a given pressure.
18
19
  *
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/saturation/common.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAcnD,0EAA0E;AAC1E,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,eAAe,CAAC;IACxB,KAAK,EAAE,eAAe,CAAC;CACxB;AA6BD;;;;;;;GAOG;AACH,wBAAgB,6BAA6B,CAAC,CAAC,EAAE,MAAM,GAAG,mBAAmB,CAwB5E;AAED;;;GAGG;AACH,wBAAgB,gCAAgC,CAAC,CAAC,EAAE,MAAM,GAAG,mBAAmB,CAc/E;AAED;;;;;;;;GAQG;AACH,wBAAgB,6BAA6B,CAC3C,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,GACnB,MAAM,CAER;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,mBAAmB,EAC9B,YAAY,EAAE,MAAM,GACnB,eAAe,CA2BjB"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/saturation/common.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAcnD,0EAA0E;AAC1E,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,eAAe,CAAC;IACxB,KAAK,EAAE,eAAe,CAAC;CACxB;AA2CD,wBAAgB,gCAAgC,CAC9C,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,GACnB,MAAM,CAWR;AAED;;;;;;;GAOG;AACH,wBAAgB,6BAA6B,CAAC,CAAC,EAAE,MAAM,GAAG,mBAAmB,CAwB5E;AAED;;;GAGG;AACH,wBAAgB,gCAAgC,CAAC,CAAC,EAAE,MAAM,GAAG,mBAAmB,CAc/E;AAED;;;;;;;;GAQG;AACH,wBAAgB,6BAA6B,CAC3C,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,GACnB,MAAM,CAMR;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,mBAAmB,EAC9B,YAAY,EAAE,MAAM,GACnB,eAAe,CA8BjB"}
@@ -1,4 +1,4 @@
1
- import { Region } from '../types.js';
1
+ import { IF97Error, Region } from '../types.js';
2
2
  import { Pc, R2_T_MIN, RHOc, Tt } from '../constants.js';
3
3
  import { region1 } from '../regions/region1.js';
4
4
  import { region2 } from '../regions/region2.js';
@@ -20,16 +20,36 @@ function withRegion4Metadata(state, quality) {
20
20
  */
21
21
  function solveR3Density(p, T, x) {
22
22
  const v0 = region3SatVolume(p, T, x);
23
- return newtonRaphson((rho) => region3ByRhoT(rho, T).pressure - p, 1 / v0);
23
+ return newtonRaphson((rho) => {
24
+ if (!Number.isFinite(rho) || rho <= 0) {
25
+ return Number.NaN;
26
+ }
27
+ return region3ByRhoT(rho, T).pressure - p;
28
+ }, 1 / v0);
24
29
  }
25
30
  /** Clamp vapour quality to [0, 1], snapping near-zero/one values to the boundary. */
26
31
  function clampQuality(x) {
32
+ if (!Number.isFinite(x))
33
+ return Number.NaN;
27
34
  if (x <= 1e-12)
28
35
  return 0;
29
36
  if (x >= 1 - 1e-12)
30
37
  return 1;
31
38
  return Math.max(0, Math.min(1, x));
32
39
  }
40
+ function qualitySpanTolerance(liquidValue, vaporValue, mixtureValue) {
41
+ return 1e-12 * Math.max(1, Math.abs(liquidValue), Math.abs(vaporValue), Math.abs(mixtureValue));
42
+ }
43
+ export function rawQualityFromSaturationProperty(liquidValue, vaporValue, mixtureValue) {
44
+ if (!Number.isFinite(liquidValue) || !Number.isFinite(vaporValue) || !Number.isFinite(mixtureValue)) {
45
+ return Number.NaN;
46
+ }
47
+ const span = vaporValue - liquidValue;
48
+ if (Math.abs(span) <= qualitySpanTolerance(liquidValue, vaporValue, mixtureValue)) {
49
+ return Number.NaN;
50
+ }
51
+ return (mixtureValue - liquidValue) / span;
52
+ }
33
53
  /**
34
54
  * Compute saturated liquid and vapour properties at a given pressure.
35
55
  *
@@ -87,7 +107,11 @@ export function saturationEndpointsAtTemperature(T) {
87
107
  * @param mixtureValue - Property value of the two-phase mixture
88
108
  */
89
109
  export function qualityFromSaturationProperty(liquidValue, vaporValue, mixtureValue) {
90
- return clampQuality((mixtureValue - liquidValue) / (vaporValue - liquidValue));
110
+ const quality = rawQualityFromSaturationProperty(liquidValue, vaporValue, mixtureValue);
111
+ if (!Number.isFinite(quality)) {
112
+ throw new IF97Error('Cannot determine vapor quality from degenerate saturation endpoints');
113
+ }
114
+ return clampQuality(quality);
91
115
  }
92
116
  /**
93
117
  * Linearly mix saturated liquid and vapour properties at a given quality.
@@ -100,6 +124,9 @@ export function qualityFromSaturationProperty(liquidValue, vaporValue, mixtureVa
100
124
  */
101
125
  export function mixSaturationState(endpoints, qualityInput) {
102
126
  const quality = clampQuality(qualityInput);
127
+ if (!Number.isFinite(quality)) {
128
+ throw new IF97Error('Region 4 quality must be finite');
129
+ }
103
130
  const { liquid, vapor, pressure, temperature } = endpoints;
104
131
  if (quality === 0) {
105
132
  return withRegion4Metadata(liquid, 0);
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/saturation/common.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/saturation/common.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"region4-hs.d.ts","sourceRoot":"","sources":["../../src/saturation/region4-hs.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAkFnD,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAkD9E"}
1
+ {"version":3,"file":"region4-hs.d.ts","sourceRoot":"","sources":["../../src/saturation/region4-hs.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAmMnD,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAuD9E"}