Skip to main content

Thermodynamic properties in Python.

Project description

PYroMat

Thermodynamic tools for Python

Originally authored by Chris Martin crm28@psu.edu
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.

DOI

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
>>> pm.info('ig.O2')     # where did these data come from?
>>> pm.config['unit_pressure'] = 'psi'  # Don't like working in bar?
>>> help(pm.search)		# 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.

Contributing

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.

License

Copyright (c) 2015-2024 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

pyromat-2.2.6.tar.gz (527.5 kB view details)

Uploaded Source

Built Distribution

pyromat-2.2.6-py3-none-any.whl (1.0 MB view details)

Uploaded Python 3

File details

Details for the file pyromat-2.2.6.tar.gz.

File metadata

  • Download URL: pyromat-2.2.6.tar.gz
  • Upload date:
  • Size: 527.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for pyromat-2.2.6.tar.gz
Algorithm Hash digest
SHA256 f94f108ca56271fe4540a2136d8b36b7b299e150fd901bebd171099899e73b8e
MD5 6c7cab0504fe01b0dfe59e407d3dfd9a
BLAKE2b-256 edaa496866b6eb408f958c3577e6096aa679d6c632608a641b781e44049801e0

See more details on using hashes here.

File details

Details for the file pyromat-2.2.6-py3-none-any.whl.

File metadata

  • Download URL: pyromat-2.2.6-py3-none-any.whl
  • Upload date:
  • Size: 1.0 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for pyromat-2.2.6-py3-none-any.whl
Algorithm Hash digest
SHA256 c74219cf3559107f48036fa34936da0bd31e9c8ea5c82a36a4f361c265516555
MD5 5d90bd96c3fc8218ff7269ae57f4581c
BLAKE2b-256 e4eede5dd7ba24f5aa88468301dd2e2a7e63af3434fb4f185ada8aa6530fa16c

See more details on using hashes here.

Supported by

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