A real world physics simulation application built with python
MIT License
The Multi-Physics Simulation Engine is a comprehensive application designed to facilitate the exploration and simulation of various physical phenomena. The application provides an intuitive and user-friendly interface for running simulations in multiple categories such as Atomics, Fluids, Kinematics, Gravitation, and Materials. Each category contains a set of predefined simulations that users can easily run and visualize.
Clone the repository:
git clone https://github.com/surtecha/multi-physics-simulation-engine.git
cd multi-physics-simulation-engine
Install the required Python packages:
pip install -r requirements.txt
Ensure the following packages are listed in your requirements.txt
file:
jax==0.4.28
jaxlib==0.4.28
matplotlib==3.9.0
matplotlib-inline==0.1.7
numpy==1.26.4
phiflow==2.5.4
phiml==1.5.1
pillow==10.3.0
pygame==2.5.2
pymunk==6.8.0
PyQt5==5.15.10
PyQt5-Qt5==5.15.13
PyQt5-sip==12.13.0
pytz==2024.1
PyYAML==6.0.1
pyzmq==26.0.3
qtconsole==5.5.2
QtPy==2.4.1
sympy==1.12
tqdm==4.66.4
To start the application, navigate to the project directory and run the following command:
python main.py
The application will launch and display the main window with tabs for each simulation category.
Each directory contains python scripts, images, and description files for respective simulations.
Upon launching the application, you will see a window with tabs representing different categories of simulations. Each tab contains buttons for individual simulations.
To add a new simulation:
/Kinematics
).your_simulation_description.txt
) and write a description of the simulation.your_simulation.jpg
) to be used as the button icon.If you have a new simulation called projectile.py
for the Kinematics category:
projectile.py
in the /Kinematics
directory.projectile_description.txt
with a description of the simulation.projectile.jpg
for the button icon.Please read the CONTRIBUTING.md
file for detailed instructions on contributing to the project.
This project is licensed under the MIT License. See the LICENSE
file for more details.