Skip to content

EP Simulator: Numerical Simulation of Fluid Flow in a Cavity

INSA Project - 1st Year Energy and Propulsion Department (~6 months)
Date: 1st Semester 2023

logo INSA

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.

GitHub Repository

Technologies Used

Frontend

NameBadgePurpose
ElectronJSElectronJSFrontend framework for building the user interface and application navigation
HTML5HTML5Markup language for structuring the user interface
CSS3CSS3Styling language for customizing the user interface
MarkdownMarkdownLightweight markup language for writing documentation
JavaScriptJavaScriptProgramming language for building the ElectronJS frontend
PlotlyPlotlyVisualization library used to generate dynamic graphs for results

Backend

NameBadgePurpose
FortranFortranBackend for CFD simulations, solving Navier-Stokes equations
PythonPythonBackend for executing Fortran simulations, file handling, and data processing
FastAPIFastAPIPython web framework to handle communication between the frontend and backend

Reporting

TechnologyBadgePurpose
LaTeXLaTeXTypesetting system for mathematical equations and scientific writing
OverleafOverleafOnline 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.

Description Page for every project stepDynamic 1D Plotly Graph
Dynamic 2D Plotly GraphDynamic 2D Plotly Graph

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.

Final ResultsPerformance Graphs

Made with ❤️ by Yanis Delamare