File Exchange

image thumbnail

HOT Thermodynamic Tools for Matlab

version (138 KB) by Chris Martin
Computes states and properties for non-perfect gas mixtures.


Updated 03 Feb 2010

View Version History

View License

HOT is a package originally constructed for combustion modeling in Matlab. It calculates common thermodynamic properties such as enthalpy, specific heat, entropy, internal energy, gamma, ideal gas constant, molecular weight, etc... Full documentation is available in multiple formats at

The code is also Octave compatible.

Cite As

Chris Martin (2021). HOT Thermodynamic Tools for Matlab (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (13)


Chris Martin

While I have stopped supporting the hot-tdb Matlab code, I have shifted my attention to the PYroMat ( project. It is far more capable, far faster, and it is implemented in Python. It has long been in my plans to port the package to Matlab. If there are any community members interested in helping me, I'd welcome the collaboration.

Rui Li (AIRicky)

Hi Chris,

Thank you for your excellent work. I am wondering on how can I compute the enthalpy for the ideal air because I failed to find the species 'air' the data by loading ''.


Rodolfo Puraca

Chris Martin

I've stepped away from this package for a number of years, but I plan to be revitalize it. Version 3.0 never saw the light of day, but I have a new version brewing. Thanks for your continued interest in the project!

I see a number of comments about differences in the data; most of these come from different data sources using different reference values for enthalpy. Remember that absolute values for enthalpy and energy are arbitrary and that different sources will treat them differently.

Improvements to expect from the next version are:
1) faster loading times
2) a new object-based structure for accessing data of individual species (thanks, Charles)
3) data sets unified to the NIST thermophysical database
4) extensibility to multiphase and user-defined properties


Exergy, HOT thermodynamics assumes ideal gas behavior. As so, enthalpy can be expressed as h=u(T)+RT, and is not a function of pressure. The value that you show for methane at 600K (h=-3.822e+6 J/kg) is consistent with what I got and consistent with the results using the six term polynomial fit of Heywood J.B., given in Internal Combustion Engine Fundamentals.


Enthalpy seems wrong


To get enthalpy and entropy of CH4 in T=600k and P=800kPa I used the below commnads;

>> data = janload('');
>> enthalpy (data, 'CH4', 1, 600, 800000)

ans =


>> entropy (data, 'CH4', 1, 600, 800000)

ans =


Entropy is quite close to experimental results (i.e. 10.7186 kj/kg-K) but there is huge difference between enthalpies; *HOT h=-3.8322e+06 and Experimental results=678.31kJ/kg)
It will a huge help to know what the problem is and how can I fix it.


Hi Chris,

You may want to add the ability to load data for specific species, which would probably significantly speed up the load time and make the toolbox easier to use, e.g., for iterating on process designs.

Chris Martin

For an automated installation script, visit

Just download the m-file and run it in Matlab. It will prompt you with a couple of questions about where you want the files. It will download the newest version of the code, unzip it, install it, update the Matlab search path, and clean up the zip file automatically.

The user prompts allow you to make fresh installs or update old installs to the newest version. It comes complete with help text to step you through the process.

Chris Martin

It has come to our attention that there is a serious bug in R2.5 that prevents files from loading on Windows machines. Release 2.6 corrects the problem, but unfortunately the fix has further slowed the already sluggish loading process. The problem will either be corrected in a special release (R2.7) or in the approaching release 3.0.

Chris Martin

Thanks, Jonathan. I've enlisted a new programmer and we're hoping to come out with version 3.0 soon. It will include multi-phase data and some new data management tools.

Jonathan Lister

Good work! Thermodynamics isn't easy.
I'm glad you finally put this on the exchange.

MATLAB Release Compatibility
Created with R14
Compatible with any release
Platform Compatibility
Windows macOS Linux

Inspired: Thermodynamics Property Tables

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!