A Python package for thermodynamic calculations, unit operations, and substance properties.
Project description
ThermSolve
An extensible, lightweight thermophysical property library for chemical and process engineering.
Thermsolve makes it easy to retrieve temperature-dependent properties of common fluids, gases, and materials — with unit safety, validity ranges, and custom substance support.
Features
- Look up Cp, viscosity, density, boiling/melting point, enthalpy, entropy, etc.
- Temperature-dependent property fitting/interpolation
- Fully unit-aware (using Pint)
- Built-in and user-defined property database (JSON/CSV)
- Range warnings when extrapolating properties
To-do
- Core
Substanceclass for property access - Build initial CSV/JSON database for ~20 common substances
- Add temperature-dependent interpolation (Cp, viscosity, etc.)
- Integrate Pint for unit-aware values
- Implement property validity range checking
- Enable user-defined substances from JSON, CSV, or dict
- Add CLI tool for property lookup
- Create optional SQLite backend for scalable storage
- Add plotting functions for property trends (e.g., Cp vs T)
- Include citation metadata for each property source (e.g., NIST, DIPPR)
- Export properties to JSON, LaTeX, and human-readable tables
Future
- API for fetching data
Example
from thermsolve import Substance
ethanol = Substance("ethanol")
cp = ethanol.cp(T=300) # Specific heat [J/kg-K]
mu = ethanol.viscosity(T=350)
bp = ethanol.boiling_point()
# Add a custom substance
my_material = Substance.from_dict({
"name": "KCl",
"cp": {"type": "constant", "value": 800, "units": "J/kg-K"},
"melting_point": 1040,
"density": 1980
})
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file thermsolve-0.1.0.tar.gz.
File metadata
- Download URL: thermsolve-0.1.0.tar.gz
- Upload date:
- Size: 35.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
79103439e2a19bdc9e203eeba5b11411c223a3797216f0f9f651faeebe83f1bd
|
|
| MD5 |
ecdf005fa70adeb2d3fb14ad1973e431
|
|
| BLAKE2b-256 |
f4ff2d1b05546f218a860e322a9220c7d65b43997f4989b349c6831b8e1a1ff6
|
File details
Details for the file thermsolve-0.1.0-py3-none-any.whl.
File metadata
- Download URL: thermsolve-0.1.0-py3-none-any.whl
- Upload date:
- Size: 26.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bda5077ab659dc105ab6a48fc54db31e8b4e8cb0c4c22af75a28b79209046518
|
|
| MD5 |
a2a47ced4e088eb0b2de2e28a9b6f22b
|
|
| BLAKE2b-256 |
238a02e32185705492d6007ad5ccc1a96d94d5f566d6b1719714c741ff2bec78
|