iapws-if97 2.0.0 → 2.0.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 CHANGED
@@ -2,6 +2,11 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
+ ## 2.0.1
6
+
7
+ - Added long-form aliases to `solve({ mode, ... })` inputs while keeping shorthand fields fully supported. Canonical output field names in `SteamState` are unchanged.
8
+ - Normalized tiny floating-point residue at the public API boundary.
9
+
5
10
  ## 2.0.0
6
11
 
7
12
  - Narrowed the root export surface to the main solver API, core types, and error classes.
package/README.md CHANGED
@@ -59,6 +59,13 @@ import { solve } from 'iapws-if97';
59
59
  const state = solve({ mode: 'PT', p: 16, T: 823.15 });
60
60
  ```
61
61
 
62
+ `solve({ mode, ... })` accepts either engineering shorthand or long-form input names:
63
+
64
+ ```ts
65
+ const a = solve({ mode: 'PT', p: 16, T: 823.15 });
66
+ const b = solve({ mode: 'PT', pressure: 16, temperature: 823.15 });
67
+ ```
68
+
62
69
  Supported `mode`:
63
70
 
64
71
  ```ts
@@ -73,6 +80,8 @@ type SolveInput =
73
80
  | { mode: 'TS'; T: number; s: number };
74
81
  ```
75
82
 
83
+ For each aliased pair, provide either form. If you provide both, their values must match.
84
+
76
85
  ## Solver Return Value
77
86
 
78
87
  All public solvers return a `SteamState` object with thermodynamic and transport properties already populated.
@@ -102,6 +111,8 @@ type SteamState = {
102
111
  };
103
112
  ```
104
113
 
114
+ `SteamState` uses canonical output names only. Input aliases such as `p`/`pressure` do not create duplicate output fields.
115
+
105
116
  Notes:
106
117
 
107
118
  - `quality` is only defined for saturated states and is `null` elsewhere.
@@ -0,0 +1,5 @@
1
+ import type { BasicProperties, SteamState } from '../types.js';
2
+ type PublicState = BasicProperties | SteamState;
3
+ export declare function normalizePublicState<T extends PublicState>(state: T): T;
4
+ export {};
5
+ //# sourceMappingURL=public-normalization.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public-normalization.d.ts","sourceRoot":"","sources":["../../src/core/public-normalization.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAM/D,KAAK,WAAW,GAAG,eAAe,GAAG,UAAU,CAAC;AAsBhD,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,WAAW,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAYvE"}
@@ -0,0 +1,31 @@
1
+ // Only snap values that are effectively simple decimals plus machine-noise.
2
+ const SIMPLE_DECIMAL_PLACES = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
3
+ const SNAP_ULPS = 8;
4
+ function snapSimpleDecimal(value) {
5
+ if (!Number.isFinite(value)) {
6
+ return value;
7
+ }
8
+ for (const decimals of SIMPLE_DECIMAL_PLACES) {
9
+ const factor = 10 ** decimals;
10
+ const candidate = Math.round(value * factor) / factor;
11
+ // Scale the acceptance window with magnitude so we only absorb
12
+ // binary floating-point residue, not meaningful engineering deltas.
13
+ const tolerance = SNAP_ULPS * Number.EPSILON * Math.max(1, Math.abs(value), Math.abs(candidate));
14
+ if (Math.abs(value - candidate) <= tolerance) {
15
+ return Object.is(candidate, -0) ? 0 : candidate;
16
+ }
17
+ }
18
+ return Object.is(value, -0) ? 0 : value;
19
+ }
20
+ export function normalizePublicState(state) {
21
+ const normalized = { ...state };
22
+ for (const [key, value] of Object.entries(state)) {
23
+ // Preserve enum/null fields exactly; only normalize exposed numeric outputs.
24
+ if (key === 'region' || value === null || typeof value !== 'number') {
25
+ continue;
26
+ }
27
+ normalized[key] = snapSimpleDecimal(value);
28
+ }
29
+ return normalized;
30
+ }
31
+ //# sourceMappingURL=public-normalization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public-normalization.js","sourceRoot":"","sources":["../../src/core/public-normalization.ts"],"names":[],"mappings":"AAEA,4EAA4E;AAC5E,MAAM,qBAAqB,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAU,CAAC;AACtE,MAAM,SAAS,GAAG,CAAC,CAAC;AAIpB,SAAS,iBAAiB,CAAC,KAAa;IACtC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,qBAAqB,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,EAAE,IAAI,QAAQ,CAAC;QAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC;QACtD,+DAA+D;QAC/D,oEAAoE;QACpE,MAAM,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;QAEjG,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,SAAS,CAAC,IAAI,SAAS,EAAE,CAAC;YAC7C,OAAO,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAClD,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAwB,KAAQ;IAClE,MAAM,UAAU,GAAG,EAAE,GAAG,KAAK,EAA8C,CAAC;IAE5E,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,6EAA6E;QAC7E,IAAI,GAAG,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACpE,SAAS;QACX,CAAC;QACD,UAAU,CAAC,GAAG,CAAC,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO,UAA0B,CAAC;AACpC,CAAC"}
@@ -0,0 +1,36 @@
1
+ import type { SolveInput } from '../types.js';
2
+ export type CanonicalSolveInput = {
3
+ mode: 'PT';
4
+ p: number;
5
+ T: number;
6
+ } | {
7
+ mode: 'PH';
8
+ p: number;
9
+ h: number;
10
+ } | {
11
+ mode: 'PS';
12
+ p: number;
13
+ s: number;
14
+ } | {
15
+ mode: 'HS';
16
+ h: number;
17
+ s: number;
18
+ } | {
19
+ mode: 'Px';
20
+ p: number;
21
+ x: number;
22
+ } | {
23
+ mode: 'Tx';
24
+ T: number;
25
+ x: number;
26
+ } | {
27
+ mode: 'TH';
28
+ T: number;
29
+ h: number;
30
+ } | {
31
+ mode: 'TS';
32
+ T: number;
33
+ s: number;
34
+ };
35
+ export declare function normalizeSolveInput(input: SolveInput): CanonicalSolveInput;
36
+ //# sourceMappingURL=solve-input-normalization.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solve-input-normalization.d.ts","sourceRoot":"","sources":["../../src/core/solve-input-normalization.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAG9C,MAAM,MAAM,mBAAmB,GAC3B;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AA6BzC,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,UAAU,GAAG,mBAAmB,CAuD1E"}
@@ -0,0 +1,71 @@
1
+ import { IF97Error } from '../types.js';
2
+ function pickNumericAlias(input, shortKey, longKey, label) {
3
+ const shortValue = input[shortKey];
4
+ const longValue = input[longKey];
5
+ if (shortValue === undefined && longValue === undefined) {
6
+ throw new IF97Error(`solve input requires '${shortKey}' or '${longKey}' for ${label}`);
7
+ }
8
+ if (shortValue !== undefined &&
9
+ longValue !== undefined &&
10
+ !Object.is(shortValue, longValue)) {
11
+ throw new IF97Error(`solve input received conflicting values for '${shortKey}' and '${longKey}'`);
12
+ }
13
+ return (shortValue ?? longValue);
14
+ }
15
+ // Normalize public solve() aliases to the canonical short-key form used internally.
16
+ export function normalizeSolveInput(input) {
17
+ const raw = input;
18
+ switch (input.mode) {
19
+ case 'PT':
20
+ return {
21
+ mode: 'PT',
22
+ p: pickNumericAlias(raw, 'p', 'pressure', 'pressure'),
23
+ T: pickNumericAlias(raw, 'T', 'temperature', 'temperature'),
24
+ };
25
+ case 'PH':
26
+ return {
27
+ mode: 'PH',
28
+ p: pickNumericAlias(raw, 'p', 'pressure', 'pressure'),
29
+ h: pickNumericAlias(raw, 'h', 'enthalpy', 'enthalpy'),
30
+ };
31
+ case 'PS':
32
+ return {
33
+ mode: 'PS',
34
+ p: pickNumericAlias(raw, 'p', 'pressure', 'pressure'),
35
+ s: pickNumericAlias(raw, 's', 'entropy', 'entropy'),
36
+ };
37
+ case 'HS':
38
+ return {
39
+ mode: 'HS',
40
+ h: pickNumericAlias(raw, 'h', 'enthalpy', 'enthalpy'),
41
+ s: pickNumericAlias(raw, 's', 'entropy', 'entropy'),
42
+ };
43
+ case 'Px':
44
+ return {
45
+ mode: 'Px',
46
+ p: pickNumericAlias(raw, 'p', 'pressure', 'pressure'),
47
+ x: pickNumericAlias(raw, 'x', 'quality', 'quality'),
48
+ };
49
+ case 'Tx':
50
+ return {
51
+ mode: 'Tx',
52
+ T: pickNumericAlias(raw, 'T', 'temperature', 'temperature'),
53
+ x: pickNumericAlias(raw, 'x', 'quality', 'quality'),
54
+ };
55
+ case 'TH':
56
+ return {
57
+ mode: 'TH',
58
+ T: pickNumericAlias(raw, 'T', 'temperature', 'temperature'),
59
+ h: pickNumericAlias(raw, 'h', 'enthalpy', 'enthalpy'),
60
+ };
61
+ case 'TS':
62
+ return {
63
+ mode: 'TS',
64
+ T: pickNumericAlias(raw, 'T', 'temperature', 'temperature'),
65
+ s: pickNumericAlias(raw, 's', 'entropy', 'entropy'),
66
+ };
67
+ default:
68
+ throw new IF97Error(`Unsupported solve mode: ${input.mode ?? 'undefined'}`);
69
+ }
70
+ }
71
+ //# sourceMappingURL=solve-input-normalization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solve-input-normalization.js","sourceRoot":"","sources":["../../src/core/solve-input-normalization.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAYxC,SAAS,gBAAgB,CACvB,KAA8B,EAC9B,QAAgB,EAChB,OAAe,EACf,KAAa;IAEb,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;IACnC,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;IAEjC,IAAI,UAAU,KAAK,SAAS,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QACxD,MAAM,IAAI,SAAS,CAAC,yBAAyB,QAAQ,SAAS,OAAO,SAAS,KAAK,EAAE,CAAC,CAAC;IACzF,CAAC;IAED,IACE,UAAU,KAAK,SAAS;QACxB,SAAS,KAAK,SAAS;QACvB,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,EACjC,CAAC;QACD,MAAM,IAAI,SAAS,CACjB,gDAAgD,QAAQ,UAAU,OAAO,GAAG,CAC7E,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,UAAU,IAAI,SAAS,CAAW,CAAC;AAC7C,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,mBAAmB,CAAC,KAAiB;IACnD,MAAM,GAAG,GAAG,KAAgC,CAAC;IAE7C,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,IAAI;YACP,OAAO;gBACL,IAAI,EAAE,IAAI;gBACV,CAAC,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,UAAU,CAAC;gBACrD,CAAC,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC;aAC5D,CAAC;QACJ,KAAK,IAAI;YACP,OAAO;gBACL,IAAI,EAAE,IAAI;gBACV,CAAC,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,UAAU,CAAC;gBACrD,CAAC,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,UAAU,CAAC;aACtD,CAAC;QACJ,KAAK,IAAI;YACP,OAAO;gBACL,IAAI,EAAE,IAAI;gBACV,CAAC,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,UAAU,CAAC;gBACrD,CAAC,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,CAAC;aACpD,CAAC;QACJ,KAAK,IAAI;YACP,OAAO;gBACL,IAAI,EAAE,IAAI;gBACV,CAAC,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,UAAU,CAAC;gBACrD,CAAC,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,CAAC;aACpD,CAAC;QACJ,KAAK,IAAI;YACP,OAAO;gBACL,IAAI,EAAE,IAAI;gBACV,CAAC,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,UAAU,CAAC;gBACrD,CAAC,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,CAAC;aACpD,CAAC;QACJ,KAAK,IAAI;YACP,OAAO;gBACL,IAAI,EAAE,IAAI;gBACV,CAAC,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC;gBAC3D,CAAC,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,CAAC;aACpD,CAAC;QACJ,KAAK,IAAI;YACP,OAAO;gBACL,IAAI,EAAE,IAAI;gBACV,CAAC,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC;gBAC3D,CAAC,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,UAAU,CAAC;aACtD,CAAC;QACJ,KAAK,IAAI;YACP,OAAO;gBACL,IAAI,EAAE,IAAI;gBACV,CAAC,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC;gBAC3D,CAAC,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,CAAC;aACpD,CAAC;QACJ;YACE,MAAM,IAAI,SAAS,CAAC,2BAA4B,KAA4B,CAAC,IAAI,IAAI,WAAW,EAAE,CAAC,CAAC;IACxG,CAAC;AACH,CAAC"}
@@ -13,7 +13,8 @@ import type { SteamState, SolveInput } from '../types.js';
13
13
  export declare function solvePT(p: number, T: number): SteamState;
14
14
  /**
15
15
  * Unified solver: compute full thermodynamic state from any supported input pair.
16
- * Routes to the correct solver based on input mode, enriches with transport properties.
16
+ * Routes to the correct solver based on input mode, enriches with transport properties,
17
+ * and accepts either shorthand or long-form input field names.
17
18
  */
18
19
  export declare function solve(input: SolveInput): SteamState;
19
20
  //# sourceMappingURL=solver.d.ts.map
@@ -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;AA2C3E;;;;;;GAMG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,UAAU,CAqCxD;AAED;;;GAGG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,CAanD"}
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"}
@@ -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 { normalizeSolveInput } from './solve-input-normalization.js';
8
9
  import { viscosity, thermalConductivity, surfaceTension, dielectricConstant, ionizationConstant } from '../transport/properties.js';
9
10
  import { solvePH } from '../backward/ph.js';
10
11
  import { solvePS } from '../backward/ps.js';
@@ -77,18 +78,20 @@ export function solvePT(p, T) {
77
78
  }
78
79
  /**
79
80
  * Unified solver: compute full thermodynamic state from any supported input pair.
80
- * Routes to the correct solver based on input mode, enriches with transport properties.
81
+ * Routes to the correct solver based on input mode, enriches with transport properties,
82
+ * and accepts either shorthand or long-form input field names.
81
83
  */
82
84
  export function solve(input) {
83
- switch (input.mode) {
84
- case 'PT': return solvePT(input.p, input.T);
85
- case 'PH': return enrichState(solvePH(input.p, input.h));
86
- case 'PS': return enrichState(solvePS(input.p, input.s));
87
- case 'HS': return enrichState(solveHS(input.h, input.s));
88
- case 'Px': return enrichState(solvePx(input.p, input.x));
89
- case 'Tx': return enrichState(solveTx(input.T, input.x));
90
- case 'TH': return enrichState(solveTH(input.T, input.h));
91
- case 'TS': return enrichState(solveTS(input.T, input.s));
85
+ const normalized = normalizeSolveInput(input);
86
+ switch (normalized.mode) {
87
+ case 'PT': return solvePT(normalized.p, normalized.T);
88
+ case 'PH': return enrichState(solvePH(normalized.p, normalized.h));
89
+ case 'PS': return enrichState(solvePS(normalized.p, normalized.s));
90
+ case 'HS': return enrichState(solveHS(normalized.h, normalized.s));
91
+ case 'Px': return enrichState(solvePx(normalized.p, normalized.x));
92
+ case 'Tx': return enrichState(solveTx(normalized.T, normalized.x));
93
+ case 'TH': return enrichState(solveTH(normalized.T, normalized.h));
94
+ case 'TS': return enrichState(solveTS(normalized.T, normalized.s));
92
95
  default:
93
96
  throw new IF97Error(`Unsupported solve mode: ${input.mode ?? 'undefined'}`);
94
97
  }
@@ -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,13 +3,16 @@
3
3
  *
4
4
  * Public API exports.
5
5
  */
6
- export { solvePT, solve } from './core/solver.js';
7
- export { solvePH } from './backward/ph.js';
8
- export { solvePS } from './backward/ps.js';
9
- export { solveHS } from './backward/hs.js';
10
- export { solveTH } from './backward/th.js';
11
- export { solveTS } from './backward/ts.js';
12
- export { solvePx, solveTx } from './saturation/two-phase.js';
6
+ import type { BasicProperties, SteamState, SolveInput } from './types.js';
7
+ export declare function solvePT(p: number, T: number): SteamState;
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;
13
16
  export type { SteamState, SolveInput } from './types.js';
14
17
  export { Region, IF97Error, OutOfRangeError, ConvergenceError } from './types.js';
15
18
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAG7D,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,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"}
package/dist/index.js CHANGED
@@ -1,15 +1,46 @@
1
- /**
2
- * iapws-if97 IAPWS-IF97 Steam/Water Properties Library
3
- *
4
- * Public API exports.
5
- */
1
+ import { solve as solveAny, solvePT as solvePTInternal } from './core/solver.js';
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
+ function normalizeSteamState(state) {
13
+ return normalizePublicState(state);
14
+ }
6
15
  // Core solvers
7
- export { solvePT, solve } from './core/solver.js';
8
- export { solvePH } from './backward/ph.js';
9
- export { solvePS } from './backward/ps.js';
10
- export { solveHS } from './backward/hs.js';
11
- export { solveTH } from './backward/th.js';
12
- export { solveTS } from './backward/ts.js';
13
- export { solvePx, solveTx } from './saturation/two-phase.js';
16
+ // Normalize only at the public package boundary so internal solver math
17
+ // keeps full raw precision during iteration and region transitions.
18
+ export function solvePT(p, T) {
19
+ return normalizeSteamState(solvePTInternal(p, T));
20
+ }
21
+ export function solve(input) {
22
+ return normalizeSteamState(solveAny(input));
23
+ }
24
+ export function solvePH(p, h) {
25
+ return normalizeBasicState(solvePHInternal(p, h));
26
+ }
27
+ export function solvePS(p, s) {
28
+ return normalizeBasicState(solvePSInternal(p, s));
29
+ }
30
+ export function solveHS(h, s) {
31
+ return normalizeBasicState(solveHSInternal(h, s));
32
+ }
33
+ export function solveTH(T, h) {
34
+ return normalizeBasicState(solveTHInternal(T, h));
35
+ }
36
+ export function solveTS(T, s) {
37
+ return normalizeBasicState(solveTSInternal(T, s));
38
+ }
39
+ export function solvePx(p, x) {
40
+ return normalizeBasicState(solvePxInternal(p, x));
41
+ }
42
+ export function solveTx(T, x) {
43
+ return normalizeBasicState(solveTxInternal(T, x));
44
+ }
14
45
  export { Region, IF97Error, OutOfRangeError, ConvergenceError } from './types.js';
15
46
  //# 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":"AAAA;;;;GAIG;AAEH,eAAe;AACf,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAI7D,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;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"}
package/dist/types.d.ts CHANGED
@@ -82,70 +82,47 @@ export interface BasicProperties {
82
82
  }
83
83
  /** Supported thermodynamic input combinations */
84
84
  export type InputMode = 'PT' | 'PH' | 'PS' | 'HS' | 'Px' | 'Tx' | 'TH' | 'TS';
85
+ type AliasNumberField<Short extends string, Long extends string> = ({
86
+ [K in Short]: number;
87
+ } & {
88
+ [K in Long]?: number;
89
+ }) | ({
90
+ [K in Short]?: number;
91
+ } & {
92
+ [K in Long]: number;
93
+ });
85
94
  /** Input for pressure-temperature calculation */
86
- export interface PTInput {
95
+ export type PTInput = {
87
96
  mode: 'PT';
88
- /** Pressure [MPa] */
89
- p: number;
90
- /** Temperature [K] */
91
- T: number;
92
- }
97
+ } & AliasNumberField<'p', 'pressure'> & AliasNumberField<'T', 'temperature'>;
93
98
  /** Input for pressure-enthalpy calculation */
94
- export interface PHInput {
99
+ export type PHInput = {
95
100
  mode: 'PH';
96
- /** Pressure [MPa] */
97
- p: number;
98
- /** Specific enthalpy [kJ/kg] */
99
- h: number;
100
- }
101
+ } & AliasNumberField<'p', 'pressure'> & AliasNumberField<'h', 'enthalpy'>;
101
102
  /** Input for pressure-entropy calculation */
102
- export interface PSInput {
103
+ export type PSInput = {
103
104
  mode: 'PS';
104
- /** Pressure [MPa] */
105
- p: number;
106
- /** Specific entropy [kJ/(kg·K)] */
107
- s: number;
108
- }
105
+ } & AliasNumberField<'p', 'pressure'> & AliasNumberField<'s', 'entropy'>;
109
106
  /** Input for enthalpy-entropy calculation */
110
- export interface HSInput {
107
+ export type HSInput = {
111
108
  mode: 'HS';
112
- /** Specific enthalpy [kJ/kg] */
113
- h: number;
114
- /** Specific entropy [kJ/(kg·K)] */
115
- s: number;
116
- }
109
+ } & AliasNumberField<'h', 'enthalpy'> & AliasNumberField<'s', 'entropy'>;
117
110
  /** Input for pressure-quality (saturation) calculation */
118
- export interface PxInput {
111
+ export type PxInput = {
119
112
  mode: 'Px';
120
- /** Pressure [MPa] */
121
- p: number;
122
- /** Vapour quality (0–1) */
123
- x: number;
124
- }
113
+ } & AliasNumberField<'p', 'pressure'> & AliasNumberField<'x', 'quality'>;
125
114
  /** Input for temperature-quality (saturation) calculation */
126
- export interface TxInput {
115
+ export type TxInput = {
127
116
  mode: 'Tx';
128
- /** Temperature [K] */
129
- T: number;
130
- /** Vapour quality (0–1) */
131
- x: number;
132
- }
117
+ } & AliasNumberField<'T', 'temperature'> & AliasNumberField<'x', 'quality'>;
133
118
  /** Input for temperature-enthalpy calculation */
134
- export interface THInput {
119
+ export type THInput = {
135
120
  mode: 'TH';
136
- /** Temperature [K] */
137
- T: number;
138
- /** Specific enthalpy [kJ/kg] */
139
- h: number;
140
- }
121
+ } & AliasNumberField<'T', 'temperature'> & AliasNumberField<'h', 'enthalpy'>;
141
122
  /** Input for temperature-entropy calculation */
142
- export interface TSInput {
123
+ export type TSInput = {
143
124
  mode: 'TS';
144
- /** Temperature [K] */
145
- T: number;
146
- /** Specific entropy [kJ/(kg·K)] */
147
- s: number;
148
- }
125
+ } & AliasNumberField<'T', 'temperature'> & AliasNumberField<'s', 'entropy'>;
149
126
  /** Union of all valid inputs */
150
127
  export type SolveInput = PTInput | PHInput | PSInput | HSInput | PxInput | TxInput | THInput | TSInput;
151
128
  /**
@@ -174,4 +151,5 @@ export declare class ConvergenceError extends IF97Error {
174
151
  readonly iterations: number;
175
152
  constructor(solver: string, iterations: number);
176
153
  }
154
+ export {};
177
155
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,+EAA+E;AAE/E,uCAAuC;AACvC,MAAM,CAAN,IAAY,MAWX;AAXD,WAAY,MAAM;IAChB,0CAA0C;IAC1C,yCAAW,CAAA;IACX,wBAAwB;IACxB,yCAAW,CAAA;IACX,0BAA0B;IAC1B,yCAAW,CAAA;IACX,8CAA8C;IAC9C,yCAAW,CAAA;IACX,6CAA6C;IAC7C,yCAAW,CAAA;AACb,CAAC,EAXW,MAAM,KAAN,MAAM,QAWjB;AAwKD,+EAA+E;AAE/E,uDAAuD;AACvD,MAAM,OAAO,SAAU,SAAQ,KAAK;IAClC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;IAC1B,CAAC;CACF;AAED,mEAAmE;AACnE,MAAM,OAAO,eAAgB,SAAQ,SAAS;IAE1B;IACA;IACA;IACA;IAJlB,YACkB,SAAiB,EACjB,KAAa,EACb,GAAW,EACX,GAAW;QAE3B,KAAK,CACH,GAAG,SAAS,MAAM,KAAK,qBAAqB,GAAG,KAAK,GAAG,GAAG,CAC3D,CAAC;QAPc,cAAS,GAAT,SAAS,CAAQ;QACjB,UAAK,GAAL,KAAK,CAAQ;QACb,QAAG,GAAH,GAAG,CAAQ;QACX,QAAG,GAAH,GAAG,CAAQ;QAK3B,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAED,uDAAuD;AACvD,MAAM,OAAO,gBAAiB,SAAQ,SAAS;IAE3B;IACA;IAFlB,YACkB,MAAc,EACd,UAAkB;QAElC,KAAK,CAAC,GAAG,MAAM,6BAA6B,UAAU,aAAa,CAAC,CAAC;QAHrD,WAAM,GAAN,MAAM,CAAQ;QACd,eAAU,GAAV,UAAU,CAAQ;QAGlC,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,+EAA+E;AAE/E,uCAAuC;AACvC,MAAM,CAAN,IAAY,MAWX;AAXD,WAAY,MAAM;IAChB,0CAA0C;IAC1C,yCAAW,CAAA;IACX,wBAAwB;IACxB,yCAAW,CAAA;IACX,0BAA0B;IAC1B,yCAAW,CAAA;IACX,8CAA8C;IAC9C,yCAAW,CAAA;IACX,6CAA6C;IAC7C,yCAAW,CAAA;AACb,CAAC,EAXW,MAAM,KAAN,MAAM,QAWjB;AA6ID,+EAA+E;AAE/E,uDAAuD;AACvD,MAAM,OAAO,SAAU,SAAQ,KAAK;IAClC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;IAC1B,CAAC;CACF;AAED,mEAAmE;AACnE,MAAM,OAAO,eAAgB,SAAQ,SAAS;IAE1B;IACA;IACA;IACA;IAJlB,YACkB,SAAiB,EACjB,KAAa,EACb,GAAW,EACX,GAAW;QAE3B,KAAK,CACH,GAAG,SAAS,MAAM,KAAK,qBAAqB,GAAG,KAAK,GAAG,GAAG,CAC3D,CAAC;QAPc,cAAS,GAAT,SAAS,CAAQ;QACjB,UAAK,GAAL,KAAK,CAAQ;QACb,QAAG,GAAH,GAAG,CAAQ;QACX,QAAG,GAAH,GAAG,CAAQ;QAK3B,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAED,uDAAuD;AACvD,MAAM,OAAO,gBAAiB,SAAQ,SAAS;IAE3B;IACA;IAFlB,YACkB,MAAc,EACd,UAAkB;QAElC,KAAK,CAAC,GAAG,MAAM,6BAA6B,UAAU,aAAa,CAAC,CAAC;QAHrD,WAAM,GAAN,MAAM,CAAQ;QACd,eAAU,GAAV,UAAU,CAAQ;QAGlC,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iapws-if97",
3
- "version": "2.0.0",
3
+ "version": "2.0.1",
4
4
  "description": "TypeScript implementation of IAPWS-IF97 for water and steam properties, including forward/backward solvers, saturation states, and transport properties.",
5
5
  "author": "jltonghui",
6
6
  "repository": {