iapws-if97 2.0.2 → 2.1.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.
Files changed (69) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/README.md +33 -65
  3. package/dist/backward/hs.d.ts.map +1 -1
  4. package/dist/backward/hs.js +28 -42
  5. package/dist/backward/hs.js.map +1 -1
  6. package/dist/backward/ph.d.ts.map +1 -1
  7. package/dist/backward/ph.js +24 -5
  8. package/dist/backward/ph.js.map +1 -1
  9. package/dist/backward/ps.d.ts.map +1 -1
  10. package/dist/backward/ps.js +24 -5
  11. package/dist/backward/ps.js.map +1 -1
  12. package/dist/backward/solution-validation.d.ts +13 -0
  13. package/dist/backward/solution-validation.d.ts.map +1 -0
  14. package/dist/backward/solution-validation.js +85 -0
  15. package/dist/backward/solution-validation.js.map +1 -0
  16. package/dist/backward/th.d.ts.map +1 -1
  17. package/dist/backward/th.js +35 -5
  18. package/dist/backward/th.js.map +1 -1
  19. package/dist/backward/tolerances.d.ts +6 -0
  20. package/dist/backward/tolerances.d.ts.map +1 -0
  21. package/dist/backward/tolerances.js +21 -0
  22. package/dist/backward/tolerances.js.map +1 -0
  23. package/dist/backward/ts.d.ts.map +1 -1
  24. package/dist/backward/ts.js +35 -5
  25. package/dist/backward/ts.js.map +1 -1
  26. package/dist/constants.d.ts +34 -12
  27. package/dist/constants.d.ts.map +1 -1
  28. package/dist/constants.js +43 -13
  29. package/dist/constants.js.map +1 -1
  30. package/dist/core/region-detector.d.ts.map +1 -1
  31. package/dist/core/region-detector.js +56 -12
  32. package/dist/core/region-detector.js.map +1 -1
  33. package/dist/core/solver.d.ts.map +1 -1
  34. package/dist/core/solver.js +10 -4
  35. package/dist/core/solver.js.map +1 -1
  36. package/dist/regions/region3-subregions.d.ts +6 -2
  37. package/dist/regions/region3-subregions.d.ts.map +1 -1
  38. package/dist/regions/region3-subregions.js +15 -10
  39. package/dist/regions/region3-subregions.js.map +1 -1
  40. package/dist/regions/region3.d.ts.map +1 -1
  41. package/dist/regions/region3.js +3 -0
  42. package/dist/regions/region3.js.map +1 -1
  43. package/dist/regions/region4.d.ts +3 -1
  44. package/dist/regions/region4.d.ts.map +1 -1
  45. package/dist/regions/region4.js +9 -6
  46. package/dist/regions/region4.js.map +1 -1
  47. package/dist/saturation/common.d.ts.map +1 -1
  48. package/dist/saturation/common.js +23 -11
  49. package/dist/saturation/common.js.map +1 -1
  50. package/dist/saturation/region4-boundaries.d.ts +14 -0
  51. package/dist/saturation/region4-boundaries.d.ts.map +1 -0
  52. package/dist/saturation/region4-boundaries.js +79 -0
  53. package/dist/saturation/region4-boundaries.js.map +1 -0
  54. package/dist/saturation/region4-hs.d.ts +3 -0
  55. package/dist/saturation/region4-hs.d.ts.map +1 -0
  56. package/dist/saturation/region4-hs.js +82 -0
  57. package/dist/saturation/region4-hs.js.map +1 -0
  58. package/dist/saturation/two-phase.d.ts.map +1 -1
  59. package/dist/saturation/two-phase.js +4 -9
  60. package/dist/saturation/two-phase.js.map +1 -1
  61. package/dist/saturation.d.ts +6 -1
  62. package/dist/saturation.d.ts.map +1 -1
  63. package/dist/saturation.js +6 -1
  64. package/dist/saturation.js.map +1 -1
  65. package/dist/types.d.ts +8 -8
  66. package/dist/types.d.ts.map +1 -1
  67. package/dist/types.js +1 -1
  68. package/dist/types.js.map +1 -1
  69. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,+EAA+E;AAE/E,kDAAkD;AAClD,MAAM,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC;AAE1B,+EAA+E;AAE/E,+BAA+B;AAC/B,MAAM,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC;AAE1B,oEAAoE;AACpE,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,CAAC;AAE9C,8BAA8B;AAC9B,MAAM,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC;AAEzB,+BAA+B;AAC/B,MAAM,CAAC,MAAM,IAAI,GAAG,GAAG,CAAC;AAExB,+EAA+E;AAE/E,kCAAkC;AAClC,MAAM,CAAC,MAAM,EAAE,GAAG,WAAW,CAAC;AAE9B,+EAA+E;AAE/E,6BAA6B;AAC7B,MAAM,CAAC,MAAM,KAAK,GAAG,iBAAiB,CAAC;AAEvC,6BAA6B;AAC7B,MAAM,CAAC,MAAM,KAAK,GAAG,KAAK,CAAC;AAE3B,gDAAgD;AAChD,MAAM,CAAC,MAAM,KAAK,GAAG,MAAM,CAAC;AAE5B,oDAAoD;AACpD,MAAM,CAAC,MAAM,KAAK,GAAG,OAAO,CAAC;AAE7B,2CAA2C;AAC3C,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,gBAAgB,CAAC;AAEvC,2CAA2C;AAC3C,MAAM,CAAC,MAAM,KAAK,GAAG,kBAAkB,CAAC;AAExC,wCAAwC;AACxC,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,cAAc,CAAC;AAErC,wCAAwC;AACxC,MAAM,CAAC,MAAM,KAAK,GAAG,iBAAiB,CAAC;AAEvC,8EAA8E;AAE9E,iFAAiF;AACjF,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC;AAE/B,6EAA6E;AAC7E,MAAM,CAAC,MAAM,QAAQ,GAAG,OAAO,CAAC;AAEhC,qDAAqD;AACrD,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC;AAE7B,gDAAgD;AAChD,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,CAAC;AAE5B,8EAA8E;AAE9E,iCAAiC;AACjC,MAAM,CAAC,MAAM,SAAS,GAAG,aAAa,CAAC;AAEvC,kCAAkC;AAClC,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC;AAEhC,8EAA8E;AAE9E,uCAAuC;AACvC,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC;AAE/B,4CAA4C;AAC5C,MAAM,CAAC,MAAM,QAAQ,GAAG,gBAAgB,CAAC;AAEzC,yCAAyC;AACzC,MAAM,CAAC,MAAM,QAAQ,GAAG,kBAAkB,CAAC;AAE3C,8EAA8E;AAE9E,uCAAuC;AACvC,MAAM,CAAC,MAAM,QAAQ,GAAG,OAAO,CAAC;AAEhC,sCAAsC;AACtC,MAAM,CAAC,MAAM,QAAQ,GAAG,EAAE,CAAC;AAE3B,uCAAuC;AACvC,MAAM,CAAC,MAAM,QAAQ,GAAG,OAAO,CAAC;AAEhC,+EAA+E;AAE/E,sCAAsC;AACtC,MAAM,CAAC,MAAM,SAAS,GAAG,WAAW,CAAC;AAErC,sCAAsC;AACtC,MAAM,CAAC,MAAM,SAAS,GAAG,WAAW,CAAC;AAErC,mCAAmC;AACnC,MAAM,CAAC,MAAM,SAAS,GAAG,WAAW,CAAC;AAErC,mCAAmC;AACnC,MAAM,CAAC,MAAM,SAAS,GAAG,WAAW,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"region-detector.d.ts","sourceRoot":"","sources":["../../src/core/region-detector.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC;;;GAGG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,CAehE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,CAwBhE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,CAwBhE;AAmHD;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,CA6EhE;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,CAEhE;AAsKD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,CA8IhE"}
1
+ {"version":3,"file":"region-detector.d.ts","sourceRoot":"","sources":["../../src/core/region-detector.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAIrC;;;GAGG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,CAehE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,CA+BhE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,CA+BhE;AAqID;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,CAuFhE;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,CAEhE;AAqLD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,CAoJhE"}
@@ -8,7 +8,9 @@ import { region1 } from '../regions/region1.js';
8
8
  import { region2 } from '../regions/region2.js';
9
9
  import { region5 } from '../regions/region5.js';
10
10
  import { saturationEndpointsAtTemperature } from '../saturation/common.js';
11
+ import { tryRegion4HSState } from '../saturation/region4-hs.js';
11
12
  import { Region } from '../types.js';
13
+ import { bracketedNewton } from '../solvers/bracketed-newton.js';
12
14
  import { solveRegion3PTBasic } from './region3-pt.js';
13
15
  /**
14
16
  * Detect the IAPWS-IF97 region for given P and T.
@@ -40,6 +42,12 @@ export function detectRegionPT(p, T) {
40
42
  * Detect region for P-H inputs.
41
43
  */
42
44
  export function detectRegionPH(p, h) {
45
+ if (p >= C.Pt && p < C.Pc) {
46
+ const endpoints = saturationEndpointsAtTemperature(saturationTemperature(p));
47
+ if (isClose(h, endpoints.liquid.enthalpy) || isClose(h, endpoints.vapor.enthalpy)) {
48
+ return Region.Region4;
49
+ }
50
+ }
43
51
  if (p >= C.P_MIN && p <= C.B23_P_MIN) {
44
52
  const Tsat = saturationTemperature(p);
45
53
  const h14 = region1(p, Tsat).enthalpy;
@@ -75,6 +83,12 @@ export function detectRegionPH(p, h) {
75
83
  * Detect region for P-S inputs.
76
84
  */
77
85
  export function detectRegionPS(p, s) {
86
+ if (p >= C.Pt && p < C.Pc) {
87
+ const endpoints = saturationEndpointsAtTemperature(saturationTemperature(p));
88
+ if (isClose(s, endpoints.liquid.entropy) || isClose(s, endpoints.vapor.entropy)) {
89
+ return Region.Region4;
90
+ }
91
+ }
78
92
  if (p >= C.P_MIN && p <= C.B23_P_MIN) {
79
93
  const Tsat = saturationTemperature(p);
80
94
  const smin = region1(p, 273.15).entropy;
@@ -157,6 +171,14 @@ function detectRegionByTemperatureProperty(T, value, property) {
157
171
  const endpoints = saturationEndpointsAtTemperature(T);
158
172
  const liquidProperty = propertyOf(endpoints.liquid, property);
159
173
  const vaporProperty = propertyOf(endpoints.vapor, property);
174
+ if (T < C.Tt) {
175
+ if (inRange(value, liquidProperty, propertyOf(region1(C.P_MAX, T), property))) {
176
+ return Region.Region1;
177
+ }
178
+ return inRange(value, vaporProperty, propertyOf(region2(C.P_MIN, T), property))
179
+ ? Region.Region2
180
+ : -1;
181
+ }
160
182
  if (inRange(value, liquidProperty, vaporProperty)) {
161
183
  return Region.Region4;
162
184
  }
@@ -207,6 +229,14 @@ export function detectRegionTH(T, h) {
207
229
  const endpoints = saturationEndpointsAtTemperature(T);
208
230
  const hf = endpoints.liquid.enthalpy;
209
231
  const hg = endpoints.vapor.enthalpy;
232
+ if (T < C.Tt) {
233
+ if (inRange(h, hf, region1(C.P_MAX, T).enthalpy)) {
234
+ return Region.Region1;
235
+ }
236
+ return inRange(h, hg, region2(C.P_MIN, T).enthalpy)
237
+ ? Region.Region2
238
+ : -1;
239
+ }
210
240
  // Exact saturation boundary: snap to Region 4 immediately.
211
241
  if (isClose(h, hf) || isClose(h, hg)) {
212
242
  return Region.Region4;
@@ -271,6 +301,15 @@ function h1Sat(s) {
271
301
  }
272
302
  return 1700 * h;
273
303
  }
304
+ /**
305
+ * Region 1 upper enthalpy bound at 100 MPa for a given entropy.
306
+ * This closes the low-entropy infeasible gap where using the global
307
+ * Region 1 enthalpy maximum would admit impossible h-s pairs.
308
+ */
309
+ function h1UpperBoundAtPmax(s) {
310
+ const temperature = bracketedNewton((T) => region1(C.P_MAX, T).entropy - s, C.T_MIN, 623.15, 350);
311
+ return region1(C.P_MAX, temperature).enthalpy;
312
+ }
274
313
  /**
275
314
  * Region 1 / Region 3 boundary enthalpy (Eq. 1, B13).
276
315
  * h_13(s)
@@ -416,10 +455,15 @@ export function detectRegionHS(h, s) {
416
455
  const s13s = region1(C.B23_P_MIN, 623.15).entropy;
417
456
  const sTPmax = region2(100, 1073.15).entropy;
418
457
  const s2ab = region2(4, 1073.15).entropy;
419
- const _sL = region1(C.P_MIN, 273.15);
458
+ const region4State = tryRegion4HSState(h, s);
459
+ if (region4State !== null) {
460
+ return Region.Region4;
461
+ }
462
+ const triplePointEndpoints = saturationEndpointsAtTemperature(C.Tt);
463
+ const _sL = triplePointEndpoints.liquid;
420
464
  const h4l = _sL.enthalpy;
421
465
  const s4l = _sL.entropy;
422
- const _sV = region2(C.P_MIN, 273.15);
466
+ const _sV = triplePointEndpoints.vapor;
423
467
  const h4v = _sV.enthalpy;
424
468
  const s4v = _sV.entropy;
425
469
  const _Pmax = region2(C.P_MIN, 1073.15);
@@ -437,7 +481,7 @@ export function detectRegionHS(h, s) {
437
481
  if (s >= _sL.entropy && s <= s13) {
438
482
  const hmin = hSatLow(s);
439
483
  const hs = h1Sat(s);
440
- const hmax = region1(100, 623.15).enthalpy;
484
+ const hmax = h1UpperBoundAtPmax(s);
441
485
  if (h >= hmin && h < hs)
442
486
  return Region.Region4;
443
487
  if (h >= hs && h <= hmax)
@@ -466,8 +510,8 @@ export function detectRegionHS(h, s) {
466
510
  if (h >= hs && h <= hmax)
467
511
  return Region.Region3;
468
512
  }
469
- // Zone 4: R3_CRT_S < s < B23_S_MIN (Region 3 / Region 4)
470
- else if (s > C.R3_S_CRT && s < C.B23_S_MIN) {
513
+ // Zone 4: R3_CRT_S < s < B23_S_CURVE_MIN (Region 3 / Region 4)
514
+ else if (s > C.R3_S_CRT && s < C.B23_S_CURVE_MIN) {
471
515
  const hmin = hSatLow(s);
472
516
  const hs = h2c3bSat(s);
473
517
  const hmax = 2800; // generous upper bound for R3
@@ -476,8 +520,8 @@ export function detectRegionHS(h, s) {
476
520
  if (h >= hs && h <= hmax)
477
521
  return Region.Region3;
478
522
  }
479
- // Zone 5: B23_S_MIN <= s < B23_S_MAX (Region 2 / Region 3 / Region 4)
480
- else if (s >= C.B23_S_MIN && s < C.B23_S_MAX) {
523
+ // Zone 5: B23_S_CURVE_MIN <= s < B23_S_CURVE_MAX (Region 2 / Region 3 / Region 4)
524
+ else if (s >= C.B23_S_CURVE_MIN && s < C.B23_S_CURVE_MAX) {
481
525
  const hmin = hSatLow(s);
482
526
  const hs = h2c3bSat(s);
483
527
  const h23max = region2(100, 863.15).enthalpy;
@@ -499,8 +543,8 @@ export function detectRegionHS(h, s) {
499
543
  if (h23max <= h && h <= hmax)
500
544
  return Region.Region2;
501
545
  }
502
- // Zone 6: B23_S_MAX <= s < 5.85 (Region 2 / Region 4)
503
- else if (s >= C.B23_S_MAX && s < 5.85) {
546
+ // Zone 6: B23_S_CURVE_MAX <= s < R2_S_CRT (Region 2 / Region 4)
547
+ else if (s >= C.B23_S_CURVE_MAX && s < C.R2_S_CRT) {
504
548
  const hmin = hSatLow(s);
505
549
  const hs = h2c3bSat(s);
506
550
  const hmax = region2(100, 1073.15).enthalpy;
@@ -509,8 +553,8 @@ export function detectRegionHS(h, s) {
509
553
  if (hs <= h && h <= hmax)
510
554
  return Region.Region2;
511
555
  }
512
- // Zone 7: 5.85 <= s < sTPmax (Region 2 / Region 4, use h2abSat)
513
- else if (s >= 5.85 && s < sTPmax) {
556
+ // Zone 7: R2_S_CRT <= s < sTPmax (Region 2 / Region 4, use h2abSat)
557
+ else if (s >= C.R2_S_CRT && s < sTPmax) {
514
558
  const hmin = hSatLow(s);
515
559
  const hs = h2abSat(s);
516
560
  const hmax = region2(100, 1073.15).enthalpy;
@@ -541,7 +585,7 @@ export function detectRegionHS(h, s) {
541
585
  }
542
586
  // Zone 10: s4v <= s <= smax (Region 2 only, superheated low-P)
543
587
  else if (s >= s4v && s <= smax) {
544
- const hmin = region2(C.P_MIN, 273.15).enthalpy;
588
+ const hmin = h4v;
545
589
  const hmax = region2(C.P_MIN, 1073.15).enthalpy;
546
590
  if (hmin <= h && h <= hmax)
547
591
  return Region.Region2;
@@ -1 +1 @@
1
- {"version":3,"file":"region-detector.js","sourceRoot":"","sources":["../../src/core/region-detector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"region-detector.js","sourceRoot":"","sources":["../../src/core/region-detector.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;AA4C3E;;;;;;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;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"}
@@ -17,8 +17,12 @@ import { solvePx, solveTx } from '../saturation/two-phase.js';
17
17
  * Compute full thermodynamic state from basic properties by adding transport properties.
18
18
  */
19
19
  function enrichState(basic) {
20
+ const isTwoPhaseMixture = basic.region === Region.Region4
21
+ && basic.quality !== null
22
+ && basic.quality > 0
23
+ && basic.quality < 1;
20
24
  const rho = 1 / basic.specificVolume;
21
- const mu = viscosity(basic.temperature, rho);
25
+ const mu = isTwoPhaseMixture ? null : viscosity(basic.temperature, rho);
22
26
  const drhodP_T = basic.isothermalCompressibility === null
23
27
  ? undefined
24
28
  : rho * basic.isothermalCompressibility;
@@ -28,12 +32,14 @@ function enrichState(basic) {
28
32
  ...basic,
29
33
  density: rho,
30
34
  viscosity: mu,
31
- thermalConductivity: thermalConductivity(basic.temperature, rho, cp, cv, drhodP_T, mu),
35
+ thermalConductivity: isTwoPhaseMixture
36
+ ? null
37
+ : thermalConductivity(basic.temperature, rho, cp, cv, drhodP_T, mu ?? undefined),
32
38
  surfaceTension: basic.region === Region.Region4
33
39
  ? surfaceTension(basic.temperature)
34
40
  : null,
35
- dielectricConstant: dielectricConstant(basic.temperature, rho),
36
- ionizationConstant: ionizationConstant(basic.temperature, rho),
41
+ dielectricConstant: isTwoPhaseMixture ? null : dielectricConstant(basic.temperature, rho),
42
+ ionizationConstant: isTwoPhaseMixture ? null : ionizationConstant(basic.temperature, rho),
37
43
  };
38
44
  }
39
45
  /**
@@ -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":"AAKA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,KAAK,CAAC,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,cAAc,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACpI,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAE9D;;GAEG;AACH,SAAS,WAAW,CAAC,KAAsB;IACzC,MAAM,iBAAiB,GAAG,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,OAAO;WACpD,KAAK,CAAC,OAAO,KAAK,IAAI;WACtB,KAAK,CAAC,OAAO,GAAG,CAAC;WACjB,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;IACvB,MAAM,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,cAAc,CAAC;IACrC,MAAM,EAAE,GAAG,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IACxE,MAAM,QAAQ,GAAG,KAAK,CAAC,yBAAyB,KAAK,IAAI;QACvD,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,yBAAyB,CAAC;IAC1C,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,IAAI,SAAS,CAAC;IACjC,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,IAAI,SAAS,CAAC;IACjC,OAAO;QACL,GAAG,KAAK;QACR,OAAO,EAAE,GAAG;QACZ,SAAS,EAAE,EAAE;QACb,mBAAmB,EAAE,iBAAiB;YACpC,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,mBAAmB,CACnB,KAAK,CAAC,WAAW,EAAE,GAAG,EACtB,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,SAAS,CAClC;QACH,cAAc,EAAE,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,OAAO;YAC7C,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,WAAW,CAAC;YACnC,CAAC,CAAC,IAAI;QACR,kBAAkB,EAAE,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC;QACzF,kBAAkB,EAAE,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC;KAC1F,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,OAAO,CAAC,CAAS,EAAE,CAAS;IAC1C,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,IAAI,eAAe,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,IAAI,eAAe,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;QACrC,MAAM,IAAI,eAAe,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,yBAAyB,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC;QAClF,MAAM,IAAI,SAAS,CACjB,uDAAuD,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,kDAAkD,CAC7H,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACpC,IAAI,KAAsB,CAAC;IAE3B,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,MAAM,CAAC,OAAO;YACjB,KAAK,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACtB,MAAM;QACR,KAAK,MAAM,CAAC,OAAO;YACjB,KAAK,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACtB,MAAM;QACR,KAAK,MAAM,CAAC,OAAO;YACjB,KAAK,GAAG,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAClC,MAAM;QACR,KAAK,MAAM,CAAC,OAAO;YACjB,KAAK,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACtB,MAAM;QACR;YACE,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC5E,CAAC;IAED,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;AAC5B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,KAAK,CAAC,KAAiB;IACrC,MAAM,UAAU,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAE9C,QAAQ,UAAU,CAAC,IAAI,EAAE,CAAC;QACxB,KAAK,IAAI,CAAC,CAAC,OAAO,OAAO,CAAC,UAAU,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;QACtD,KAAK,IAAI,CAAC,CAAC,OAAO,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,KAAK,IAAI,CAAC,CAAC,OAAO,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,KAAK,IAAI,CAAC,CAAC,OAAO,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,KAAK,IAAI,CAAC,CAAC,OAAO,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,KAAK,IAAI,CAAC,CAAC,OAAO,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,KAAK,IAAI,CAAC,CAAC,OAAO,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,KAAK,IAAI,CAAC,CAAC,OAAO,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE;YACE,MAAM,IAAI,SAAS,CAAC,2BAA4B,KAA4B,CAAC,IAAI,IAAI,WAAW,EAAE,CAAC,CAAC;IACxG,CAAC;AACH,CAAC"}
@@ -1,5 +1,9 @@
1
- /** Compute specific volume for Region 3 saturation boundary. x=0 liquid, x=1 vapor */
1
+ /** Compute specific volume for Region 3 saturation boundary. x=0 liquid, x=1 vapor
2
+ * Pressure thresholds from IAPWS Supplementary Release on Backward
3
+ * Equations v(P,T) for Region 3, Table 1 (saturation subregion limits). */
2
4
  export declare function region3SatVolume(p: number, T: number, x: number): number;
3
- /** Compute specific volume for Region 3 from P and T using subregion equations. */
5
+ /** Compute specific volume for Region 3 from P and T using subregion equations.
6
+ * Pressure thresholds from IAPWS Supplementary Release on Backward
7
+ * Equations v(P,T) for Region 3, Figures 2–5. */
4
8
  export declare function region3Volume(p: number, T: number): number;
5
9
  //# sourceMappingURL=region3-subregions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"region3-subregions.d.ts","sourceRoot":"","sources":["../../src/regions/region3-subregions.ts"],"names":[],"mappings":"AAUA,sFAAsF;AACtF,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAWxE;AAED,mFAAmF;AACnF,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":"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"}
@@ -6,29 +6,34 @@ import { evalSubregion } from './region3-eval.js';
6
6
  import { REGION3_SUBREGIONS as R3 } from './region3-data.js';
7
7
  import { b3ab, b3cd, b3ef, b3gh, b3ij, b3jk, b3mn, b3op, b3qu, b3rx, b3uv, b3wx } from './boundaries.js';
8
8
  import { saturationPressure, saturationTemperature } from './region4.js';
9
+ import { Pc } from '../constants.js';
9
10
  import { IF97Error } from '../types.js';
10
- /** Compute specific volume for Region 3 saturation boundary. x=0 liquid, x=1 vapor */
11
+ /** Compute specific volume for Region 3 saturation boundary. x=0 liquid, x=1 vapor
12
+ * Pressure thresholds from IAPWS Supplementary Release on Backward
13
+ * Equations v(P,T) for Region 3, Table 1 (saturation subregion limits). */
11
14
  export function region3SatVolume(p, T, x) {
12
15
  if (x === 0) {
13
16
  if (p < 19.00881189)
14
- return evalSubregion(R3.C, p, T);
17
+ return evalSubregion(R3.C, p, T); // Psat(643.15 K)
15
18
  if (p < 21.0434)
16
- return evalSubregion(R3.S, p, T);
19
+ return evalSubregion(R3.S, p, T); // near P3cd
17
20
  if (p < 21.9316)
18
- return evalSubregion(R3.U, p, T);
21
+ return evalSubregion(R3.U, p, T); // near Puv
19
22
  return evalSubregion(R3.Y, p, T);
20
23
  }
21
24
  if (p < 20.5)
22
- return evalSubregion(R3.T, p, T);
25
+ return evalSubregion(R3.T, p, T); // near P3cd
23
26
  if (p < 21.0434)
24
27
  return evalSubregion(R3.R, p, T);
25
28
  if (p < 21.9009)
26
- return evalSubregion(R3.X, p, T);
29
+ return evalSubregion(R3.X, p, T); // near Pwx
27
30
  return evalSubregion(R3.Z, p, T);
28
31
  }
29
- /** Compute specific volume for Region 3 from P and T using subregion equations. */
32
+ /** Compute specific volume for Region 3 from P and T using subregion equations.
33
+ * Pressure thresholds from IAPWS Supplementary Release on Backward
34
+ * Equations v(P,T) for Region 3, Figures 2–5. */
30
35
  export function region3Volume(p, T) {
31
- if (p > 40) {
36
+ if (p > 40) { // Suppl. Release Fig. 2: subregions A/B
32
37
  return T <= b3ab(p) ? evalSubregion(R3.A, p, T) : evalSubregion(R3.B, p, T);
33
38
  }
34
39
  if (p > 25) {
@@ -98,7 +103,7 @@ export function region3Volume(p, T) {
98
103
  return evalSubregion(R3.Q, p, T);
99
104
  if (T <= trx) {
100
105
  const tef = b3ef(p), twx = b3wx(p), tuv = b3uv(p);
101
- if (p > 22.11) {
106
+ if (p > 22.11) { // Suppl. Release Fig. 5 boundary
102
107
  if (T <= tuv)
103
108
  return evalSubregion(R3.U, p, T);
104
109
  if (T <= tef)
@@ -107,7 +112,7 @@ export function region3Volume(p, T) {
107
112
  return evalSubregion(R3.W, p, T);
108
113
  return evalSubregion(R3.X, p, T);
109
114
  }
110
- if (p > 22.064) {
115
+ if (p > Pc) { // above critical pressure → no saturation line
111
116
  if (T <= tuv)
112
117
  return evalSubregion(R3.U, p, T);
113
118
  if (T <= tef)
@@ -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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"}
@@ -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;AAoDrE;;;;;;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;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,eAAe,CAyDrE"}
@@ -10,6 +10,9 @@ import { R } from '../constants.js';
10
10
  import { Region } from '../types.js';
11
11
  // ─── Coefficient Table (Table 30, IAPWS-IF97) ──────────────────────────────
12
12
  const COEFFICIENTS = [
13
+ // Entry 0 is the coefficient n₁ for the logarithmic term n₁·ln(δ).
14
+ // It shares the [I=0, J=0] shape with entry 1 but is handled separately
15
+ // in the evaluation loop (index 0 = ln term, indices 1+ = polynomial).
13
16
  [0, 0, 1.0658070028513],
14
17
  [0, 0, -0.15732845290239e2],
15
18
  [0, 1, 0.20944396974307e2],
@@ -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":"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"}
@@ -19,7 +19,9 @@ export declare function saturationPressure(T: number): number;
19
19
  * Saturation temperature for a given pressure.
20
20
  * Equation 31 (pp. 34) of IAPWS-IF97.
21
21
  *
22
- * @param p - Pressure [MPa], Pt ≤ P ≤ Pc
22
+ * @param p - Pressure [MPa], P_MIN ≤ P ≤ Pc
23
+ * (P_MIN = Psat(273.15 K), the lower pressure bound matching
24
+ * saturationPressure's lower temperature bound per IAPWS-IF97 §8)
23
25
  * @returns Saturation temperature [K]
24
26
  * @throws {OutOfRangeError} if P is outside valid range
25
27
  */
@@ -1 +1 @@
1
- {"version":3,"file":"region4.d.ts","sourceRoot":"","sources":["../../src/regions/region4.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAqBH;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAWpD;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAcvD"}
1
+ {"version":3,"file":"region4.d.ts","sourceRoot":"","sources":["../../src/regions/region4.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAyBH;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAapD;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAgBvD"}
@@ -6,8 +6,9 @@
6
6
  *
7
7
  * Reference: IAPWS-IF97, Section 8 (Equations for Region 4)
8
8
  */
9
- import { Tc, Pt, Pc } from '../constants.js';
9
+ import { Tc, Pc, P_MIN } from '../constants.js';
10
10
  import { OutOfRangeError } from '../types.js';
11
+ import { normalizeRegion4Pressure, normalizeRegion4Temperature, } from '../saturation/region4-boundaries.js';
11
12
  // ─── Saturation Line Coefficients (Table 34, IAPWS-IF97) ───────────────────
12
13
  const n = [
13
14
  0, // n[0] unused (1-indexed)
@@ -38,25 +39,27 @@ export function saturationPressure(T) {
38
39
  const A = theta * theta + n[1] * theta + n[2];
39
40
  const B = n[3] * theta * theta + n[4] * theta + n[5];
40
41
  const C = n[6] * theta * theta + n[7] * theta + n[8];
41
- return Math.pow(2 * C / (-B + Math.sqrt(B * B - 4 * A * C)), 4);
42
+ return normalizeRegion4Pressure(Math.pow(2 * C / (-B + Math.sqrt(B * B - 4 * A * C)), 4));
42
43
  }
43
44
  /**
44
45
  * Saturation temperature for a given pressure.
45
46
  * Equation 31 (pp. 34) of IAPWS-IF97.
46
47
  *
47
- * @param p - Pressure [MPa], Pt ≤ P ≤ Pc
48
+ * @param p - Pressure [MPa], P_MIN ≤ P ≤ Pc
49
+ * (P_MIN = Psat(273.15 K), the lower pressure bound matching
50
+ * saturationPressure's lower temperature bound per IAPWS-IF97 §8)
48
51
  * @returns Saturation temperature [K]
49
52
  * @throws {OutOfRangeError} if P is outside valid range
50
53
  */
51
54
  export function saturationTemperature(p) {
52
- if (p < Pt || p > Pc) {
53
- throw new OutOfRangeError('Pressure', p, Pt, Pc);
55
+ if (p < P_MIN || p > Pc) {
56
+ throw new OutOfRangeError('Pressure', p, P_MIN, Pc);
54
57
  }
55
58
  const beta = Math.pow(p, 0.25);
56
59
  const E = beta * beta + n[3] * beta + n[6];
57
60
  const F = n[1] * beta * beta + n[4] * beta + n[7];
58
61
  const G = n[2] * beta * beta + n[5] * beta + n[8];
59
62
  const D = 2 * G / (-F - Math.sqrt(F * F - 4 * E * G));
60
- return (n[10] + D - Math.sqrt(Math.pow(n[10] + D, 2) - 4 * (n[9] + n[10] * D))) / 2;
63
+ return normalizeRegion4Temperature((n[10] + D - Math.sqrt(Math.pow(n[10] + D, 2) - 4 * (n[9] + n[10] * D))) / 2);
61
64
  }
62
65
  //# sourceMappingURL=region4.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"region4.js","sourceRoot":"","sources":["../../src/regions/region4.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"region4.js","sourceRoot":"","sources":["../../src/regions/region4.ts"],"names":[],"mappings":"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"}
@@ -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;AAUnD,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,CAuB5E;AAED;;;GAGG;AACH,wBAAgB,gCAAgC,CAAC,CAAC,EAAE,MAAM,GAAG,mBAAmB,CAE/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;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"}