You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is the Rust implementation of the high-speed IAPWS-IF97 package **SEUIF97** with **C, Python and WASM** bindings. It is designed for computation-intensive tasks, such as simulating non-stationary processes, on-line process monitoring, and optimization.
6
6
@@ -21,16 +21,19 @@ The Rust version of SEUIF97 is a major upgrade over [the original C implementati
21
21
22
22
For detailed comparison and key improvements, see [Rust vs C](./docs/RUST_VS_C.md).
23
23
24
-
## Acceleration Methods
24
+
## Acceleration Algorithms
25
25
26
-
-**Profiling-guided loop tiling** partitions polynomial summation into cache-friendly tiles with empirically determined boundaries, enabling more effective SIMD vectorization.
27
-
-**Shared-power scaling** exploits the mathematical relationship between Gibbs/Helmholtz free energy polynomials and their partial derivatives to compute them simultaneously in a single pass, eliminating redundant power calculations.
26
+
The acceleration algorithms are detailed in paper:
27
+
[Fast IAPWS-IF97 Evaluation: Profiling-Guided Loop Tiling and Shared-Power Scaling](https://doi.org/10.20944/preprints202606.0793.v1)
28
28
29
-
For more details on these algorithms, see: [code snippets of the acceleration methods](./docs/code_snippets_acceleration_method.md).
29
+
-**Profiling-guided loop tiling**: Partitions polynomial summation into cache-efficient tiles with empirically optimized boundaries to boost SIMD vectorization efficiency.
30
+
-**Shared-power scaling**: Leverages the mathematical correlation between Gibbs and Helmholtz free energy polynomials alongside their partial derivatives to evaluate all quantities in a single pass, removing redundant power-term computations.
31
+
32
+
For code examples, see: [Code Snippets for Acceleration Methods](./docs/code_snippets_acceleration_method.md)
30
33
31
34
## Performance Comparison with CoolProp IF97
32
35
33
-
SEUIF97 achieves **3.4 - 7.6x speedups** over [CoolProp IF97](https://github.com/CoolProp/IF97). See [Performance Comparison](./docs/seuif97_coolprop_if97.md) for detailed benchmark results.
36
+
SEUIF97 achieves **3.4-7.6x speedups** over [CoolProp IF97](https://github.com/CoolProp/IF97). See [Performance Comparison](./docs/seuif97_coolprop_if97.md) for detailed benchmark results.
**SEUIF97 2**, built on Rust, is a major upgrade over [SEUIF97 1 built on C](https://pypi.org/project/seuif97/1.2.0/), delivering significant improvements in performance, functionality and ecosystem support.
The WebAssembly implementation of the high-speed IAPWS-IF97 package SEUIF97 in Rust, enabling fast and accurate thermodynamic property calculations for water and steam in the browser or Node.js.
0 commit comments