XSteamW - a vectorizing wrapper for XSteam
XSteam.m is a function, written by Magnus Holmgren, for calculating Steam and Water properties according to the IAPWS IF-97 standard. XSteam is free, see http://www.x-eng.com or http://www.mathworks.com/matlabcentral/fileexchange/9817. Thanx to Magnus for his excellent work!
XSteam does not support vectors as passed arguments. So calling XSteam following vectorized code guidelines sometimes results in error messages. Therefore writing some kind of loops around XSteam seems to be unavoidable in certain cases.
XSteamW is a "wrapper" for XSteam, doing this "looping" around XSteam:
result = XSteamW (Var1, Var2);
result = XSteamW (Var1, Var2, Var3);
Unlike calling XSteam, Var2 and/or Var3 can now passed to XSteamW as row or columns vectors.
Results are calculated as an m-by-n matrix. The number m of rows
equals the length of Var2, the number n of columns equals
the length of Var3.
Example: calculation of steam enthalpy as a function of pressure and temperature, expressed in bar and °C:
pressure = [100, 150, 200];
temperature = [500, 510, 520, 530];
XSteamW ('h_pt', pressure, temperature)
will result in
ans =
1.0e+03 *
3.3751 3.4008 3.4263 3.4517
3.3108 3.3395 3.3678 3.3957
3.2412 3.2736 3.3052 3.3361
BTW: just a simple solution - comments and optimization welcome...
Cite As
Volker Staben (2024). XSteamW - a vectorizing wrapper for XSteam (https://www.mathworks.com/matlabcentral/fileexchange/29186-xsteamw-a-vectorizing-wrapper-for-xsteam), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
- Signal Processing > DSP System Toolbox > Signal Generation, Manipulation, and Analysis > Signal Generation >
Tags
Acknowledgements
Inspired by: X Steam, Thermodynamic properties of water and steam.
Inspired: ThermoSolver
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
Version | Published | Release Notes | |
---|---|---|---|
1.0.0.0 |