Skip to main content

Thermodynamic properties in Python.

Project description


Thermodynamic tools for Python

Originally authored by Chris Martin
Now co-authored by Joe Ranalli

PYroMat is a flexible platform for conveniently working with thermodynamic data. The expanding collection of substances includes data for the properties people need most, exposed in an intuitively designed object interface Come read more.

Installation from the Python Package Index

If you have pip installed, you can install PYroMat with a single command.

$ pip install pyromat 

If you are upgrading, you can always use

$ pip install pyromat --upgrade

Some of you will want to specify the version of python being used (e.g. on many flavors of Linux)

$ python3 -m pip install pyromat

Getting started

>>> import pyromat as pm
>>> O2 = pm.get('ig.O2')
>>> h = O2.h(492,1.01)  # enthalpy at 492K, 1.01bar
>>>'ig.O2')     # where did these data come from?
>>> pm.config['unit_pressure'] = 'psi'  # Don't like working in bar?
>>> help(		# How do I look for more substances?

To get up and running quickly, see the Introductory Tutorial. For detailed documentaiton, see the PYroMat User and Developer Handbook.


As an open source project, PYroMat appreciates the participation and engagement of community members.

If you think you've found a bug, please first search in Issues. If you can't find your bug, feel free to open a new issue where we will discuss how to resolve the problem.

If you have an idea for a new feature, we'd love to hear from you! Many of PYroMat's features came from user requests. Please feel free to open an new Discussion or open a new Issue. You can even Email Me - I always enjoy hearing from users.

If you wish to contribute by resolving an open issue, please fork the respository as described in the Github Guide. Please see the full documentation in the handbook for details of the code structure. Even if your code isn't pulled verbatim, a number of issues have been resolved from user-inspired solutions.

To run development tests found in the src/test directory, you can install with the "development" option, which requires the pytest package.

python -m pip install pyromat[dev]

Please be aware:

  • PYroMat DOES NOT COME WITH A WARRANTY. Tests help make the code better, and we work hard to make the code as reliable as we can, but users should always skeptically evaluate these models to ensure they are suitable for their application. I've never met the test suite yet that catches all errors.
  • The behavior and design of the testing suite is not documented. Unlike the rest of PYroMat, it is subject to change without notice.
  • Users coding their own models will need to construct their own validation data from original sources.


Copyright (c) 2015-2022 Christopher R. Martin

PYroMat is released under the GNU General Public License v3.0.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution (1.0 MB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page