EP Simulator: Numerical Simulation of Fluid Flow in a Cavity
INSA Project - 1st Year Energy and Propulsion Department (~6 months)
Date: 1st Semester 2023

Overview
This project, completed during my 1st year in the Energy and Propulsion department, involved developing a simulation tool for studying fluid flow in a 2D driven cavity at Re=1. The system solves the incompressible Navier-Stokes equations using Modern Fortran, with an interactive user interface built in ElectronJS for controlling simulations and visualizing results.
Key Features
- Numerical Solver: Incompressible Navier-Stokes equations solved using finite difference methods with a uniform mesh.
- User Interface: ElectronJS-based app for setting up simulations, editing parameters, and displaying real-time results via dynamic Plotly visualizations.
- Comparison with OPENFOAM: Results were validated by comparing velocity profiles with those from the industry-standard solver OPENFOAM.
- Parallelization: Performance optimized through multithreading, reducing computation time significantly.
- Platform Compatibility: Cross-platform deployment (Windows, Linux) using Electron Forge.
Technologies Used
Frontend
Name | Badge | Purpose |
---|---|---|
ElectronJS | Frontend framework for building the user interface and application navigation | |
HTML5 | Markup language for structuring the user interface | |
CSS3 | Styling language for customizing the user interface | |
Markdown | Lightweight markup language for writing documentation | |
JavaScript | Programming language for building the ElectronJS frontend | |
Plotly | Visualization library used to generate dynamic graphs for results |
Backend
Name | Badge | Purpose |
---|---|---|
Fortran | Backend for CFD simulations, solving Navier-Stokes equations | |
Python | Backend for executing Fortran simulations, file handling, and data processing | |
FastAPI | Python web framework to handle communication between the frontend and backend |
Reporting
Technology | Badge | Purpose |
---|---|---|
LaTeX | Typesetting system for mathematical equations and scientific writing | |
Overleaf | Online LaTeX editor for collaborative writing |
Showcase
Here are some key visuals from the project, including simulation results, the interface, and performance graphs.
Interface overview
Description of every step of the project. It includes the objectives, the methodology, the results, and the conclusions. Dynamic 1D Plotly Graph for real-time results visualization.
![]() | ![]() |
---|---|
![]() | ![]() |
Final Results of the Simulation
This image shows the final results of the simulation. It includes the velocity field, the pressure field, and the streamlines.
![]() | ![]() |
---|