Python Thermodynamic Calculation Engine powered by PyThermoDB.
Project description
PyThermoCalcDB
PyThermoCalcDB — Python Thermodynamic Calculation Engine powered by PyThermoDB
PyThermoCalcDB is a companion package to PyThermoDB, designed to provide a robust set of thermodynamic calculations, utilities, and workflows — using thermodynamic properties, constants, and equations built with PyThermoDB.
🚀 Why PyThermoCalcDB?
- Seamless integration with PyThermoDB: use the database of thermodynamic data (pure component properties, correlations, etc.) as the foundation.
- Reusable calculation tools: functions for various calculations.
- Consistent with your thermodynamic ecosystem: fits with existing packages like PyThermoModels, PyPhaseEQ, PyThermoFlash — offering a central “calculation engine” layer.
- Minimal dependencies: lean design, using PyThermoDB as core data source; optionally depend on well-known numerical libraries (e.g. NumPy, SciPy) if needed for complex calculations.
- Flexible use-cases: from quick property lookups to advanced process calculations, or integration in larger workflows or multi-agent systems.
📦 Installation
pip install pyThermoCalcDB
🚀 Usage
PyThermoCalcDB provides high-level thermodynamic calculation routines built on top of PyThermoDB. It is optimized for scripts, notebooks, and pipeline integration — the examples in examples/ show complete, runnable workflows.
-
🔧 What it does
- 🧩 Build a
ModelSourcefrom ThermoDB files (viapyThermoLinkDB) and access data/equation sources. - ♨️ Formation properties
- 🔥 Enthalpy of formation —
calc_enthalpy_of_formation_at_temperature,calc_enthalpy_of_formation_range - ⚖️ Gibbs energy of formation —
calc_gibbs_energy_of_formation_at_temperature,calc_gibbs_energy_of_formation_range
- 🔥 Enthalpy of formation —
- 🌡️ Vapor / phase properties
- 💧 Vapor pressure at T —
calc_vapor_pressure_at_temperature - 🔁 Enthalpy of vaporization —
calc_enthalpy_of_vaporization_at_temperature - 🌡️↔️ Pressure → Saturation T —
calc_saturated_temperature_at_pressure - 📈 Vapor pressure sensitivity dPvap/dT —
calc_vapor_pressure_sensitivity_at_temperature
- 💧 Vapor pressure at T —
- 🧮 Evaluate equation models (e.g.,
VaPr,Cp_IG) from the equation source (these may beTableEquationor other equation types).
- 🧩 Build a
-
⚙️ Quick notes
- 📦 Most helper functions accept a
Componentobject, amodel_source(frompyThermoLinkDB.load_and_build_model_source), and typedTemperature/Pressurevalues. - 🔁 Modes like
'attach','log', and'silent'control return/log behavior — check the examples for usage patterns.
- 📦 Most helper functions accept a
-
📘 Examples (runnable)
examples/exp-2.py— shows building aModelSourceand computing enthalpy and Gibbs formation properties (single temperature and ranges).examples/exp-3.py— shows vapor/phase calculations: vapor pressure, enthalpy of vaporization, saturated temperature at pressure, sensitivity, and evaluating equation objects such asVaPrandCp_IG.
Open the example files for complete, runnable workflows that demonstrate loading ThermoDB files, building the model source, and invoking the high-level calculation functions.
🤝 Contributing
Contributions are highly welcome — bug fixes, new calculation routines, mixture models, extended unit tests, documentation, etc.
📝 License
This project is distributed under the Apache License, Version 2.0, which grants you broad freedom to use, modify, and integrate the software into your own applications or projects, provided that you comply with the conditions outlined in the license. Although Apache 2.0 does not require users to retain explicit author credit beyond standard copyright and license notices, I kindly request that if you incorporate this work into your own software, you acknowledge Sina Gilassi as the original author. Referencing the original repository or documentation is appreciated, as it helps recognize the effort invested in developing and maintaining this project.
❓ FAQ
For any question, contact me on LinkedIn
👨💻 Authors
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 pythermocalcdb-0.4.1.tar.gz.
File metadata
- Download URL: pythermocalcdb-0.4.1.tar.gz
- Upload date:
- Size: 30.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
22f9b0e4eef49ba26fb24644b9f39a8b35de8cd2a5f0ee36add94e6c6c234ffb
|
|
| MD5 |
55d66fa7c1c5fa3c58704a6443fad8f7
|
|
| BLAKE2b-256 |
43276a54097e8de5bcf17a5979fd7df792d44fecb37726c0a6ed109302405870
|
File details
Details for the file pythermocalcdb-0.4.1-py3-none-any.whl.
File metadata
- Download URL: pythermocalcdb-0.4.1-py3-none-any.whl
- Upload date:
- Size: 39.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f4b0a046fdc8579e87a7989fe7886504477fb52777b3c8baf25555a9b421e58b
|
|
| MD5 |
3bde79377c89ce173490877f6d483680
|
|
| BLAKE2b-256 |
b345a18168ef9a7b54e35bc1b239830b38a5d44fbb3ea72498d969e7d5de4148
|