This website catalogues various research codes and small example codes developed over a few years (at UMIST/Manchester and QMUL) which are mainly associated with simulating fluid flows.
None of the codes are documented though they are all short enough to eventually understand as they are. The codes are not diligently maintained and there is no great interest in furthering their usefulness.
The sample codes deal with incompressible flow, discrete adjoint using automatic differentiation, parallel computation by domain decomposition, optimization and sparse linear system solvers. In addition to this there are examples of programming various useful things in the mighty D programming language.
The grim consequences of relying on flow simulations
I do not have time to oil all the rusting Heath Robinsons here, so I shall only tinker with the parallel flow solver. The idea is to replace the Fortran side with C (but compiled as C++, with the intention of making use of some of the C++11 features). Various bugs have been fixed in this version and it is now ever so slightly easier to use. Future developments will be to make proper use of the control file and to set up partition face and vertex mappings.
This serial flow solver which was used as the foundation of the serial adjoint flow solver is made available as a separate program. It only requires gcc and gfortran to build it. Gmsh is required to generate meshes and view fields.