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 the company Nabla Ltd. However, in 2004 FOAM was released under GPL and was renamed to OpenFOAM. OpenFOAM is currently distributed by OpenCFD Ltd.
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. The numerics implemented in OpenFOAM uses the Finite Volume Method on unstructured meshes. OpenFOAM provides many capabilities, including free-surface and multi-phase flow modelling, lagrangian spray model and automatic mesh motion.
- OpenFOAM training material, courtesy of the MFIX development team