Tool for effective, high-precision thermodynamic calculations. Available species are H2, paraH2, orthoH2, N2, O2, Ar, H2O, and CO2.
You are now following this Submission
- You will see updates in your followed content feed
- You may receive emails, depending on your communication preferences
thermodynamics
This repository contains Matlab implementations of high-accuracy thermodynamic models from the litterature, together with the 'thermo' class for calculating thermodynamic variables. Currenty, available species are H2, paraH2, orthoH2, N2, O2, Ar, H2O, and CO2, together with Air treated as a single pseudo species.
Main files:
thermo.m: Thermodynamic object that contains methods and properties that enable the calculation of thermodynamic variables and processes.
helmholtz.m: Helmholtz molar free energy and partial derivatives. Used by thermo.Tvcalc
parametersXX.m: Parameters for spescies XX. Used by thermo and helmholtz.
A number of supplementary funcrions and examples are also included.
With the exception of Air and orthoH2, the models and parameters are the same as used by NIST for calculating Thermophysical Properties of Fluid Systems https://webbook.nist.gov/chemistry/fluid/
Use the Matlab help command for details (e.g. help thermo)
Documentation:
-
User guide for Matlab class thermo.pdf
-
Properties from Helmholtz.pdf
-
Shock tube model for real gases.pdf
Version: 2.3.0
Cite As
Are Mjaavatten (2026). Thermodynamic models and tools. H2O, H2, CO2, air, and more (https://github.com/are-mj/thermodynamics/releases/tag/v2.3), GitHub. Retrieved .
General Information
- Version 2.3.0.0 (591 KB)
-
View License on GitHub
MATLAB Release Compatibility
- Compatible with any release
Platform Compatibility
- Windows
- macOS
- Linux
Versions that use the GitHub default branch cannot be downloaded
| Version | Published | Release Notes | Action |
|---|---|---|---|
| 2.3.0.0 | See release notes for this release on GitHub: https://github.com/are-mj/thermodynamics/releases/tag/v2.3 |
||
| 2.2.0.0 | See release notes for this release on GitHub: https://github.com/are-mj/thermodynamics/releases/tag/v2.2 |
||
| 2.1 | See release notes for this release on GitHub: https://github.com/are-mj/thermodynamics/releases/tag/v2.1 |
||
| 2.0 | Added H2O to the list of substances. Simplified model structure. Note that the input and output list of some functions have been modified |
||
| 1.1.2 | Added missing newton.m. Minor code cleanup. |
||
| 1.1.1 | Added brief user guide |
||
| 1.1.0 | Bug fixes and minor improvements. H2twophase_region and CO2twophase no longer require the mapping toolbox. |
||
| 1.0.0 |
