⚖️ chem-eq-calculator - Chemical Equilibrium Calculator
Professional thermodynamic analysis software with NASA CEA2 integration
🚀 Installation
pip install chem-eq-calculator
Run the application
chem-eq-calculator
Or from Python:
from chem-eq-calculator import CEACalculator
calc = CEACalculator()
calc.set_oxidizer("NH4ClO4(I)", 298.0, 72.0)
calc.set_fuel("HTPB", 298.0, 18.0)
calc.set_conditions(pc=50.0, of_ratio=2.5, ae_at=10.0)
result = calc.run()
print(f"Isp: {result.isp_ms:.0f} m/s")
🔬 Overview
Chemical Equilibrium Calculator (chem-eq-calculator) is a professional-grade desktop application for thermodynamic equilibrium calculations in chemical systems. Built with a modular MVC architecture, it provides precise equilibrium composition analysis, thermodynamic property calculations, and comprehensive performance evaluation.
The software integrates with NASA's CEA2 for high-precision calculations while maintaining a robust fallback ideal gas calculator.
✨ Features
| Category | Features |
|---|---|
| Equilibrium Calculations | Complex multi-species chemical equilibrium analysis |
| Thermodynamic Properties | Temperature, pressure, enthalpy, entropy computations |
| Nozzle Design | Isentropic flow analysis and geometric optimization |
| Batch Processing | Parametric sweeps and sensitivity analysis |
| Visualization | Interactive plots, radar charts, and performance graphs |
| User-Defined Reactants | Custom species with atomic composition |
| Multi-language | English and French interfaces |
Species Database
- 129 Oxidizers - Complete NASA CEA2 oxidizer list
- 397 Fuels - Extensive fuel database including hydrocarbons, metals, and hydrides
- 70+ Elements - Periodic table for custom composition
Analysis Tools (25+)
- Nozzle Designer, Chamber Sizer, Contraction Ratio
- Heat Transfer (Bartz), Regenerative Cooling, Instability Predictor
- Delta-V Calculator, Orbit Insertion, Staging Optimiser
- Sensitivity Analysis, Design of Experiments, Composition vs T
- LaTeX Generator, Python Script, Unit Converter
📋 Requirements
- Python 3.11 or higher
- PySide6 >= 6.6.0
- matplotlib >= 3.7.0
- numpy >= 1.24.0
- pandas >= 2.0.0
- qtawesome >= 1.3.0
🎯 Quick Start
Basic Calculation Workflow
# Run the GUI application
chem-eq-calculator
Example Formulation
| Parameter | Value |
|---|---|
| Oxidizer | NH₄ClO₄(I) |
| Oxidizer Temp | 298.0 K |
| Oxidizer Wt | 72.0 % |
| Fuel | HTPB |
| Fuel Temp | 298.0 K |
| Fuel Wt | 18.0 % |
| Chamber Pressure | 50.0 bar |
| O/F Ratio | 2.5 |
| Area Ratio | 10.0 |
Expected Results
| Metric | Value |
|---|---|
| Specific Impulse (Isp) | ~250 s (2450 m/s) |
| Characteristic Velocity (C*) | ~1580 m/s |
| Thrust Coefficient (Cf) | 1.55-1.65 |
| Chamber Temperature (Tc) | ~3300 K |
🛰️ NASA CEA2 Integration
For high-precision calculations, install NASA CEA2:
pip install cea
Then configure paths in the application Settings (Ctrl+,).
📖 Keyboard Shortcuts
| Action | Shortcut |
|---|---|
| Calculate | Ctrl+R |
| Validate | Ctrl+Shift+V |
| Add Session | Ctrl+T |
| Load .inp | Ctrl+O |
| Save .inp | Ctrl+S |
| Export CSV | Ctrl+E |
| Open Settings | Ctrl+, |
🐛 Troubleshooting
| Issue | Solution |
|---|---|
| ModuleNotFoundError | Run pip install chem-eq-calculator --force-reinstall |
| No species in dropdown | Verify databasecea.txt exists |
| Plots not displaying | Install matplotlib: pip install matplotlib |
| FCEA2 execution error | Configure CEA2 paths in Settings |
📄 License
chem-eq-calculator - Chemical Equilibrium Calculator
Copyright (C) 2026 Oukil Khaled Ibn Elwalid
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, either version 3 of the License, or
(at your option) any later version.
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.
👨💻 Author
Oukil Khaled Ibn Elwalid
- GitHub: @khadev
- Email: oukil.khaled@gmail.com
⚖️ Made for the scientific community
Metadata
Release files for chem-eq-calculator 1.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| chem_eq_calculator-1.1.2.tar.gz | 447.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| chem_eq_calculator-1.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 529.8 kB
Release files / chem_eq_calculator-1.1.2.tar.gz
| Download URL | chem_eq_calculator-1.1.2.tar.gz |
|---|---|
| Size | 447.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bafc6d311baf904c3c0517b15f1a134c2820670f56b5b6ee08baac185c327ae4
|
|
BLAKE2b-256 checksum How to use checksums |
390f793ae2b836a0fc56aae9c1d5dc8249715fa5f5563a026fb1ffe6f891d587
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.11
|
Release files / chem_eq_calculator-1.1.2-py3-none-any.whl
| Download URL | chem_eq_calculator-1.1.2-py3-none-any.whl |
|---|---|
| Size | 82.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
01f2b639c85ce131ed1c83b12e7ae14a2fa35338288bd6664f2424ac86641008
|
|
BLAKE2b-256 checksum How to use checksums |
d7012f09604642955c1292492dc19a8d4000268ebd8e8d56d82780c3985778c4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.11
|