WaveSimulator is a project that we created as a practicum project for Lumerical Solutions. It is a simple simulator that can show how a wave propogates in a 2D space. We used Qt and a library developed by Lumerical to create this solution.
We implemented a number of features for this project.
- The GUI including:
- Buttons that start, stop, and step the simulation
- The ability to add shapes, as well as edit them
- Clicking to change the source of the wave, and add a 1x1 rectangle
- Saving and loading using JSON
- An implementation of the HMVC Model
For this project, we were asked to determine if HMVC is a reasonable model to develop software using Qt. We came to the conclusion that HVMC is a very useful and extendable model, but that it can be difficult to implement as, at the time of development, there was no pre-made framework available. We designed and developed our own system which took up a significant portion of our 4 month development period.
We used Qt for all the GUI development.
We used the nlohmann JSON library for saving and loading, and a wave simulation library developed by Jens Niegemann at Lumerical to handle the wave propogation physics.
This was a student term project and probably won't see development by us going forward, but feel free to submit a pull request!
This was made by: