Skip to content

Commit 7b795b5

Browse files
committed
doi
1 parent 568aaeb commit 7b795b5

3 files changed

Lines changed: 12 additions & 11 deletions

File tree

README.md

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# SEUIF97
22

3-
![docs.rs](https://img.shields.io/docsrs/seuif97) [![Build test](https://github.com/thermalogic/RustSEUIF97/actions/workflows/rust.yml/badge.svg)](https://github.com/thermalogic/RustSEUIF97/actions/workflows/rust.yml) ![Crates.io Version](https://img.shields.io/crates/v/seuif97) ![Crates.io Total Downloads](https://img.shields.io/crates/d/seuif97) ![Crates.io Downloads (recent)](https://img.shields.io/crates/dr/seuif97)
3+
![docs.rs](https://img.shields.io/docsrs/seuif97) [![Build test](https://github.com/thermalogic/RustSEUIF97/actions/workflows/rust.yml/badge.svg)](https://github.com/thermalogic/RustSEUIF97/actions/workflows/rust.yml)
44

55
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.
66

@@ -21,16 +21,19 @@ The Rust version of SEUIF97 is a major upgrade over [the original C implementati
2121

2222
For detailed comparison and key improvements, see [Rust vs C](./docs/RUST_VS_C.md).
2323

24-
## Acceleration Methods
24+
## Acceleration Algorithms
2525

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)
2828

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)
3033

3134
## Performance Comparison with CoolProp IF97
3235

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.
3437

3538
## Property Calculation Functions
3639

@@ -142,8 +145,6 @@ int main(void)
142145
143146
**Install from PyPI**
144147
145-
- <https://pypi.org/project/seuif97/>
146-
147148
```bash
148149
pip install seuif97
149150
```
@@ -174,6 +175,7 @@ print(f"p={p}, t={t} h={h:.3f} s={s:.3f}")
174175
## WASM binding
175176

176177
**Install from npm:**
178+
177179
```bash
178180
npm install seuif97
179181
```
@@ -238,4 +240,3 @@ console.log(`S: ${s.toFixed(5)} kJ/(kg·K)`);
238240
| Fugacity coefficient || φ | OFI | 33 |
239241
| Fugacity | MPa | f | OFU | 34 |
240242
| Relative pressure coefficient | 1/K | αp | OAFLAP | 35 |
241-

README_Python.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# SEUIF97
22

3-
![PyPI](https://img.shields.io/pypi/v/seuif97) [![Downloads](https://static.pepy.tech/badge/seuif97)](https://pepy.tech/project/seuif97) [![Downloads](https://static.pepy.tech/badge/seuif97/month)](https://pepy.tech/project/seuif97)
3+
![PyPI](https://img.shields.io/pypi/v/seuif97) [![DOI](https://img.shields.io/badge/DOI-10.20944/preprints202606.0793.v1-blue?style=flat-square)](https://doi.org/10.20944/preprints202606.0793.v1)
44

55
**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.
66

npm/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# SEUIF97
22

3-
![npm version](https://img.shields.io/npm/v/seuif97) ![NPM Downloads](https://img.shields.io/npm/dt/seuif97) ![NPM Downloads](https://img.shields.io/npm/dm/seuif97)
3+
![npm version](https://img.shields.io/npm/v/seuif97) [![DOI](https://img.shields.io/badge/DOI-10.20944/preprints202606.0793.v1-blue?style=flat-square)](https://doi.org/10.20944/preprints202606.0793.v1)
44

55
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.
66

0 commit comments

Comments
 (0)