A cross-platform chemical process simulation GUI built using Python, PyQt5, and OpenModelica.
This project provides a graphical interface for creating and simulating chemical process flowsheets using unit operations and thermodynamic models.
- PyQt5-based graphical user interface
- Flowsheet creation and editing
- Material stream handling
- Unit operation support
- OpenModelica integration
- Equation-based simulation support
- Sequential modular simulation support
- Undo / Redo functionality
- CSV result generation
- Cross-platform support (Windows + Linux)
Chemical-Simulator-GUI/
├── src/
│ └── main/
│ └── python/
├── requirements.txt
├── requirements-windows.txt
├── ChemicalSimulator.spec
├── README.md
└── .gitignore
- Python 3.11
- OpenModelica
- pip
- virtualenv
Install dependencies using:
pip install -r requirements.txtInstall OpenModelica:
sudo apt update
sudo apt install openmodelicaVerify installation:
which omcExpected output:
/usr/bin/omcDownload and install OpenModelica from the official website:
https://openmodelica.org/download/download-windows
Default installation path:
C:\Program Files\OpenModelica1.25.4-64bit\bin\omc.exe
git clone <your-repository-url>
cd Chemical-Simulator-GUIpython3.11 -m venv envsource env/bin/activatepip install --upgrade pip setuptools wheel
pip install -r requirements.txtpython src/main/python/Landing_page.pygit clone <your-repository-url>
cd Chemical-Simulator-GUIpython -m venv envenv\Scripts\activatepip install --upgrade pip setuptools wheel
pip install -r requirements.txt
pip install -r requirements-windows.txtpython src/main/python/Landing_page.pyThis project supports both:
- Linux
- Windows
Platform-specific functionality is handled internally using Python platform checks.
Check:
which omcVerify that OpenModelica is installed at:
C:\Program Files\OpenModelica1.25.4-64bit\bin\omc.exe
Reinstall dependencies:
pip install -r requirements.txtInstall system dependencies on Linux:
sudo apt install python3-pyqt5This project uses:
- Python
- PyQt5
- OpenModelica
- CSV-based result processing
- Pandas for data handling
Future improvements may include:
- Better error handling
- Automatic OpenModelica detection
- Docker support
- Executable packaging
- Enhanced flowsheet editor
- CI/CD integration
- Plugin architecture
- More unit operations
Recommended .gitignore:
__pycache__/
*.pyc
env/
venv/
build/
dist/
*.csv
*.logContributions are welcome.
You can contribute by:
- Fixing bugs
- Improving documentation
- Adding unit operations
- Improving Linux compatibility
- Enhancing GUI features
Choose an open-source license before public release.
Recommended:
- MIT License
- Apache License 2.0
Under Active Development
- OpenModelica
- PyQt5
- Python Community