Modern Smart Grids rely on advanced computational tools to provide valuable information to the network operators. One of the most important tools used to ensure the security of Smart Grids are transient stability simulations. They analyse the behaviour of Smart Grid models in time after a disturbance has occurred (loss of generation, lightning hitting a line, etc.). However, these simulations are computationally very demanding and can stall even the most powerful personal computer. Buying a dedicated computer to run these simulations can be very expensive!
The solution to this problem is Cloud computing. The dynamic simulation software is located on a dedicated high performance computer and several users can access and run their simulations concurrently. This allows to share the cost between different users (cost of hardware, licensing, etc.) and alleviates the computational burden from personal computers.
In this project, you have to develop a web application for accessing the dynamic simulator RAMSES1 remotely, running simulations, and extracting the results. The back-end will be written in Python (RAMSES is available as a Python module). The front-end should be in html, allowing to be used by any browser. The web app should create unique user-space for each session and clear out any unused data. The final hosting platform will be on Linux (however, the development can take place on any platform).
- A complete literature review including a comparison between different methods currently used for cloud computing in Smart Grids.
- A web application that interfaces to RAMSES and allows users to run simulations though a dedicated web interface. It should be mobile friendly and compatible to current web technologies.
- (Bonus) User management features. Allow to register users and maintain their data on the server.
- (Bonus) Interface to cloud storage services (such as Dropbox, Google Drive, OneDrive, etc.) to import export data.
- All the code developed should be documented and published on GitHub under an MIT License2. The final code (along with all other supplementary files) should be published on Zenodo and the DOI included in the final report3.
- Good programming skills (Python, html – or willingness to learn fast).
- Background in web developing will be considered a plus.
Please, before asking any questions, please check the FAQ.