iapws-if97 2.1.0 → 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.
- package/CHANGELOG.md +8 -0
- package/README.md +22 -61
- package/dist/backward/hs.d.ts.map +1 -1
- package/dist/backward/hs.js +36 -43
- package/dist/backward/hs.js.map +1 -1
- package/dist/backward/objective-normalization.d.ts +7 -0
- package/dist/backward/objective-normalization.d.ts.map +1 -0
- package/dist/backward/objective-normalization.js +8 -0
- package/dist/backward/objective-normalization.js.map +1 -0
- package/dist/backward/ph.d.ts.map +1 -1
- package/dist/backward/ph.js +24 -5
- package/dist/backward/ph.js.map +1 -1
- package/dist/backward/ps.d.ts.map +1 -1
- package/dist/backward/ps.js +18 -3
- package/dist/backward/ps.js.map +1 -1
- package/dist/backward/solution-validation.d.ts.map +1 -1
- package/dist/backward/solution-validation.js +24 -16
- package/dist/backward/solution-validation.js.map +1 -1
- package/dist/backward/th.d.ts.map +1 -1
- package/dist/backward/th.js +5 -0
- package/dist/backward/th.js.map +1 -1
- package/dist/backward/tolerances.d.ts +6 -0
- package/dist/backward/tolerances.d.ts.map +1 -0
- package/dist/backward/tolerances.js +21 -0
- package/dist/backward/tolerances.js.map +1 -0
- package/dist/backward/ts.d.ts.map +1 -1
- package/dist/backward/ts.js +5 -0
- package/dist/backward/ts.js.map +1 -1
- package/dist/constants.d.ts +38 -12
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +47 -13
- package/dist/constants.js.map +1 -1
- package/dist/core/input-validation.d.ts +2 -0
- package/dist/core/input-validation.d.ts.map +1 -0
- package/dist/core/input-validation.js +7 -0
- package/dist/core/input-validation.js.map +1 -0
- package/dist/core/public-normalization.d.ts +2 -3
- package/dist/core/public-normalization.d.ts.map +1 -1
- package/dist/core/public-normalization.js +32 -9
- package/dist/core/public-normalization.js.map +1 -1
- package/dist/core/region-detector.d.ts.map +1 -1
- package/dist/core/region-detector.js +114 -56
- package/dist/core/region-detector.js.map +1 -1
- package/dist/core/region3-pt.d.ts.map +1 -1
- package/dist/core/region3-pt.js +6 -1
- package/dist/core/region3-pt.js.map +1 -1
- package/dist/core/solve-input-normalization.d.ts.map +1 -1
- package/dist/core/solve-input-normalization.js +4 -1
- package/dist/core/solve-input-normalization.js.map +1 -1
- package/dist/core/solver.d.ts.map +1 -1
- package/dist/core/solver.js +3 -0
- package/dist/core/solver.js.map +1 -1
- package/dist/index.d.ts +8 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -16
- package/dist/index.js.map +1 -1
- package/dist/regions/boundaries.d.ts +0 -9
- package/dist/regions/boundaries.d.ts.map +1 -1
- package/dist/regions/boundaries.js +8 -0
- package/dist/regions/boundaries.js.map +1 -1
- package/dist/regions/region3-subregions.d.ts +6 -2
- package/dist/regions/region3-subregions.d.ts.map +1 -1
- package/dist/regions/region3-subregions.js +22 -14
- package/dist/regions/region3-subregions.js.map +1 -1
- package/dist/regions/region3.d.ts +5 -1
- package/dist/regions/region3.d.ts.map +1 -1
- package/dist/regions/region3.js +12 -2
- package/dist/regions/region3.js.map +1 -1
- package/dist/regions/region4.d.ts +3 -1
- package/dist/regions/region4.d.ts.map +1 -1
- package/dist/regions/region4.js +9 -6
- package/dist/regions/region4.js.map +1 -1
- package/dist/saturation/common.d.ts +1 -0
- package/dist/saturation/common.d.ts.map +1 -1
- package/dist/saturation/common.js +53 -14
- package/dist/saturation/common.js.map +1 -1
- package/dist/saturation/region4-boundaries.d.ts +14 -0
- package/dist/saturation/region4-boundaries.d.ts.map +1 -0
- package/dist/saturation/region4-boundaries.js +79 -0
- package/dist/saturation/region4-boundaries.js.map +1 -0
- package/dist/saturation/region4-hs.d.ts +3 -0
- package/dist/saturation/region4-hs.d.ts.map +1 -0
- package/dist/saturation/region4-hs.js +165 -0
- package/dist/saturation/region4-hs.js.map +1 -0
- package/dist/saturation/two-phase.d.ts.map +1 -1
- package/dist/saturation/two-phase.js +9 -9
- package/dist/saturation/two-phase.js.map +1 -1
- package/dist/saturation.d.ts +6 -1
- package/dist/saturation.d.ts.map +1 -1
- package/dist/saturation.js +6 -1
- package/dist/saturation.js.map +1 -1
- package/dist/solvers/nelder-mead.d.ts +0 -4
- package/dist/solvers/nelder-mead.d.ts.map +1 -1
- package/dist/solvers/nelder-mead.js +29 -12
- package/dist/solvers/nelder-mead.js.map +1 -1
- package/dist/solvers/newton-raphson.d.ts +1 -4
- package/dist/solvers/newton-raphson.d.ts.map +1 -1
- package/dist/solvers/newton-raphson.js +15 -4
- package/dist/solvers/newton-raphson.js.map +1 -1
- package/dist/transport/properties.d.ts +1 -0
- package/dist/transport/properties.d.ts.map +1 -1
- package/dist/transport/properties.js +44 -4
- package/dist/transport/properties.js.map +1 -1
- package/dist/types.d.ts +2 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
package/dist/backward/ps.js
CHANGED
|
@@ -9,11 +9,15 @@ import { region1 } from '../regions/region1.js';
|
|
|
9
9
|
import { region2 } from '../regions/region2.js';
|
|
10
10
|
import { region3ByRhoT } from '../regions/region3.js';
|
|
11
11
|
import { region5 } from '../regions/region5.js';
|
|
12
|
+
import { assertFiniteNumber } from '../core/input-validation.js';
|
|
12
13
|
import { detectRegionPS } from '../core/region-detector.js';
|
|
13
14
|
import { newtonRaphson } from '../solvers/newton-raphson.js';
|
|
14
15
|
import { nelderMead } from '../solvers/nelder-mead.js';
|
|
15
16
|
import { validateBackwardState } from './solution-validation.js';
|
|
17
|
+
import { backwardConstraintTolerance } from './tolerances.js';
|
|
18
|
+
import { sumNormalizedResiduals } from './objective-normalization.js';
|
|
16
19
|
import { mixSaturationState, qualityFromSaturationProperty, saturationEndpointsAtPressure, } from '../saturation/common.js';
|
|
20
|
+
import { assertCriticalRegion4PSInput, assertRegion4StateAllowed, } from '../saturation/region4-boundaries.js';
|
|
17
21
|
function evalPoly(table, piShift, sigShift, pi, sig) {
|
|
18
22
|
let sum = 0;
|
|
19
23
|
for (const [I, J, N] of table)
|
|
@@ -148,12 +152,15 @@ const R3B_PS_V_TABLE = [
|
|
|
148
152
|
* @param s - Specific entropy [kJ/(kg·K)]
|
|
149
153
|
*/
|
|
150
154
|
export function solvePS(p, s) {
|
|
155
|
+
assertFiniteNumber('Pressure', p);
|
|
156
|
+
assertFiniteNumber('Entropy', s);
|
|
151
157
|
if (p < C.P_MIN || p > C.P_MAX) {
|
|
152
158
|
throw new OutOfRangeError('Pressure', p, C.P_MIN, C.P_MAX);
|
|
153
159
|
}
|
|
154
160
|
if (s < C.S_MIN || s > C.S_MAX) {
|
|
155
161
|
throw new OutOfRangeError('Entropy', s, C.S_MIN, C.S_MAX);
|
|
156
162
|
}
|
|
163
|
+
assertCriticalRegion4PSInput(p, s, 'solvePS');
|
|
157
164
|
const region = detectRegionPS(p, s);
|
|
158
165
|
switch (region) {
|
|
159
166
|
case Region.Region1: {
|
|
@@ -173,6 +180,8 @@ export function solvePS(p, s) {
|
|
|
173
180
|
], { solverName: 'solvePS', expectedRegion: Region.Region2 });
|
|
174
181
|
}
|
|
175
182
|
case Region.Region3: {
|
|
183
|
+
const pressureTolerance = 1e-5 * Math.max(1, Math.abs(p));
|
|
184
|
+
const entropyTolerance = backwardConstraintTolerance('entropy', s);
|
|
176
185
|
let T0, v0;
|
|
177
186
|
if (s <= C.R3_S_CRT) {
|
|
178
187
|
T0 = 760 * evalPoly(R3A_PS_T_TABLE, -0.240, 0.703, p / 100, s / 4.4);
|
|
@@ -182,15 +191,21 @@ export function solvePS(p, s) {
|
|
|
182
191
|
T0 = 860 * evalPoly(R3B_PS_T_TABLE, -0.760, 0.818, p / 100, s / 5.3);
|
|
183
192
|
v0 = 0.0088 * evalPoly(R3B_PS_V_TABLE, -0.298, 0.816, p / 100, s / 5.3);
|
|
184
193
|
}
|
|
185
|
-
const sol = nelderMead((pair) =>
|
|
186
|
-
|
|
194
|
+
const sol = nelderMead((pair) => {
|
|
195
|
+
const state = region3ByRhoT(1 / pair[0], pair[1]);
|
|
196
|
+
return sumNormalizedResiduals([
|
|
197
|
+
{ actual: state.entropy, expected: s, tolerance: entropyTolerance },
|
|
198
|
+
{ actual: state.pressure, expected: p, tolerance: pressureTolerance },
|
|
199
|
+
]);
|
|
200
|
+
}, [v0, T0], { maxIterations: 1000, minErrorDelta: 1e-8, minTolerance: 1e-9 });
|
|
187
201
|
return validateBackwardState(region3ByRhoT(1 / sol.x[0], sol.x[1]), [
|
|
188
|
-
{ label: 'pressure', expected: p, tolerance:
|
|
202
|
+
{ label: 'pressure', expected: p, tolerance: pressureTolerance },
|
|
189
203
|
{ label: 'entropy', expected: s },
|
|
190
204
|
], { solverName: 'solvePS', expectedRegion: Region.Region3 });
|
|
191
205
|
}
|
|
192
206
|
case Region.Region4: {
|
|
193
207
|
const endpoints = saturationEndpointsAtPressure(p);
|
|
208
|
+
assertRegion4StateAllowed(endpoints.pressure, endpoints.temperature, 'solvePS');
|
|
194
209
|
const x = qualityFromSaturationProperty(endpoints.liquid.entropy, endpoints.vapor.entropy, s);
|
|
195
210
|
return validateBackwardState(mixSaturationState(endpoints, x), [
|
|
196
211
|
{ label: 'pressure', expected: p },
|
package/dist/backward/ps.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ps.js","sourceRoot":"","sources":["../../src/backward/ps.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ps.js","sourceRoot":"","sources":["../../src/backward/ps.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solution-validation.d.ts","sourceRoot":"","sources":["../../src/backward/solution-validation.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAa,MAAM,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"solution-validation.d.ts","sourceRoot":"","sources":["../../src/backward/solution-validation.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAa,MAAM,EAAE,MAAM,aAAa,CAAC;AAMhD,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,UAAU,GAAG,aAAa,GAAG,UAAU,GAAG,SAAS,CAAC;IAC3D,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,yBAAyB;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAqGD,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,eAAe,EACtB,WAAW,EAAE,SAAS,kBAAkB,EAAE,EAC1C,OAAO,EAAE,yBAAyB,GACjC,eAAe,CAKjB"}
|
|
@@ -2,19 +2,7 @@ import * as C from '../constants.js';
|
|
|
2
2
|
import { detectRegionPT } from '../core/region-detector.js';
|
|
3
3
|
import { saturationPressure } from '../regions/region4.js';
|
|
4
4
|
import { IF97Error, Region } from '../types.js';
|
|
5
|
-
|
|
6
|
-
switch (label) {
|
|
7
|
-
case 'pressure':
|
|
8
|
-
case 'temperature':
|
|
9
|
-
return 1e-9 * Math.max(1, Math.abs(expected));
|
|
10
|
-
case 'enthalpy':
|
|
11
|
-
return 1e-4 * Math.max(1, Math.abs(expected));
|
|
12
|
-
case 'entropy':
|
|
13
|
-
return 1e-6 * Math.max(1, Math.abs(expected));
|
|
14
|
-
default:
|
|
15
|
-
return 1e-9;
|
|
16
|
-
}
|
|
17
|
-
}
|
|
5
|
+
import { backwardConstraintTolerance, region4SaturationPressureTolerance, } from './tolerances.js';
|
|
18
6
|
function propertyValue(state, label) {
|
|
19
7
|
switch (label) {
|
|
20
8
|
case 'pressure':
|
|
@@ -48,7 +36,7 @@ function validateRegionConsistency(state, solverName, expectedRegion) {
|
|
|
48
36
|
throw new IF97Error(`${solverName} produced an invalid Region 4 quality`);
|
|
49
37
|
}
|
|
50
38
|
const psat = saturationPressure(state.temperature);
|
|
51
|
-
const pTolerance =
|
|
39
|
+
const pTolerance = region4SaturationPressureTolerance(state.pressure);
|
|
52
40
|
if (Math.abs(psat - state.pressure) > pTolerance) {
|
|
53
41
|
throw new IF97Error(`${solverName} produced a Region 4 state off the saturation curve`);
|
|
54
42
|
}
|
|
@@ -62,16 +50,36 @@ function validateRegionConsistency(state, solverName, expectedRegion) {
|
|
|
62
50
|
function validateConstraints(state, constraints, solverName) {
|
|
63
51
|
for (const constraint of constraints) {
|
|
64
52
|
const actual = propertyValue(state, constraint.label);
|
|
65
|
-
const tolerance = constraint.tolerance ??
|
|
53
|
+
const tolerance = constraint.tolerance ?? backwardConstraintTolerance(constraint.label, constraint.expected);
|
|
66
54
|
if (Math.abs(actual - constraint.expected) > tolerance) {
|
|
67
55
|
throw new IF97Error(`${solverName} failed to match ${constraint.label}: expected ${constraint.expected}, got ${actual}`);
|
|
68
56
|
}
|
|
69
57
|
}
|
|
70
58
|
}
|
|
59
|
+
function withExactConstraints(state, constraints) {
|
|
60
|
+
const normalized = { ...state };
|
|
61
|
+
for (const constraint of constraints) {
|
|
62
|
+
switch (constraint.label) {
|
|
63
|
+
case 'pressure':
|
|
64
|
+
normalized.pressure = Object.is(constraint.expected, -0) ? 0 : constraint.expected;
|
|
65
|
+
break;
|
|
66
|
+
case 'temperature':
|
|
67
|
+
normalized.temperature = Object.is(constraint.expected, -0) ? 0 : constraint.expected;
|
|
68
|
+
break;
|
|
69
|
+
case 'enthalpy':
|
|
70
|
+
normalized.enthalpy = Object.is(constraint.expected, -0) ? 0 : constraint.expected;
|
|
71
|
+
break;
|
|
72
|
+
case 'entropy':
|
|
73
|
+
normalized.entropy = Object.is(constraint.expected, -0) ? 0 : constraint.expected;
|
|
74
|
+
break;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
return normalized;
|
|
78
|
+
}
|
|
71
79
|
export function validateBackwardState(state, constraints, options) {
|
|
72
80
|
validateBasicEnvelope(state, options.solverName);
|
|
73
81
|
validateRegionConsistency(state, options.solverName, options.expectedRegion);
|
|
74
82
|
validateConstraints(state, constraints, options.solverName);
|
|
75
|
-
return state;
|
|
83
|
+
return withExactConstraints(state, constraints);
|
|
76
84
|
}
|
|
77
85
|
//# sourceMappingURL=solution-validation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solution-validation.js","sourceRoot":"","sources":["../../src/backward/solution-validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"solution-validation.js","sourceRoot":"","sources":["../../src/backward/solution-validation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"th.d.ts","sourceRoot":"","sources":["../../src/backward/th.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"th.d.ts","sourceRoot":"","sources":["../../src/backward/th.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAsBnD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,eAAe,CAiG7D"}
|
package/dist/backward/th.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as C from '../constants.js';
|
|
2
2
|
import { IF97Error, OutOfRangeError, Region } from '../types.js';
|
|
3
|
+
import { assertFiniteNumber } from '../core/input-validation.js';
|
|
3
4
|
import { detectRegionTH } from '../core/region-detector.js';
|
|
4
5
|
import { solveRegion3PTBasic } from '../core/region3-pt.js';
|
|
5
6
|
import { region1 } from '../regions/region1.js';
|
|
@@ -8,6 +9,7 @@ import { region5 } from '../regions/region5.js';
|
|
|
8
9
|
import { boundary23_T_to_P } from '../regions/boundaries.js';
|
|
9
10
|
import { saturationPressure } from '../regions/region4.js';
|
|
10
11
|
import { mixSaturationState, qualityFromSaturationProperty, saturationEndpointsAtTemperature, } from '../saturation/common.js';
|
|
12
|
+
import { assertRegion4StateAllowed } from '../saturation/region4-boundaries.js';
|
|
11
13
|
import { solveFixedTemperaturePressure } from './fixed-temperature-solver.js';
|
|
12
14
|
import { validateBackwardState } from './solution-validation.js';
|
|
13
15
|
const extractH = (s) => s.enthalpy;
|
|
@@ -27,6 +29,8 @@ const extractH = (s) => s.enthalpy;
|
|
|
27
29
|
* @throws {IF97Error} if T is within the critical exclusion band
|
|
28
30
|
*/
|
|
29
31
|
export function solveTH(T, h) {
|
|
32
|
+
assertFiniteNumber('Temperature', T);
|
|
33
|
+
assertFiniteNumber('Enthalpy', h);
|
|
30
34
|
if (T < C.T_MIN || T > C.T_MAX) {
|
|
31
35
|
throw new OutOfRangeError('Temperature', T, C.T_MIN, C.T_MAX);
|
|
32
36
|
}
|
|
@@ -74,6 +78,7 @@ export function solveTH(T, h) {
|
|
|
74
78
|
}
|
|
75
79
|
case Region.Region4: {
|
|
76
80
|
const endpoints = saturationEndpointsAtTemperature(T);
|
|
81
|
+
assertRegion4StateAllowed(endpoints.pressure, endpoints.temperature, 'solveTH');
|
|
77
82
|
const x = qualityFromSaturationProperty(endpoints.liquid.enthalpy, endpoints.vapor.enthalpy, h);
|
|
78
83
|
return validateBackwardState(mixSaturationState(endpoints, x), [
|
|
79
84
|
{ label: 'temperature', expected: T },
|
package/dist/backward/th.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"th.js","sourceRoot":"","sources":["../../src/backward/th.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"th.js","sourceRoot":"","sources":["../../src/backward/th.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export type BackwardToleranceLabel = 'pressure' | 'temperature' | 'enthalpy' | 'entropy';
|
|
2
|
+
export declare const BACKWARD_REGION4_QUALITY_TOLERANCE = 0.000001;
|
|
3
|
+
export declare function backwardConstraintTolerance(label: BackwardToleranceLabel, expected: number): number;
|
|
4
|
+
export declare function region4SaturationPressureTolerance(pressure: number): number;
|
|
5
|
+
export declare function backwardSpecificVolumeTolerance(expected: number): number;
|
|
6
|
+
//# sourceMappingURL=tolerances.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tolerances.d.ts","sourceRoot":"","sources":["../../src/backward/tolerances.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,sBAAsB,GAAG,UAAU,GAAG,aAAa,GAAG,UAAU,GAAG,SAAS,CAAC;AAEzF,eAAO,MAAM,kCAAkC,WAAO,CAAC;AAEvD,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,sBAAsB,EAC7B,QAAQ,EAAE,MAAM,GACf,MAAM,CAYR;AAED,wBAAgB,kCAAkC,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE3E;AAED,wBAAgB,+BAA+B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAExE"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export const BACKWARD_REGION4_QUALITY_TOLERANCE = 1e-6;
|
|
2
|
+
export function backwardConstraintTolerance(label, expected) {
|
|
3
|
+
switch (label) {
|
|
4
|
+
case 'pressure':
|
|
5
|
+
case 'temperature':
|
|
6
|
+
return 1e-9 * Math.max(1, Math.abs(expected));
|
|
7
|
+
case 'enthalpy':
|
|
8
|
+
return 1e-6 * Math.max(1, Math.abs(expected));
|
|
9
|
+
case 'entropy':
|
|
10
|
+
return 1e-6 * Math.max(1, Math.abs(expected));
|
|
11
|
+
default:
|
|
12
|
+
return 1e-9;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
export function region4SaturationPressureTolerance(pressure) {
|
|
16
|
+
return 1e-8 * Math.max(1, Math.abs(pressure));
|
|
17
|
+
}
|
|
18
|
+
export function backwardSpecificVolumeTolerance(expected) {
|
|
19
|
+
return 1e-6 * Math.max(1, Math.abs(expected));
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=tolerances.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tolerances.js","sourceRoot":"","sources":["../../src/backward/tolerances.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,kCAAkC,GAAG,IAAI,CAAC;AAEvD,MAAM,UAAU,2BAA2B,CACzC,KAA6B,EAC7B,QAAgB;IAEhB,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,UAAU,CAAC;QAChB,KAAK,aAAa;YAChB,OAAO,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;QAChD,KAAK,UAAU;YACb,OAAO,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;QAChD,KAAK,SAAS;YACZ,OAAO,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;QAChD;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,kCAAkC,CAAC,QAAgB;IACjE,OAAO,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,QAAgB;IAC9D,OAAO,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;AAChD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ts.d.ts","sourceRoot":"","sources":["../../src/backward/ts.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"ts.d.ts","sourceRoot":"","sources":["../../src/backward/ts.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAsBnD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,eAAe,CAiG7D"}
|
package/dist/backward/ts.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as C from '../constants.js';
|
|
2
2
|
import { IF97Error, OutOfRangeError, Region } from '../types.js';
|
|
3
|
+
import { assertFiniteNumber } from '../core/input-validation.js';
|
|
3
4
|
import { detectRegionTS } from '../core/region-detector.js';
|
|
4
5
|
import { solveRegion3PTBasic } from '../core/region3-pt.js';
|
|
5
6
|
import { region1 } from '../regions/region1.js';
|
|
@@ -8,6 +9,7 @@ import { region5 } from '../regions/region5.js';
|
|
|
8
9
|
import { boundary23_T_to_P } from '../regions/boundaries.js';
|
|
9
10
|
import { saturationPressure } from '../regions/region4.js';
|
|
10
11
|
import { mixSaturationState, qualityFromSaturationProperty, saturationEndpointsAtTemperature, } from '../saturation/common.js';
|
|
12
|
+
import { assertRegion4StateAllowed } from '../saturation/region4-boundaries.js';
|
|
11
13
|
import { solveFixedTemperaturePressure } from './fixed-temperature-solver.js';
|
|
12
14
|
import { validateBackwardState } from './solution-validation.js';
|
|
13
15
|
const extractS = (s) => s.entropy;
|
|
@@ -27,6 +29,8 @@ const extractS = (s) => s.entropy;
|
|
|
27
29
|
* @throws {IF97Error} if T is within the critical exclusion band
|
|
28
30
|
*/
|
|
29
31
|
export function solveTS(T, s) {
|
|
32
|
+
assertFiniteNumber('Temperature', T);
|
|
33
|
+
assertFiniteNumber('Entropy', s);
|
|
30
34
|
if (T < C.T_MIN || T > C.T_MAX) {
|
|
31
35
|
throw new OutOfRangeError('Temperature', T, C.T_MIN, C.T_MAX);
|
|
32
36
|
}
|
|
@@ -74,6 +78,7 @@ export function solveTS(T, s) {
|
|
|
74
78
|
}
|
|
75
79
|
case Region.Region4: {
|
|
76
80
|
const endpoints = saturationEndpointsAtTemperature(T);
|
|
81
|
+
assertRegion4StateAllowed(endpoints.pressure, endpoints.temperature, 'solveTS');
|
|
77
82
|
const x = qualityFromSaturationProperty(endpoints.liquid.entropy, endpoints.vapor.entropy, s);
|
|
78
83
|
return validateBackwardState(mixSaturationState(endpoints, x), [
|
|
79
84
|
{ label: 'temperature', expected: T },
|
package/dist/backward/ts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ts.js","sourceRoot":"","sources":["../../src/backward/ts.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ts.js","sourceRoot":"","sources":["../../src/backward/ts.ts"],"names":[],"mappings":"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"}
|
package/dist/constants.d.ts
CHANGED
|
@@ -4,19 +4,41 @@
|
|
|
4
4
|
* Physical constants, critical point properties, and range limits
|
|
5
5
|
* for the IAPWS Industrial Formulation 1997.
|
|
6
6
|
*/
|
|
7
|
-
/** Specific gas constant for water [kJ/(kg·K)]
|
|
7
|
+
/** Specific gas constant for water [kJ/(kg·K)].
|
|
8
|
+
* IAPWS-IF97, §2 (Table 1). Fixed value for IF97 internal consistency.
|
|
9
|
+
* Do not replace transport correlations with this value; thermal conductivity
|
|
10
|
+
* critical enhancement intentionally uses `R_IAPWS_2011_THERMAL`. */
|
|
8
11
|
export declare const R = 0.461526;
|
|
12
|
+
/** Specific gas constant used by the IAPWS 2011 thermal conductivity λ₂ correlation [kJ/(kg·K)].
|
|
13
|
+
* Intentionally differs from IF97's `R`; keep both constants distinct and named. */
|
|
14
|
+
export declare const R_IAPWS_2011_THERMAL = 0.46151805;
|
|
9
15
|
/** Critical temperature [K] */
|
|
10
16
|
export declare const Tc = 647.096;
|
|
11
17
|
/** Temperature exclusion half-band around the critical point [K] */
|
|
12
18
|
export declare const CRITICAL_T_EXCLUSION_BAND = 0.001;
|
|
19
|
+
/** Region 4 endpoint snap tolerance for temperatures [K] */
|
|
20
|
+
export declare const REGION4_TEMPERATURE_TOLERANCE = 1e-9;
|
|
21
|
+
/** Safety margin used when clamping Region 4 temperatures below Tc [K] */
|
|
22
|
+
export declare const REGION4_SUBCRITICAL_TEMPERATURE_MARGIN = 1e-8;
|
|
13
23
|
/** Critical pressure [MPa] */
|
|
14
24
|
export declare const Pc = 22.064;
|
|
25
|
+
/** Region 4 endpoint snap tolerance for pressures [MPa] */
|
|
26
|
+
export declare const REGION4_PRESSURE_TOLERANCE = 1e-9;
|
|
27
|
+
/** Tolerance for identifying the critical h-s endpoint in Region 4 */
|
|
28
|
+
export declare const REGION4_CRITICAL_HS_TOLERANCE = 0.000001;
|
|
29
|
+
/** Residual tolerance for Region 4 h-s temperature inversion */
|
|
30
|
+
export declare const REGION4_HS_RESIDUAL_TOLERANCE = 1e-10;
|
|
31
|
+
/** Scan resolution used when bracketing Region 4 h-s temperature roots */
|
|
32
|
+
export declare const REGION4_HS_BRACKET_SEGMENTS = 256;
|
|
15
33
|
/** Critical density [kg/m³] */
|
|
16
34
|
export declare const RHOc = 322;
|
|
17
35
|
/** Triple point pressure [MPa] */
|
|
18
36
|
export declare const Pt = 0.000611657;
|
|
19
|
-
/**
|
|
37
|
+
/** Triple point temperature [K] */
|
|
38
|
+
export declare const Tt = 273.16;
|
|
39
|
+
/** Minimum pressure [MPa].
|
|
40
|
+
* Derived: Psat(T_MIN) = Psat(273.15 K) via Eq. 30. Below the triple-point
|
|
41
|
+
* pressure Pt because T_MIN (0 °C) < Tt (0.01 °C). */
|
|
20
42
|
export declare const P_MIN = 0.000611212677444;
|
|
21
43
|
/** Maximum pressure [MPa] */
|
|
22
44
|
export declare const P_MAX = 100;
|
|
@@ -36,9 +58,13 @@ export declare const H_MAX = 7376.980263598506;
|
|
|
36
58
|
export declare const R2_T_MIN = 623.15;
|
|
37
59
|
/** Region 2 maximum temperature for backward eqs [K] (1073.15 K = 800 °C) */
|
|
38
60
|
export declare const R2_T_MAX = 1073.15;
|
|
39
|
-
/** Region 2
|
|
61
|
+
/** Region 2 subregion boundary entropy [kJ/(kg·K)].
|
|
62
|
+
* Divides R2a from R2b/R2c in the h-s plane.
|
|
63
|
+
* Ref: IAPWS Supplementary Release on Backward Equations for Region 2, §6.3 */
|
|
40
64
|
export declare const R2_S_CRT = 5.85;
|
|
41
|
-
/** Region 2
|
|
65
|
+
/** Region 2 subregion boundary pressure [MPa].
|
|
66
|
+
* Divides R2a from R2b/R2c.
|
|
67
|
+
* Ref: IAPWS Supplementary Release on Backward Equations for Region 2, §6.3 */
|
|
42
68
|
export declare const R2_P_CRT = 4;
|
|
43
69
|
/** B23 minimum pressure [MPa] */
|
|
44
70
|
export declare const B23_P_MIN = 16.5291642526;
|
|
@@ -56,12 +82,12 @@ export declare const R5_T_MIN = 1073.15;
|
|
|
56
82
|
export declare const R5_P_MAX = 50;
|
|
57
83
|
/** Region 5 maximum temperature [K] */
|
|
58
84
|
export declare const R5_T_MAX = 2273.15;
|
|
59
|
-
/** B23
|
|
60
|
-
export declare const
|
|
61
|
-
/** B23
|
|
62
|
-
export declare const
|
|
63
|
-
/** B23
|
|
64
|
-
export declare const
|
|
65
|
-
/** B23
|
|
66
|
-
export declare const
|
|
85
|
+
/** Minimum entropy along the B23 curve [kJ/(kg·K)], at T ≈ 777 K */
|
|
86
|
+
export declare const B23_S_CURVE_MIN = 5.048096828;
|
|
87
|
+
/** Maximum entropy along the B23 curve [kJ/(kg·K)], at T ≈ 644 K */
|
|
88
|
+
export declare const B23_S_CURVE_MAX = 5.260578707;
|
|
89
|
+
/** Minimum enthalpy along the B23 curve [kJ/kg], at T = 623.15 K (currently unused) */
|
|
90
|
+
export declare const B23_H_CURVE_MIN = 2563.592004;
|
|
91
|
+
/** Maximum enthalpy along the B23 curve [kJ/kg], at T = 863.15 K (currently unused) */
|
|
92
|
+
export declare const B23_H_CURVE_MAX = 2812.942061;
|
|
67
93
|
//# sourceMappingURL=constants.d.ts.map
|
package/dist/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;;sEAGsE;AACtE,eAAO,MAAM,CAAC,WAAW,CAAC;AAE1B;qFACqF;AACrF,eAAO,MAAM,oBAAoB,aAAa,CAAC;AAI/C,+BAA+B;AAC/B,eAAO,MAAM,EAAE,UAAU,CAAC;AAE1B,oEAAoE;AACpE,eAAO,MAAM,yBAAyB,QAAO,CAAC;AAE9C,4DAA4D;AAC5D,eAAO,MAAM,6BAA6B,OAAO,CAAC;AAElD,0EAA0E;AAC1E,eAAO,MAAM,sCAAsC,OAAO,CAAC;AAE3D,8BAA8B;AAC9B,eAAO,MAAM,EAAE,SAAS,CAAC;AAEzB,2DAA2D;AAC3D,eAAO,MAAM,0BAA0B,OAAO,CAAC;AAE/C,sEAAsE;AACtE,eAAO,MAAM,6BAA6B,WAAO,CAAC;AAElD,gEAAgE;AAChE,eAAO,MAAM,6BAA6B,QAAQ,CAAC;AAEnD,0EAA0E;AAC1E,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAE/C,+BAA+B;AAC/B,eAAO,MAAM,IAAI,MAAM,CAAC;AAIxB,kCAAkC;AAClC,eAAO,MAAM,EAAE,cAAc,CAAC;AAE9B,mCAAmC;AACnC,eAAO,MAAM,EAAE,SAAS,CAAC;AAIzB;;uDAEuD;AACvD,eAAO,MAAM,KAAK,oBAAoB,CAAC;AAEvC,6BAA6B;AAC7B,eAAO,MAAM,KAAK,MAAQ,CAAC;AAE3B,gDAAgD;AAChD,eAAO,MAAM,KAAK,SAAS,CAAC;AAE5B,oDAAoD;AACpD,eAAO,MAAM,KAAK,UAAU,CAAC;AAE7B,2CAA2C;AAC3C,eAAO,MAAM,KAAK,oBAAoB,CAAC;AAEvC,2CAA2C;AAC3C,eAAO,MAAM,KAAK,qBAAqB,CAAC;AAExC,wCAAwC;AACxC,eAAO,MAAM,KAAK,kBAAkB,CAAC;AAErC,wCAAwC;AACxC,eAAO,MAAM,KAAK,oBAAoB,CAAC;AAIvC,iFAAiF;AACjF,eAAO,MAAM,QAAQ,SAAS,CAAC;AAE/B,6EAA6E;AAC7E,eAAO,MAAM,QAAQ,UAAU,CAAC;AAEhC;;gFAEgF;AAChF,eAAO,MAAM,QAAQ,OAAO,CAAC;AAE7B;;gFAEgF;AAChF,eAAO,MAAM,QAAQ,IAAM,CAAC;AAI5B,iCAAiC;AACjC,eAAO,MAAM,SAAS,gBAAgB,CAAC;AAEvC,kCAAkC;AAClC,eAAO,MAAM,SAAS,SAAS,CAAC;AAIhC,uCAAuC;AACvC,eAAO,MAAM,QAAQ,SAAS,CAAC;AAE/B,4CAA4C;AAC5C,eAAO,MAAM,QAAQ,mBAAmB,CAAC;AAEzC,yCAAyC;AACzC,eAAO,MAAM,QAAQ,qBAAqB,CAAC;AAI3C,uCAAuC;AACvC,eAAO,MAAM,QAAQ,UAAU,CAAC;AAEhC,sCAAsC;AACtC,eAAO,MAAM,QAAQ,KAAK,CAAC;AAE3B,uCAAuC;AACvC,eAAO,MAAM,QAAQ,UAAU,CAAC;AAYhC,oEAAoE;AACpE,eAAO,MAAM,eAAe,cAAc,CAAC;AAE3C,oEAAoE;AACpE,eAAO,MAAM,eAAe,cAAc,CAAC;AAE3C,uFAAuF;AACvF,eAAO,MAAM,eAAe,cAAc,CAAC;AAE3C,uFAAuF;AACvF,eAAO,MAAM,eAAe,cAAc,CAAC"}
|
package/dist/constants.js
CHANGED
|
@@ -5,22 +5,44 @@
|
|
|
5
5
|
* for the IAPWS Industrial Formulation 1997.
|
|
6
6
|
*/
|
|
7
7
|
// ─── Fundamental Constants ──────────────────────────────────────────────────
|
|
8
|
-
/** Specific gas constant for water [kJ/(kg·K)]
|
|
8
|
+
/** Specific gas constant for water [kJ/(kg·K)].
|
|
9
|
+
* IAPWS-IF97, §2 (Table 1). Fixed value for IF97 internal consistency.
|
|
10
|
+
* Do not replace transport correlations with this value; thermal conductivity
|
|
11
|
+
* critical enhancement intentionally uses `R_IAPWS_2011_THERMAL`. */
|
|
9
12
|
export const R = 0.461526;
|
|
13
|
+
/** Specific gas constant used by the IAPWS 2011 thermal conductivity λ₂ correlation [kJ/(kg·K)].
|
|
14
|
+
* Intentionally differs from IF97's `R`; keep both constants distinct and named. */
|
|
15
|
+
export const R_IAPWS_2011_THERMAL = 0.46151805;
|
|
10
16
|
// ─── Critical Point ─────────────────────────────────────────────────────────
|
|
11
17
|
/** Critical temperature [K] */
|
|
12
18
|
export const Tc = 647.096;
|
|
13
19
|
/** Temperature exclusion half-band around the critical point [K] */
|
|
14
20
|
export const CRITICAL_T_EXCLUSION_BAND = 1e-3;
|
|
21
|
+
/** Region 4 endpoint snap tolerance for temperatures [K] */
|
|
22
|
+
export const REGION4_TEMPERATURE_TOLERANCE = 1e-9;
|
|
23
|
+
/** Safety margin used when clamping Region 4 temperatures below Tc [K] */
|
|
24
|
+
export const REGION4_SUBCRITICAL_TEMPERATURE_MARGIN = 1e-8;
|
|
15
25
|
/** Critical pressure [MPa] */
|
|
16
26
|
export const Pc = 22.064;
|
|
27
|
+
/** Region 4 endpoint snap tolerance for pressures [MPa] */
|
|
28
|
+
export const REGION4_PRESSURE_TOLERANCE = 1e-9;
|
|
29
|
+
/** Tolerance for identifying the critical h-s endpoint in Region 4 */
|
|
30
|
+
export const REGION4_CRITICAL_HS_TOLERANCE = 1e-6;
|
|
31
|
+
/** Residual tolerance for Region 4 h-s temperature inversion */
|
|
32
|
+
export const REGION4_HS_RESIDUAL_TOLERANCE = 1e-10;
|
|
33
|
+
/** Scan resolution used when bracketing Region 4 h-s temperature roots */
|
|
34
|
+
export const REGION4_HS_BRACKET_SEGMENTS = 256;
|
|
17
35
|
/** Critical density [kg/m³] */
|
|
18
36
|
export const RHOc = 322;
|
|
19
37
|
// ─── Triple Point ───────────────────────────────────────────────────────────
|
|
20
38
|
/** Triple point pressure [MPa] */
|
|
21
39
|
export const Pt = 0.000611657;
|
|
40
|
+
/** Triple point temperature [K] */
|
|
41
|
+
export const Tt = 273.16;
|
|
22
42
|
// ─── Overall Validity Ranges ────────────────────────────────────────────────
|
|
23
|
-
/** Minimum pressure [MPa]
|
|
43
|
+
/** Minimum pressure [MPa].
|
|
44
|
+
* Derived: Psat(T_MIN) = Psat(273.15 K) via Eq. 30. Below the triple-point
|
|
45
|
+
* pressure Pt because T_MIN (0 °C) < Tt (0.01 °C). */
|
|
24
46
|
export const P_MIN = 0.000611212677444;
|
|
25
47
|
/** Maximum pressure [MPa] */
|
|
26
48
|
export const P_MAX = 100.0;
|
|
@@ -41,9 +63,13 @@ export const H_MAX = 7376.980263598506;
|
|
|
41
63
|
export const R2_T_MIN = 623.15;
|
|
42
64
|
/** Region 2 maximum temperature for backward eqs [K] (1073.15 K = 800 °C) */
|
|
43
65
|
export const R2_T_MAX = 1073.15;
|
|
44
|
-
/** Region 2
|
|
66
|
+
/** Region 2 subregion boundary entropy [kJ/(kg·K)].
|
|
67
|
+
* Divides R2a from R2b/R2c in the h-s plane.
|
|
68
|
+
* Ref: IAPWS Supplementary Release on Backward Equations for Region 2, §6.3 */
|
|
45
69
|
export const R2_S_CRT = 5.85;
|
|
46
|
-
/** Region 2
|
|
70
|
+
/** Region 2 subregion boundary pressure [MPa].
|
|
71
|
+
* Divides R2a from R2b/R2c.
|
|
72
|
+
* Ref: IAPWS Supplementary Release on Backward Equations for Region 2, §6.3 */
|
|
47
73
|
export const R2_P_CRT = 4.0;
|
|
48
74
|
// ─── Region 2-3 Boundary ───────────────────────────────────────────────────
|
|
49
75
|
/** B23 minimum pressure [MPa] */
|
|
@@ -64,13 +90,21 @@ export const R5_T_MIN = 1073.15;
|
|
|
64
90
|
export const R5_P_MAX = 50;
|
|
65
91
|
/** Region 5 maximum temperature [K] */
|
|
66
92
|
export const R5_T_MAX = 2273.15;
|
|
67
|
-
// ─── B23 Entropy/Enthalpy
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
93
|
+
// ─── B23 Curve Extrema (Entropy / Enthalpy) ────────────────────────────────
|
|
94
|
+
//
|
|
95
|
+
// These are the GLOBAL EXTREMA along the B23 boundary curve, NOT values at
|
|
96
|
+
// the curve endpoints. Entropy has a minimum at T ≈ 777 K and a maximum at
|
|
97
|
+
// T ≈ 644 K. Enthalpy is monotonic: min at the low-T endpoint (623.15 K),
|
|
98
|
+
// max at the high-T endpoint (863.15 K).
|
|
99
|
+
//
|
|
100
|
+
// Ref: Computed from Region 2 properties evaluated along B23(T) for
|
|
101
|
+
// T ∈ [623.15, 863.15] K.
|
|
102
|
+
/** Minimum entropy along the B23 curve [kJ/(kg·K)], at T ≈ 777 K */
|
|
103
|
+
export const B23_S_CURVE_MIN = 5.048096828;
|
|
104
|
+
/** Maximum entropy along the B23 curve [kJ/(kg·K)], at T ≈ 644 K */
|
|
105
|
+
export const B23_S_CURVE_MAX = 5.260578707;
|
|
106
|
+
/** Minimum enthalpy along the B23 curve [kJ/kg], at T = 623.15 K (currently unused) */
|
|
107
|
+
export const B23_H_CURVE_MIN = 2563.592004;
|
|
108
|
+
/** Maximum enthalpy along the B23 curve [kJ/kg], at T = 863.15 K (currently unused) */
|
|
109
|
+
export const B23_H_CURVE_MAX = 2812.942061;
|
|
76
110
|
//# sourceMappingURL=constants.js.map
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,+EAA+E;AAE/E
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input-validation.d.ts","sourceRoot":"","sources":["../../src/core/input-validation.ts"],"names":[],"mappings":"AAEA,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,MAAM,CAI7F"}
|