F1 in schools nationals car

STREAMLINE CFD

FLUID SIMULATION

THE PROJECT

Graphics Framework



Before building the simualtion itself, I first had to decide on some sort of visualisation tool to make sure everything is working as expected. For this I decided to build my own graphics engine by learning rust and using WGPU (webGPU handle to gpu). This took a couple months of working on it here and there over the christmas as the language was new to me. So far I have integrated model loading, visualisation and UI. Furthermore, ive recently learnt a bit of mongoDB to make a user login system.


placeholder
placeholder

Fluid Simulation



I have decided to build the fluid simulation around the lattice boltzman (LBM) method. This is because it is highly parralelizable, meaning i can run it on the GPU, good with complex geometry and comparitavely easy to implement. So far I have made a basic 2D version in javascript but am facing some stability issues around boundaries.
In the example to the right here, i manage to achieve votex shedding, a charactaristic trait of flow around a cylinder.


Multiresolution Domain



A big step to increasing performance, is defining a multiresolution domain. This means that for areas of low vorticity, far from the object in question, fewer calculations have to be done. I have created again a basic 2d example of this (quadtree) in javascript. By doing this i can also identify the cells inside the object (grey) and cull them as airflow in here is obviously 0 to improve performance.


placeholder