I wrote this implementation of Lattice Boltzmann fluid simulation as part of
a university course on supercomputing. It was an excuse to learn Fortran.
The code is a bit of a mess due to my use of Fortran pointers (something the
language doesn't handle very well) and some manual code optimisation: loop
unrolling, etc which leads to a lot of repeated code and intermediate vars.
Karman Street: The video shows velocity magnitude. Periodic boundaries cause
the 'waves' that slowly die out from diffusion.
I wrote a Finite Element solver for the 2D unsteady heat equation as part of
a team of two for another course. (To see what the other half of the team is
doing see milkyklim). The code works
with MPI to take advantage of massively parallel architecture of modern
clusters. The implementation takes unstructured meshes, specifically
MIXD
format as input and outputs data in VTK format.
The videos below show results for different geometries and boundary
conditions.