PYroMat

PYroMat: A Python package for thermodynamic properties - Published in JOSS (2022)

https://github.com/chmarti1/pyromat

Science Score: 95.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 1 DOI reference(s) in JOSS metadata
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
    3 of 3 committers (100.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

python thermodynamic-properties thermodynamics
Last synced: 6 months ago · JSON representation

Repository

PYroMat thermodynamic properties in Python

Basic Info
  • Host: GitHub
  • Owner: chmarti1
  • License: other
  • Language: Python
  • Default Branch: master
  • Homepage: http://pyromat.org
  • Size: 6.24 MB
Statistics
  • Stars: 81
  • Watchers: 10
  • Forks: 12
  • Open Issues: 16
  • Releases: 3
Topics
python thermodynamic-properties thermodynamics
Created over 9 years ago · Last pushed 8 months ago
Metadata Files
Readme Changelog License

README.md

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

```python

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.
bash 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.

Owner

  • Name: Chris Martin
  • Login: chmarti1
  • Kind: user
  • Location: Altoona, PA
  • Company: Penn State University

Associate Professor of Mechanical Engineering at Penn State Altoona

JOSS Publication

PYroMat: A Python package for thermodynamic properties
Published
November 06, 2022
Volume 7, Issue 79, Page 4757
Authors
Christopher Martin ORCID
Penn State Altoona, Altoona, PA, USA
Joseph Ranalli ORCID
Penn State Hazleton, Hazleton, PA, USA
Jacob Moore ORCID
Penn State Mont Alto, Mont Alto, PA, USA
Editor
Jeff Gostick ORCID
Tags
thermodynamics properties ideal gas multi-phase

GitHub Events

Total
  • Issues event: 17
  • Watch event: 10
  • Delete event: 3
  • Issue comment event: 15
  • Push event: 7
  • Pull request event: 4
Last Year
  • Issues event: 17
  • Watch event: 10
  • Delete event: 3
  • Issue comment event: 15
  • Push event: 7
  • Pull request event: 4

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 253
  • Total Committers: 3
  • Avg Commits per committer: 84.333
  • Development Distribution Score (DDS): 0.198
Past Year
  • Commits: 26
  • Committers: 3
  • Avg Commits per committer: 8.667
  • Development Distribution Score (DDS): 0.5
Top Committers
Name Email Commits
Chris Martin c****8@p****u 203
Joe Ranalli j****9@p****u 45
Joe Ranalli j****i@p****u 5
Committer Domains (Top 20 + Academic)
psu.edu: 3

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 75
  • Total pull requests: 25
  • Average time to close issues: 3 months
  • Average time to close pull requests: about 1 month
  • Total issue authors: 22
  • Total pull request authors: 7
  • Average comments per issue: 2.29
  • Average comments per pull request: 1.76
  • Merged pull requests: 13
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 14
  • Pull requests: 2
  • Average time to close issues: 5 months
  • Average time to close pull requests: 3 months
  • Issue authors: 2
  • Pull request authors: 2
  • Average comments per issue: 1.79
  • Average comments per pull request: 2.0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • jranalli (23)
  • chmarti1 (22)
  • fwitte (5)
  • danieljuschus (3)
  • espottesmith (2)
  • Matthew-Mullin (2)
  • beckerrh (2)
  • DerickBO (2)
  • DanielSarmiento04 (1)
  • juanjpnv (1)
  • sjlukacs (1)
  • tmoulignier (1)
  • Agusmastex (1)
  • KBMSeb (1)
  • akiss-ic (1)
Pull Request Authors
  • jranalli (19)
  • allrob23 (2)
  • DanielSarmiento04 (2)
  • BenPortner (2)
  • kyleniemeyer (1)
  • adriaan90 (1)
  • xuanxu (1)
Top Labels
Issue Labels
resolved (33) bug (31) enhancement (14) question (10) priority (9) inaccurate documentation (4) aspirational (3) temporary fix (3) quirk (1)
Pull Request Labels
bug (2) resolved (2)

Dependencies

.github/workflows/test.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v3 composite
setup.py pypi
  • numpy >=1.7