Understanding of Fluid Simulation

Simulation is now highly needed in various development fields. However, simulation has various limitations, and the accuracy of the results strongly depends on the assumptions.
I learned the three main methods for numerical fluid simulation (Finite Difference Method (FDM), Finite Element Method (FEM) and Finite Volume Method (FVM)) at the University of Stuttgart and implemented them in practice for simple problems.
Finite Difference Method
The finite difference method is the simplest method and it is the basis for understanding more advanced numerical methods. I implemented a simulation of the temperature distribution from scrach when a hot fluid touches a cold metal plate. (Since it takes a very long time to reach steady state, the following Gif image was terminated before that.)

Finite Element Method
FEniCS is a finite element method framework developed by universities and institutes, which allows users to perform simulations by directly inputting governing equations and boundary conditions using the Python interface. The types of elements which can be used in the calculations are very diverse, and the a variety of methods can be selected according to the characteristics of the problem.
In the figure below, the distribution of substance C produced by the chemical reaction between two substances A and B is simulated.

Finite Volume Method
The finite volume method focuses on conserved quantities and can be applied to problems such as shock waves, which are difficult/impossible to calculate by the finite difference method and finite element method. Therefore, this method is used in many cases of numerical fluid dynamics simulations in the aerospace field. I have implemented various numerical flux calculation methods, boundary conditions, space and time discretization and solution methods in Fortran and understood their behaviors.
The Gif image below shows a fluid flowing around a cylinder, calculated using the Navier-Stokes equations. It can be seen that the Karman vortex is generated, which does not appear in the Stokes equation or the potential flow.
