OpenFOAM is a general purpose open-source CFD code. OpenFOAM is written in C++ and uses an object oriented approach which makes it easy to extend. The package includes modules for a wide range of applications. FOAM was written by Henry Weller and others at Imperial College. For a few years FOAM was sold as a commercial code by their company Nabla. However, in 2004 they decided to release the code under GPL and rename it to OpenFOAM. OpenFOAM is a very capable code which you definitely should check out if you are looking for a state-of-the-art CFD code with source-code access.