Python toolkit for chemical engineering simulations, equipment design, and unit conversions
Project description
Process PI
Python toolkit for chemical engineering simulations, equipment design, and unit conversions
Built with ❤️ for chemical engineers.
📖 Overview
Process PI is a modular Python toolkit for chemical engineering that enables:
- Pipeline network simulations
- Unit conversions across SI, CGS, and Imperial systems
- Component-based property calculations
- And more, with advanced features under active development.
📑 Table of Contents
⚡ Features
- ⚙️ Unit Conversion System – Instant conversions between engineering unit systems.
- 🧪 Components Library – Access educational thermodynamic properties for 25+ fluids and growing.
- 🌐 Pipeline Network Engine – Build and simulate simple pipelines or complex interconnected networks, analyzing:
- Pressure drops
- Flow rates
- Reynolds number
- Pump requirements
- 🧮 Calculation Modules (WIP) – Heat transfer, mass transfer, and reaction engineering models in progress.
- 📊 Simulation Tools (Planned) – Transient dynamics, optimization, and interactive visualizations.
📦 Installation
Install from PyPI:
pip install processpi
For development:
git clone https://github.com/varma666/ProcessPi.git
cd ProcessPi
pip install -e .
🚀 Getting Started
1. Unit Conversions
from processpi.units import Length, Pressure, Temperature
# Length conversion
length = Length(1.5, "m")
print(length.to("ft")) # Feet output
# Pressure conversion
p = Pressure(2, "bar")
print(p.to("psi")) # PSI output
# Temperature conversion
t = Temperature(100, "C")
print(t.to("K")) # Kelvin output
2. Components
from processpi.components import Water, Ethanol
water = Water()
ethanol = Ethanol()
print(f"Water density: {water.density()} kg/m3")
print(f"Ethanol viscosity: {ethanol.viscosity()} Pa·s")
⚠ Note: Component data is for educational/demo purposes only. Extended property support is in progress.
3. Pipeline Network Engine
Perform single-pipe or multi-pipe network simulations.
from processpi.pipelines.engine import PipelineEngine
from processpi.pipelines.pipes import Pipe
from processpi.components import Water
from processpi.units import VolumetricFlowRate, Diameter, Length
# Define pipe and fluid
pipe = Pipe(
internal_diameter=Diameter(50, "mm"),
length=Length(10, "m")
)
water = Water()
# Set up engine
engine = PipelineEngine()
engine.fit(
flowrate=VolumetricFlowRate(0.001, "m3/s"),
pipe=pipe,
fluid=water
)
# Run calculations
results = engine.run()
engine.summary()
Planned upgrades:
- Dynamic simulations
- Branching/parallel pipeline analysis
- Integrated cost and energy optimization
🛣 Roadmap
- ✅ Pipeline Network Engine – Functional for single and multi-segment networks
- 🚧 Heat Transfer Modules – In progress for exchangers, conduction, and convection models
- 🚧 Mass Transfer & Reaction Modules – Basic structure in place, calculations coming soon
- 🔮 Advanced Features – Transient analysis, energy optimization, and GUI/web interfaces
📜 License
This project is licensed under the MIT License – see the LICENSE file for details.
ProcessPI – Built with ❤️ for chemical engineers.
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 processpi-0.2.0.tar.gz.
File metadata
- Download URL: processpi-0.2.0.tar.gz
- Upload date:
- Size: 99.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cd57bd783e93e8f368c8ca3ddf8159223c26a3520add294150c26e559e604c64
|
|
| MD5 |
71abbf2b8d64dd0755057eb8c47f6d6e
|
|
| BLAKE2b-256 |
4b96f81af98bed7cfce3c5daa43af0f7e7839156392abdbb216726c77fb015ff
|
File details
Details for the file processpi-0.2.0-py3-none-any.whl.
File metadata
- Download URL: processpi-0.2.0-py3-none-any.whl
- Upload date:
- Size: 149.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eda73bf108998c92ab4e7d22b97a4cbefd262cfb3a2142d24ccb06c2d80a3761
|
|
| MD5 |
80156a80104309bd44c0e1f2a1c4d71c
|
|
| BLAKE2b-256 |
cd5096e4adc3f98f27b42be5708e9bc4e0d874e96abd7695196e1e22e4d7e865
|