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.
Chris Martin (2020). HOT Thermodynamic Tools for Matlab (https://www.mathworks.com/matlabcentral/fileexchange/26430-hot-thermodynamic-tools-for-matlab), MATLAB Central File Exchange. Retrieved .
While I have stopped supporting the hot-tdb Matlab code, I have shifted my attention to the PYroMat (pyromat.org) 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.
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 'nasa.fit'.
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('nasa.fit');
>> enthalpy (data, 'CH4', 1, 600, 800000)
>> entropy (data, 'CH4', 1, 600, 800000)
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.
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.
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.
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.
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.
Good work! Thermodynamics isn't easy.
I'm glad you finally put this on the exchange.
Corrected Matlab version number.
Corrected a serious bug in release 2.5 parsers that prevented data files from being loaded properly. The fix has slowed loading times considerably, but we are working to correct the problem.
Corrected errors in the licensing information.