iapws-if97 2.1.1 → 2.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/dist/backward/hs.d.ts.map +1 -1
- package/dist/backward/hs.js +26 -3
- 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 +21 -5
- package/dist/backward/ph.js.map +1 -1
- package/dist/backward/ps.d.ts.map +1 -1
- package/dist/backward/ps.js +15 -3
- package/dist/backward/ps.js.map +1 -1
- package/dist/backward/th.d.ts.map +1 -1
- package/dist/backward/th.js +3 -0
- package/dist/backward/th.js.map +1 -1
- package/dist/backward/tolerances.js +1 -1
- package/dist/backward/ts.d.ts.map +1 -1
- package/dist/backward/ts.js +3 -0
- package/dist/backward/ts.js.map +1 -1
- package/dist/constants.d.ts +6 -2
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +6 -2
- 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 +71 -47
- 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.map +1 -1
- package/dist/regions/region3-subregions.js +9 -6
- 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 +9 -2
- package/dist/regions/region3.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 +30 -3
- package/dist/saturation/common.js.map +1 -1
- package/dist/saturation/region4-hs.d.ts.map +1 -1
- package/dist/saturation/region4-hs.js +89 -6
- package/dist/saturation/region4-hs.js.map +1 -1
- package/dist/saturation/two-phase.d.ts.map +1 -1
- package/dist/saturation/two-phase.js +5 -0
- package/dist/saturation/two-phase.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/package.json +1 -1
|
@@ -1,13 +1,22 @@
|
|
|
1
1
|
import * as C from '../constants.js';
|
|
2
2
|
import { bracketedNewton } from '../solvers/bracketed-newton.js';
|
|
3
|
-
import { mixSaturationState, saturationEndpointsAtTemperature } from './common.js';
|
|
3
|
+
import { mixSaturationState, rawQualityFromSaturationProperty, saturationEndpointsAtTemperature, } from './common.js';
|
|
4
4
|
import { assertRegion4StateAllowed, clampRegion4TemperatureBelowCritical, } from './region4-boundaries.js';
|
|
5
5
|
const REGION4_QUALITY_TOLERANCE = 1e-6;
|
|
6
6
|
function isClose(a, b) {
|
|
7
7
|
return Math.abs(a - b) <= 1e-9 * Math.max(1, Math.abs(a), Math.abs(b));
|
|
8
8
|
}
|
|
9
|
-
function
|
|
10
|
-
|
|
9
|
+
function normalizeEndpointQuality(quality) {
|
|
10
|
+
if (!Number.isFinite(quality)) {
|
|
11
|
+
return Number.NaN;
|
|
12
|
+
}
|
|
13
|
+
if (Math.abs(quality) <= REGION4_QUALITY_TOLERANCE) {
|
|
14
|
+
return 0;
|
|
15
|
+
}
|
|
16
|
+
if (Math.abs(quality - 1) <= REGION4_QUALITY_TOLERANCE) {
|
|
17
|
+
return 1;
|
|
18
|
+
}
|
|
19
|
+
return quality;
|
|
11
20
|
}
|
|
12
21
|
function isAdmissibleQuality(quality) {
|
|
13
22
|
return Number.isFinite(quality)
|
|
@@ -26,10 +35,12 @@ function finalizeRegion4HSState(h, s, temperature) {
|
|
|
26
35
|
const endpoints = saturationEndpointsAtTemperature(temperature);
|
|
27
36
|
const qualityFromEnthalpy = rawQualityFromSaturationProperty(endpoints.liquid.enthalpy, endpoints.vapor.enthalpy, h);
|
|
28
37
|
const qualityFromEntropy = rawQualityFromSaturationProperty(endpoints.liquid.entropy, endpoints.vapor.entropy, s);
|
|
29
|
-
|
|
38
|
+
const normalizedQualityFromEnthalpy = normalizeEndpointQuality(qualityFromEnthalpy);
|
|
39
|
+
const normalizedQualityFromEntropy = normalizeEndpointQuality(qualityFromEntropy);
|
|
40
|
+
if (!isAdmissibleQuality(normalizedQualityFromEnthalpy) || !isAdmissibleQuality(normalizedQualityFromEntropy)) {
|
|
30
41
|
return null;
|
|
31
42
|
}
|
|
32
|
-
if (Math.abs(
|
|
43
|
+
if (Math.abs(normalizedQualityFromEnthalpy - normalizedQualityFromEntropy) > REGION4_QUALITY_TOLERANCE) {
|
|
33
44
|
return null;
|
|
34
45
|
}
|
|
35
46
|
if (Math.abs(entropyResidual(h, s, temperature)) > C.REGION4_HS_RESIDUAL_TOLERANCE) {
|
|
@@ -41,9 +52,81 @@ function finalizeRegion4HSState(h, s, temperature) {
|
|
|
41
52
|
catch {
|
|
42
53
|
return null;
|
|
43
54
|
}
|
|
44
|
-
return mixSaturationState(endpoints,
|
|
55
|
+
return mixSaturationState(endpoints, normalizedQualityFromEnthalpy);
|
|
56
|
+
}
|
|
57
|
+
function endpointStateForPhase(h, s, temperature, phase) {
|
|
58
|
+
let endpoints;
|
|
59
|
+
try {
|
|
60
|
+
endpoints = saturationEndpointsAtTemperature(temperature);
|
|
61
|
+
}
|
|
62
|
+
catch {
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
const endpoint = endpoints[phase];
|
|
66
|
+
if (!isClose(endpoint.enthalpy, h) || !isClose(endpoint.entropy, s)) {
|
|
67
|
+
return null;
|
|
68
|
+
}
|
|
69
|
+
try {
|
|
70
|
+
assertRegion4StateAllowed(endpoints.pressure, endpoints.temperature, 'Region4HS');
|
|
71
|
+
}
|
|
72
|
+
catch {
|
|
73
|
+
return null;
|
|
74
|
+
}
|
|
75
|
+
return mixSaturationState(endpoints, phase === 'liquid' ? 0 : 1);
|
|
76
|
+
}
|
|
77
|
+
function endpointEnthalpyResidual(h, temperatureGuess, phase) {
|
|
78
|
+
let endpoints;
|
|
79
|
+
try {
|
|
80
|
+
endpoints = saturationEndpointsAtTemperature(clampRegion4TemperatureBelowCritical(temperatureGuess));
|
|
81
|
+
}
|
|
82
|
+
catch {
|
|
83
|
+
return Number.NaN;
|
|
84
|
+
}
|
|
85
|
+
return endpoints[phase].enthalpy - h;
|
|
86
|
+
}
|
|
87
|
+
function tryRegion4HSEndpointState(h, s) {
|
|
88
|
+
const lower = C.Tt;
|
|
89
|
+
const upper = clampRegion4TemperatureBelowCritical(C.Tc);
|
|
90
|
+
for (const phase of ['liquid', 'vapor']) {
|
|
91
|
+
const lowerState = endpointStateForPhase(h, s, lower, phase);
|
|
92
|
+
if (lowerState !== null) {
|
|
93
|
+
return lowerState;
|
|
94
|
+
}
|
|
95
|
+
const upperState = endpointStateForPhase(h, s, upper, phase);
|
|
96
|
+
if (upperState !== null) {
|
|
97
|
+
return upperState;
|
|
98
|
+
}
|
|
99
|
+
let previousTemperature = lower;
|
|
100
|
+
let previousResidual = endpointEnthalpyResidual(h, lower, phase);
|
|
101
|
+
for (let i = 1; i <= C.REGION4_HS_BRACKET_SEGMENTS; i++) {
|
|
102
|
+
const temperature = lower + (upper - lower) * (i / C.REGION4_HS_BRACKET_SEGMENTS);
|
|
103
|
+
const residual = endpointEnthalpyResidual(h, temperature, phase);
|
|
104
|
+
if (!Number.isFinite(previousResidual) || !Number.isFinite(residual)) {
|
|
105
|
+
previousTemperature = temperature;
|
|
106
|
+
previousResidual = residual;
|
|
107
|
+
continue;
|
|
108
|
+
}
|
|
109
|
+
if (isClose(previousResidual, 0)) {
|
|
110
|
+
return endpointStateForPhase(h, s, previousTemperature, phase);
|
|
111
|
+
}
|
|
112
|
+
if (isClose(residual, 0)) {
|
|
113
|
+
return endpointStateForPhase(h, s, temperature, phase);
|
|
114
|
+
}
|
|
115
|
+
if (previousResidual * residual < 0) {
|
|
116
|
+
const root = bracketedNewton((candidateTemperature) => endpointEnthalpyResidual(h, candidateTemperature, phase), previousTemperature, temperature, (previousTemperature + temperature) / 2, { tolerance: C.REGION4_HS_RESIDUAL_TOLERANCE });
|
|
117
|
+
return endpointStateForPhase(h, s, root, phase);
|
|
118
|
+
}
|
|
119
|
+
previousTemperature = temperature;
|
|
120
|
+
previousResidual = residual;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
return null;
|
|
45
124
|
}
|
|
46
125
|
export function tryRegion4HSState(h, s) {
|
|
126
|
+
const endpointState = tryRegion4HSEndpointState(h, s);
|
|
127
|
+
if (endpointState !== null) {
|
|
128
|
+
return endpointState;
|
|
129
|
+
}
|
|
47
130
|
const lower = C.Tt;
|
|
48
131
|
const upper = clampRegion4TemperatureBelowCritical(C.Tc);
|
|
49
132
|
const lowerState = finalizeRegion4HSState(h, s, lower);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"region4-hs.js","sourceRoot":"","sources":["../../src/saturation/region4-hs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE,OAAO,
|
|
1
|
+
{"version":3,"file":"region4-hs.js","sourceRoot":"","sources":["../../src/saturation/region4-hs.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"two-phase.d.ts","sourceRoot":"","sources":["../../src/saturation/two-phase.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"two-phase.d.ts","sourceRoot":"","sources":["../../src/saturation/two-phase.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAanD;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,eAAe,CAY7D;AAID;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,eAAe,CAW7D"}
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
* Reference: IAPWS-IF97, Region 4 (Saturation Line)
|
|
8
8
|
*/
|
|
9
9
|
import { OutOfRangeError } from '../types.js';
|
|
10
|
+
import { assertFiniteNumber } from '../core/input-validation.js';
|
|
10
11
|
import { saturationPressure } from '../regions/region4.js';
|
|
11
12
|
import { mixSaturationState, saturationEndpointsAtPressure } from './common.js';
|
|
12
13
|
import { assertRegion4PressureStateInput, assertRegion4TemperatureStateInput, normalizeRegion4Pressure, } from './region4-boundaries.js';
|
|
@@ -17,6 +18,8 @@ import { assertRegion4PressureStateInput, assertRegion4TemperatureStateInput, no
|
|
|
17
18
|
* @param x - Vapour quality [0, 1]
|
|
18
19
|
*/
|
|
19
20
|
export function solvePx(p, x) {
|
|
21
|
+
assertFiniteNumber('Pressure', p);
|
|
22
|
+
assertFiniteNumber('Quality', x);
|
|
20
23
|
if (x < 0 || x > 1) {
|
|
21
24
|
throw new OutOfRangeError('Quality', x, 0, 1);
|
|
22
25
|
}
|
|
@@ -29,6 +32,8 @@ export function solvePx(p, x) {
|
|
|
29
32
|
* @param x - Vapour quality [0, 1]
|
|
30
33
|
*/
|
|
31
34
|
export function solveTx(T, x) {
|
|
35
|
+
assertFiniteNumber('Temperature', T);
|
|
36
|
+
assertFiniteNumber('Quality', x);
|
|
32
37
|
if (x < 0 || x > 1) {
|
|
33
38
|
throw new OutOfRangeError('Quality', x, 0, 1);
|
|
34
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"two-phase.js","sourceRoot":"","sources":["../../src/saturation/two-phase.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,6BAA6B,EAAE,MAAM,aAAa,CAAC;AAChF,OAAO,EACL,+BAA+B,EAC/B,kCAAkC,EAClC,wBAAwB,GACzB,MAAM,yBAAyB,CAAC;AAEjC,+EAA+E;AAE/E;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAC,CAAS,EAAE,CAAS;IAC1C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,eAAe,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,kBAAkB,CACvB,6BAA6B,CAAC,+BAA+B,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAC5E,CAAC,CACF,CAAC;AACJ,CAAC;AAED,+EAA+E;AAE/E;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAC,CAAS,EAAE,CAAS;IAC1C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,eAAe,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,WAAW,GAAG,kCAAkC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IACrE,MAAM,CAAC,GAAG,wBAAwB,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC;IACpE,OAAO,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACvB,CAAC"}
|
|
1
|
+
{"version":3,"file":"two-phase.js","sourceRoot":"","sources":["../../src/saturation/two-phase.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,6BAA6B,EAAE,MAAM,aAAa,CAAC;AAChF,OAAO,EACL,+BAA+B,EAC/B,kCAAkC,EAClC,wBAAwB,GACzB,MAAM,yBAAyB,CAAC;AAEjC,+EAA+E;AAE/E;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAC,CAAS,EAAE,CAAS;IAC1C,kBAAkB,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IAClC,kBAAkB,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IAEjC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,eAAe,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,kBAAkB,CACvB,6BAA6B,CAAC,+BAA+B,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAC5E,CAAC,CACF,CAAC;AACJ,CAAC;AAED,+EAA+E;AAE/E;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAC,CAAS,EAAE,CAAS;IAC1C,kBAAkB,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;IACrC,kBAAkB,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IAEjC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,eAAe,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,WAAW,GAAG,kCAAkC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IACrE,MAAM,CAAC,GAAG,wBAAwB,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC;IACpE,OAAO,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACvB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nelder-mead.d.ts","sourceRoot":"","sources":["../../src/solvers/nelder-mead.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"nelder-mead.d.ts","sourceRoot":"","sources":["../../src/solvers/nelder-mead.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,iBAAiB;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,CAAC,EAAE,MAAM,EAAE,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,iBAAiB,GAAG,gBAAgB,CAqH/G"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* Nelder-Mead (downhill simplex) minimizer.
|
|
3
3
|
* Minimizes f(x) where x is an array of numbers.
|
|
4
4
|
*/
|
|
5
|
+
import { ConvergenceError } from '../types.js';
|
|
5
6
|
export function nelderMead(f, x0, opts) {
|
|
6
7
|
const maxIter = opts?.maxIterations ?? x0.length * 200;
|
|
7
8
|
const nonZeroDelta = opts?.nonZeroDelta ?? 1.05;
|
|
@@ -13,15 +14,23 @@ export function nelderMead(f, x0, opts) {
|
|
|
13
14
|
const psi = opts?.psi ?? -0.5;
|
|
14
15
|
const sigma = opts?.sigma ?? 0.5;
|
|
15
16
|
const N = x0.length;
|
|
17
|
+
let converged = false;
|
|
18
|
+
function evaluate(point, iteration) {
|
|
19
|
+
const value = f(point);
|
|
20
|
+
if (!Number.isFinite(value)) {
|
|
21
|
+
throw new ConvergenceError('nelderMead', iteration);
|
|
22
|
+
}
|
|
23
|
+
return value;
|
|
24
|
+
}
|
|
16
25
|
const simplex = new Array(N + 1);
|
|
17
26
|
// Initialize simplex
|
|
18
27
|
const v0 = [...x0];
|
|
19
|
-
v0.fx =
|
|
28
|
+
v0.fx = evaluate(x0, 1);
|
|
20
29
|
simplex[0] = v0;
|
|
21
30
|
for (let i = 0; i < N; i++) {
|
|
22
31
|
const pt = [...x0];
|
|
23
32
|
pt[i] = pt[i] ? pt[i] * nonZeroDelta : zeroDelta;
|
|
24
|
-
pt.fx =
|
|
33
|
+
pt.fx = evaluate(pt, 1);
|
|
25
34
|
simplex[i + 1] = pt;
|
|
26
35
|
}
|
|
27
36
|
const sortOrder = (a, b) => a.fx - b.fx;
|
|
@@ -43,11 +52,15 @@ export function nelderMead(f, x0, opts) {
|
|
|
43
52
|
for (let iter = 0; iter < maxIter; iter++) {
|
|
44
53
|
simplex.sort(sortOrder);
|
|
45
54
|
let maxDiff = 0;
|
|
46
|
-
for (let i =
|
|
47
|
-
|
|
55
|
+
for (let i = 1; i < simplex.length; i++) {
|
|
56
|
+
for (let j = 0; j < N; j++) {
|
|
57
|
+
maxDiff = Math.max(maxDiff, Math.abs(simplex[0][j] - simplex[i][j]));
|
|
58
|
+
}
|
|
48
59
|
}
|
|
49
|
-
if (Math.abs(simplex[0].fx - simplex[N].fx) < minErrDelta && maxDiff < minTol)
|
|
60
|
+
if (Math.abs(simplex[0].fx - simplex[N].fx) < minErrDelta && maxDiff < minTol) {
|
|
61
|
+
converged = true;
|
|
50
62
|
break;
|
|
63
|
+
}
|
|
51
64
|
for (let i = 0; i < N; i++) {
|
|
52
65
|
centroid[i] = 0;
|
|
53
66
|
for (let j = 0; j < N; j++)
|
|
@@ -56,17 +69,17 @@ export function nelderMead(f, x0, opts) {
|
|
|
56
69
|
}
|
|
57
70
|
const worst = simplex[N];
|
|
58
71
|
weightedSum(reflected, 1 + rho, centroid, -rho, worst);
|
|
59
|
-
reflected.fx =
|
|
72
|
+
reflected.fx = evaluate(reflected, iter + 1);
|
|
60
73
|
if (reflected.fx < simplex[0].fx) {
|
|
61
74
|
weightedSum(expanded, 1 + chi, centroid, -chi, worst);
|
|
62
|
-
expanded.fx =
|
|
75
|
+
expanded.fx = evaluate(expanded, iter + 1);
|
|
63
76
|
updateSimplex(expanded.fx < reflected.fx ? expanded : reflected);
|
|
64
77
|
}
|
|
65
78
|
else if (reflected.fx >= simplex[N - 1].fx) {
|
|
66
79
|
let shouldReduce = false;
|
|
67
80
|
if (reflected.fx > worst.fx) {
|
|
68
81
|
weightedSum(contracted, 1 + psi, centroid, -psi, worst);
|
|
69
|
-
contracted.fx =
|
|
82
|
+
contracted.fx = evaluate(contracted, iter + 1);
|
|
70
83
|
if (contracted.fx < worst.fx)
|
|
71
84
|
updateSimplex(contracted);
|
|
72
85
|
else
|
|
@@ -74,18 +87,19 @@ export function nelderMead(f, x0, opts) {
|
|
|
74
87
|
}
|
|
75
88
|
else {
|
|
76
89
|
weightedSum(contracted, 1 - psi * rho, centroid, psi * rho, worst);
|
|
77
|
-
contracted.fx =
|
|
90
|
+
contracted.fx = evaluate(contracted, iter + 1);
|
|
78
91
|
if (contracted.fx < reflected.fx)
|
|
79
92
|
updateSimplex(contracted);
|
|
80
93
|
else
|
|
81
94
|
shouldReduce = true;
|
|
82
95
|
}
|
|
83
96
|
if (shouldReduce) {
|
|
84
|
-
if (sigma >= 1)
|
|
85
|
-
|
|
97
|
+
if (sigma >= 1) {
|
|
98
|
+
throw new ConvergenceError('nelderMead', iter + 1);
|
|
99
|
+
}
|
|
86
100
|
for (let i = 1; i < simplex.length; i++) {
|
|
87
101
|
weightedSum(simplex[i], 1 - sigma, simplex[0], sigma, simplex[i]);
|
|
88
|
-
simplex[i].fx =
|
|
102
|
+
simplex[i].fx = evaluate(simplex[i], iter + 1);
|
|
89
103
|
}
|
|
90
104
|
}
|
|
91
105
|
}
|
|
@@ -93,6 +107,9 @@ export function nelderMead(f, x0, opts) {
|
|
|
93
107
|
updateSimplex(reflected);
|
|
94
108
|
}
|
|
95
109
|
}
|
|
110
|
+
if (!converged) {
|
|
111
|
+
throw new ConvergenceError('nelderMead', maxIter);
|
|
112
|
+
}
|
|
96
113
|
simplex.sort(sortOrder);
|
|
97
114
|
return { fx: simplex[0].fx, x: simplex[0].slice(0, N) };
|
|
98
115
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nelder-mead.js","sourceRoot":"","sources":["../../src/solvers/nelder-mead.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"nelder-mead.js","sourceRoot":"","sources":["../../src/solvers/nelder-mead.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Newton-Raphson root-finding solver.
|
|
3
|
-
* Finds x such that f(x) = 0, with optional analytical derivative.
|
|
4
|
-
*/
|
|
5
1
|
export interface NewtonRaphsonOptions {
|
|
6
2
|
/** Convergence tolerance (default 1e-7) */
|
|
7
3
|
tolerance?: number;
|
|
@@ -20,6 +16,7 @@ export interface NewtonRaphsonOptions {
|
|
|
20
16
|
* @param fp - Optional analytical derivative f'(x)
|
|
21
17
|
* @param options - Solver options
|
|
22
18
|
* @returns x such that f(x) ≈ 0
|
|
19
|
+
* @throws {ConvergenceError} if the iteration diverges or does not converge
|
|
23
20
|
*/
|
|
24
21
|
export declare function newtonRaphson(f: (x: number) => number, x0: number, fp?: ((x: number) => number) | null, options?: NewtonRaphsonOptions): number;
|
|
25
22
|
//# sourceMappingURL=newton-raphson.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"newton-raphson.d.ts","sourceRoot":"","sources":["../../src/solvers/newton-raphson.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"newton-raphson.d.ts","sourceRoot":"","sources":["../../src/solvers/newton-raphson.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,oBAAoB;IACnC,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sCAAsC;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wDAAwD;IACxD,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EACxB,EAAE,EAAE,MAAM,EACV,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC,GAAG,IAAI,EACnC,OAAO,CAAC,EAAE,oBAAoB,GAC7B,MAAM,CAyCR"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* Newton-Raphson root-finding solver.
|
|
3
3
|
* Finds x such that f(x) = 0, with optional analytical derivative.
|
|
4
4
|
*/
|
|
5
|
+
import { ConvergenceError } from '../types.js';
|
|
5
6
|
/**
|
|
6
7
|
* Solve f(x) = 0 using Newton-Raphson method.
|
|
7
8
|
*
|
|
@@ -10,6 +11,7 @@
|
|
|
10
11
|
* @param fp - Optional analytical derivative f'(x)
|
|
11
12
|
* @param options - Solver options
|
|
12
13
|
* @returns x such that f(x) ≈ 0
|
|
14
|
+
* @throws {ConvergenceError} if the iteration diverges or does not converge
|
|
13
15
|
*/
|
|
14
16
|
export function newtonRaphson(f, x0, fp, options) {
|
|
15
17
|
const tol = options?.tolerance ?? 1e-7;
|
|
@@ -20,6 +22,11 @@ export function newtonRaphson(f, x0, fp, options) {
|
|
|
20
22
|
let x = x0;
|
|
21
23
|
for (let iter = 0; iter < maxIter; iter++) {
|
|
22
24
|
const y = f(x);
|
|
25
|
+
if (!Number.isFinite(y)) {
|
|
26
|
+
throw new ConvergenceError('newtonRaphson', iter + 1);
|
|
27
|
+
}
|
|
28
|
+
if (y === 0)
|
|
29
|
+
return x;
|
|
23
30
|
let yp;
|
|
24
31
|
if (fp) {
|
|
25
32
|
yp = fp(x);
|
|
@@ -32,13 +39,17 @@ export function newtonRaphson(f, x0, fp, options) {
|
|
|
32
39
|
const ym2h = f(x - 2 * h);
|
|
33
40
|
yp = ((ym2h - yp2h) + 8 * (yph - ymh)) * hr / 12;
|
|
34
41
|
}
|
|
35
|
-
if (Math.abs(yp) <= eps * Math.abs(y))
|
|
36
|
-
|
|
42
|
+
if (!Number.isFinite(yp) || Math.abs(yp) <= eps * Math.max(1, Math.abs(y))) {
|
|
43
|
+
throw new ConvergenceError('newtonRaphson', iter + 1);
|
|
44
|
+
}
|
|
37
45
|
const x1 = x - y / yp;
|
|
38
|
-
if (
|
|
46
|
+
if (!Number.isFinite(x1)) {
|
|
47
|
+
throw new ConvergenceError('newtonRaphson', iter + 1);
|
|
48
|
+
}
|
|
49
|
+
if (Math.abs(x1 - x) <= tol * Math.max(1, Math.abs(x1)))
|
|
39
50
|
return x1;
|
|
40
51
|
x = x1;
|
|
41
52
|
}
|
|
42
|
-
|
|
53
|
+
throw new ConvergenceError('newtonRaphson', maxIter);
|
|
43
54
|
}
|
|
44
55
|
//# sourceMappingURL=newton-raphson.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"newton-raphson.js","sourceRoot":"","sources":["../../src/solvers/newton-raphson.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"newton-raphson.js","sourceRoot":"","sources":["../../src/solvers/newton-raphson.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAa/C;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAC3B,CAAwB,EACxB,EAAU,EACV,EAAmC,EACnC,OAA8B;IAE9B,MAAM,GAAG,GAAG,OAAO,EAAE,SAAS,IAAI,IAAI,CAAC;IACvC,MAAM,OAAO,GAAG,OAAO,EAAE,aAAa,IAAI,EAAE,CAAC;IAC7C,MAAM,CAAC,GAAG,OAAO,EAAE,CAAC,IAAI,IAAI,CAAC;IAC7B,MAAM,GAAG,GAAG,OAAO,EAAE,OAAO,IAAI,qBAAqB,CAAC;IACtD,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IAEjB,IAAI,CAAC,GAAG,EAAE,CAAC;IACX,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC;QAC1C,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACf,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,gBAAgB,CAAC,eAAe,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC;QAEtB,IAAI,EAAU,CAAC;QAEf,IAAI,EAAE,EAAE,CAAC;YACP,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;QACb,CAAC;aAAM,CAAC;YACN,+BAA+B;YAC/B,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACrB,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACrB,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1B,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1B,EAAE,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;QACnD,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3E,MAAM,IAAI,gBAAgB,CAAC,eAAe,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,gBAAgB,CAAC,eAAe,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAAE,OAAO,EAAE,CAAC;QACnE,CAAC,GAAG,EAAE,CAAC;IACT,CAAC;IAED,MAAM,IAAI,gBAAgB,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;AACvD,CAAC"}
|
|
@@ -18,6 +18,7 @@ export declare function viscosity(T: number, rho: number): number;
|
|
|
18
18
|
*
|
|
19
19
|
* When optional thermodynamic state parameters are provided, the full IAPWS 2011
|
|
20
20
|
* critical enhancement (λ₂) is computed. Otherwise λ₂ = 0 (backward compatible).
|
|
21
|
+
* λ₂ intentionally uses `R_IAPWS_2011_THERMAL`, not the IF97 thermodynamic `R`.
|
|
21
22
|
*
|
|
22
23
|
* @param T Temperature [K]
|
|
23
24
|
* @param rho Density [kg/m³]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"properties.d.ts","sourceRoot":"","sources":["../../src/transport/properties.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"properties.d.ts","sourceRoot":"","sources":["../../src/transport/properties.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA+BH;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAiCxD;AAsBD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CACjC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EACtB,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GACvD,MAAM,CAyCR;AAgDD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQvD;AAUD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAyBjE;AAMD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAyBxE"}
|
|
@@ -7,7 +7,19 @@
|
|
|
7
7
|
* - Dielectric Constant (IAPWS 1997)
|
|
8
8
|
* - Ionization Constant (IAPWS 2024)
|
|
9
9
|
*/
|
|
10
|
-
import {
|
|
10
|
+
import { assertFiniteNumber } from '../core/input-validation.js';
|
|
11
|
+
import { Tc, Pc, RHOc, R_IAPWS_2011_THERMAL } from '../constants.js';
|
|
12
|
+
import { IF97Error } from '../types.js';
|
|
13
|
+
function assertPositiveNumber(parameter, value) {
|
|
14
|
+
if (value <= 0) {
|
|
15
|
+
throw new IF97Error(`${parameter} must be greater than 0`);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
function assertNonNegativeNumber(parameter, value) {
|
|
19
|
+
if (value < 0) {
|
|
20
|
+
throw new IF97Error(`${parameter} must be greater than or equal to 0`);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
11
23
|
// ─── Viscosity (IAPWS 2008) ─────────────────────────────────────────────────
|
|
12
24
|
const MU0_H = [1.67752, 2.20462, 0.6366564, -0.241605];
|
|
13
25
|
const MU1_H = [
|
|
@@ -25,6 +37,10 @@ const MU1_H = [
|
|
|
25
37
|
* @param rho Density [kg/m³]
|
|
26
38
|
*/
|
|
27
39
|
export function viscosity(T, rho) {
|
|
40
|
+
assertFiniteNumber('Temperature', T);
|
|
41
|
+
assertFiniteNumber('Density', rho);
|
|
42
|
+
assertPositiveNumber('Temperature', T);
|
|
43
|
+
assertNonNegativeNumber('Density', rho);
|
|
28
44
|
const That = T / Tc;
|
|
29
45
|
const rhat = rho / RHOc;
|
|
30
46
|
// μ₀ — dilute gas contribution
|
|
@@ -67,13 +83,12 @@ const DRHO_REF_COEFFS = [
|
|
|
67
83
|
[1.863354037, [1.55225959906681, 0.464621290821181, 8.93237374861479, -11.0321960061126, 6.16780999933360, -0.965458722086812]],
|
|
68
84
|
[Infinity, [1.11999926419994, 0.595748562571649, 9.88952565078920, -10.3255051147040, 4.66861294457414, -0.503243546373828]],
|
|
69
85
|
];
|
|
70
|
-
/** Specific gas constant for water [kJ/(kg·K)] */
|
|
71
|
-
const R_WATER = 0.46151805;
|
|
72
86
|
/**
|
|
73
87
|
* Thermal conductivity of water/steam [W/(m·K)]
|
|
74
88
|
*
|
|
75
89
|
* When optional thermodynamic state parameters are provided, the full IAPWS 2011
|
|
76
90
|
* critical enhancement (λ₂) is computed. Otherwise λ₂ = 0 (backward compatible).
|
|
91
|
+
* λ₂ intentionally uses `R_IAPWS_2011_THERMAL`, not the IF97 thermodynamic `R`.
|
|
77
92
|
*
|
|
78
93
|
* @param T Temperature [K]
|
|
79
94
|
* @param rho Density [kg/m³]
|
|
@@ -83,6 +98,22 @@ const R_WATER = 0.46151805;
|
|
|
83
98
|
* @param mu Dynamic viscosity [Pa·s] (optional)
|
|
84
99
|
*/
|
|
85
100
|
export function thermalConductivity(T, rho, cp, cv, drhodP_T, mu) {
|
|
101
|
+
assertFiniteNumber('Temperature', T);
|
|
102
|
+
assertFiniteNumber('Density', rho);
|
|
103
|
+
assertPositiveNumber('Temperature', T);
|
|
104
|
+
assertNonNegativeNumber('Density', rho);
|
|
105
|
+
if (cp !== undefined)
|
|
106
|
+
assertFiniteNumber('Isobaric heat capacity', cp);
|
|
107
|
+
if (cv !== undefined) {
|
|
108
|
+
assertFiniteNumber('Isochoric heat capacity', cv);
|
|
109
|
+
assertPositiveNumber('Isochoric heat capacity', cv);
|
|
110
|
+
}
|
|
111
|
+
if (drhodP_T !== undefined)
|
|
112
|
+
assertFiniteNumber('Isothermal density derivative', drhodP_T);
|
|
113
|
+
if (mu !== undefined) {
|
|
114
|
+
assertFiniteNumber('Dynamic viscosity', mu);
|
|
115
|
+
assertPositiveNumber('Dynamic viscosity', mu);
|
|
116
|
+
}
|
|
86
117
|
const That = T / Tc;
|
|
87
118
|
const rhat = rho / RHOc;
|
|
88
119
|
// λ₀
|
|
@@ -143,7 +174,7 @@ function computeK2(That, rhat, cp, cv, drhodP_T, mu) {
|
|
|
143
174
|
// Viscosity in μPa·s (mu is in Pa·s)
|
|
144
175
|
const mu_uPas = mu * 1e6;
|
|
145
176
|
// λ₂ in mW/(m·K)
|
|
146
|
-
return 177.8514 * rhat * (cp /
|
|
177
|
+
return 177.8514 * rhat * (cp / R_IAPWS_2011_THERMAL) * That / mu_uPas * Z;
|
|
147
178
|
}
|
|
148
179
|
// ─── Surface Tension (IAPWS 2014) ───────────────────────────────────────────
|
|
149
180
|
/**
|
|
@@ -152,6 +183,7 @@ function computeK2(That, rhat, cp, cv, drhodP_T, mu) {
|
|
|
152
183
|
* @param T Temperature [K], valid for 273.15 ≤ T ≤ 647.096
|
|
153
184
|
*/
|
|
154
185
|
export function surfaceTension(T) {
|
|
186
|
+
assertFiniteNumber('Temperature', T);
|
|
155
187
|
if (T < 273.15 || T > Tc) {
|
|
156
188
|
return null;
|
|
157
189
|
}
|
|
@@ -170,6 +202,10 @@ const DC_Jh = [0.25, 1, 2.5, 1.5, 1.5, 2.5, 2, 2, 5, 0.5, 10];
|
|
|
170
202
|
* @param rho Density [kg/m³]
|
|
171
203
|
*/
|
|
172
204
|
export function dielectricConstant(T, rho) {
|
|
205
|
+
assertFiniteNumber('Temperature', T);
|
|
206
|
+
assertFiniteNumber('Density', rho);
|
|
207
|
+
assertPositiveNumber('Temperature', T);
|
|
208
|
+
assertNonNegativeNumber('Density', rho);
|
|
173
209
|
const MW = 0.018015268;
|
|
174
210
|
const rhoM = rho / MW;
|
|
175
211
|
const rhoRc = rhoM / (RHOc / MW);
|
|
@@ -195,6 +231,10 @@ function log10(x) { return Math.log(x) / Math.LN10; }
|
|
|
195
231
|
* @param rho Density [kg/m³]
|
|
196
232
|
*/
|
|
197
233
|
export function ionizationConstant(T, rho) {
|
|
234
|
+
assertFiniteNumber('Temperature', T);
|
|
235
|
+
assertFiniteNumber('Density', rho);
|
|
236
|
+
assertPositiveNumber('Temperature', T);
|
|
237
|
+
assertNonNegativeNumber('Density', rho);
|
|
198
238
|
if (T < 273.15 || T > 1273.15) {
|
|
199
239
|
return null;
|
|
200
240
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"properties.js","sourceRoot":"","sources":["../../src/transport/properties.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"properties.js","sourceRoot":"","sources":["../../src/transport/properties.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "iapws-if97",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.2",
|
|
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": {
|