{"id":24932641,"url":"https://github.com/techy4shri/om-sim","last_synced_at":"2026-02-19T02:01:11.473Z","repository":{"id":275136800,"uuid":"905836066","full_name":"techy4shri/OM-Sim","owner":"techy4shri","description":"OM-Sim is a openmodelica simulator, made for FOSSEE Internship screening task.This desktop application is designed to facilitate simulations of OpenModelica models through a user-friendly GUI built with Python library PyQt6. Users can easily select compiled model executables, input simulation parameters, and view output directly within the app.","archived":false,"fork":false,"pushed_at":"2025-02-01T18:57:23.000Z","size":647,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-01T22:20:55.817Z","etag":null,"topics":["desktop-application","gui-application","gui-application-python","openmodelica","pep8-language","pyqt6-gui","python","python3"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/techy4shri.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["techy4shri"]}},"created_at":"2024-12-19T16:07:45.000Z","updated_at":"2025-11-26T10:36:05.000Z","dependencies_parsed_at":"2025-02-01T13:35:53.131Z","dependency_job_id":"de2efb6f-4d81-40c8-99cc-727014d926eb","html_url":"https://github.com/techy4shri/OM-Sim","commit_stats":null,"previous_names":["techy4shri/openmodelica-gui","techy4shri/om-sim"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/techy4shri/OM-Sim","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/techy4shri%2FOM-Sim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/techy4shri%2FOM-Sim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/techy4shri%2FOM-Sim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/techy4shri%2FOM-Sim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/techy4shri","download_url":"https://codeload.github.com/techy4shri/OM-Sim/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/techy4shri%2FOM-Sim/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29600841,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-19T00:59:38.239Z","status":"online","status_checked_at":"2026-02-19T02:00:07.702Z","response_time":117,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["desktop-application","gui-application","gui-application-python","openmodelica","pep8-language","pyqt6-gui","python","python3"],"created_at":"2025-02-02T14:50:06.266Z","updated_at":"2026-02-19T02:01:11.455Z","avatar_url":"https://github.com/techy4shri.png","language":"C","readme":"# **OpenModelica Simulation Desktop App**\nThis project is designed to streamline the process of running simulations generated from OpenModelica models through a user-friendly **Python GUI** application built with **PyQt6**.\nFor detailed documentation, including model changes, code improvements, and troubleshooting, visit the [**Project Wiki**](https://github.com/techy4shri/OpenModelica-GUI/wiki).\nRenamed OM-Sim, earlier named OpenModelica-GUI.\n\u003c/br\u003e\nThe task involves:\n1. **Compiling a model** (e.g., TwoConnectedTanks) using OpenModelica to create an executable.\n2. **Building a GUI application** that runs the executable with adjustable parameters like start and stop times.\n\n---\n### **Table of Contents**\n1. [OpenModelica Simulation Desktop App](#openmodelica-simulation-desktop-app)\n2. [Features](#features)\n3. [Technologies Used](#technologies-used)\n4. [Installation](#installation)\n   - [Clone the Repository](#clone-the-repository)\n   - [Set up a Virtual Environment](#set-up-a-virtual-environment)\n   - [Install Dependencies](#install-the-required-packages)\n   - [Install OpenModelica](#install-openmodelica-if-not-already-installed)\n   - [Set Environment Variables](#set-environment-variables)\n5. [Usage Instructions](#usage-instructions)\n   - [Running the Application](#running-the-application)\n   - [Using the GUI](#in-the-gui)\n6. [Project Structure](#project-structure)\n7. [Simulation Flags](#simulation-flags)\n8. [Troubleshooting](#troubleshooting)\n   - [Common Issues](#common-issues)\n9. [Contributing](#contributing)\n10. [License](#license)\n11. [Acknowledgements](#acknowledgements)\n\n---\n\n## **Project Structure**\n```\nOpenModelica-GUI/\n├── .github/                             # GitHub-related files (workflows, issue templates, etc.)\n├── .venv/                               # Python virtual environment directory (optional)\n├── .vscode/                             # VS Code configuration directory (settings, launch configurations, etc.)\n├── assessts/                            # application banner and icon files\n├── logs/                                # log of changes in application/repository\n├── NonInteractingTanks/                 # Directory containing the Tank and Tank2 Modelica files\n├── NonInteractingTanks.TwoConnectedTanks/  # Directory for the compiled executable and dependencies\n├── main.py                              # Main Python script for running the GUI application\n├── requirements.txt                     # Python dependencies for the project\n├── pyproject.toml                       # Project configuration file (e.g., for linters and formatters)\n├── .pylintrc                             # Pylint configuration file\n├── .pre-commit-config.yaml              # Pre-commit hooks configuration\n├── LICENSE                              # License information for the project\n└── README.md                            # Project documentation (overview, features, usage)\n```\n---\n\n## **Features**\n\n- **Intuitive and functional GUI**: Simplifies simulation execution.\n- **Input fields**:\n  - **Executable File**: Browse and select the compiled model executable.\n  - **Start Time**: Set the simulation start time (`0 ≤ start time \u003c stop time ≤ 5`).\n  - **Stop Time**: Set the simulation stop time.\n- **Output Display**: Real-time streaming of logs and results.\n- **Input validation**: Ensures time constraints and valid file selection.\n- **Error Handling**: Displays simulation errors, missing file issues, and environment variable problems.\n- **Pythonic and PEP8-compliant code**: Code follows best practices with linters and formatters.\n- **Project Linters and Formatters**:\n  - **flake8**: For static code analysis.\n  - **black**: For automatic formatting.\n\n---\n\n## **Technologies Used**\n\n- **Python 3.6+**\n- **PyQt6** (for GUI)\n  - `PyQt6==6.8.0`\n  - `PyQt6-Qt6==6.8.1`\n- **OpenModelica**: For generating and running simulations.\n- **Windows OS** (10/11)\n\n---\n\n## **Installation**\n\n   ### **Clone the repository**:\n   ```bash\n   git clone https://github.com/yourusername/OpenModelica-GUI.git\n   cd OpenModelica-GUI\n   ```\n\n   ### **Set up a virtual environment**:\n   ```bash\n   python -m venv venv\n   source venv/bin/activate  # On Windows use `venv\\Scripts\\activate`\n   ```\n\n   ### **Install the required packages**:\n   ```bash\n   pip install -r requirements.txt\n   ```\n\n   ### **Install OpenModelica** (if not already installed):\n   - [Download OpenModelica](https://openmodelica.org)\n\n   ### **Set environment variables**:\n   Ensure that OpenModelica is added to your `PATH`.\n\n---\n\n## **Usage Instructions**\n\n### **Running the Application**\n\n1. Launch the application:\n   ```bash\n   python main.py\n   ```\n\n### **In the GUI**:\n   - Use the **Browse** button to select the OpenModelica executable.\n   - Enter the **Start Time** and **Stop Time** values.\n   - Click **Run** to start the simulation.\n   - View the output in the real-time display area.\n\n---\n\n## **Simulation Flags**\n\nThe executable is run with the following flags:\n- **-override**: Allows dynamic setting of `startTime` and `stopTime`.\n- **-lv=LOG_STDOUT,LOG_STATS**: Enables streaming logs for monitoring simulation progress.\n\nFor detailed documentation on simulation flags, visit the [OpenModelica Documentation](https://openmodelica.org/doc/OpenModelicaUsersGuide/latest/simulationflags.html).\n\n---\n\n## **Troubleshooting**\n\n### **Common Issues:**\n- **Missing DLLs:** Ensure all dependencies are present in the working directory.\n- **Environment Variable Errors:** Add OpenModelica to the `PATH` variable.\n- **Simulation Errors:** Verify input parameters and check the output logs for details.\n\n---\n\n## **Contributing**\n\n- Currently not accepting contributions unless from FOSSEE.\n- Please ensure your code adheres to PEP8 standards. \n- Run **flake8** and **black** before submitting pull requests.\n\n---\n\n## **License**\n\nThis project is licensed under the **MIT License**. See the [LICENSE](./LICENSE) file for details.\n\n---\n\n## **Acknowledgements**\n\n- **OpenModelica**: For providing the simulation tools.\n- **PyQt6**: For the graphical user interface library.\n- **FOSSEE**: For providing the models for simulation.\n- **Icon**: \u003ca target=\"_blank\" href=\"https://icons8.com/icon/43191/services\"\u003eMechanical\u003c/a\u003e icon by \u003ca target=\"_blank\" href=\"https://icons8.com\"\u003eIcons8\u003c/a\u003e\n","funding_links":["https://github.com/sponsors/techy4shri"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftechy4shri%2Fom-sim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftechy4shri%2Fom-sim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftechy4shri%2Fom-sim/lists"}