While OpenFOAM can be used as a standard simulation package, it offers
much more. Essentially, OpenFOAM is a suite of C++ libraries, most of which are
supplied with source code. It uses primarily the finite volume method to solve
coupled sets of partial differential equations (typical of engineering problems)
ascribed on any 3D unstructured mesh of cells with an arbitrary number of faces
that may undergo motion and/or topological changes. OpenFOAM isdesigned to be a flexible, programmable environment for simulation by havingtop-level code that is a direct representation of the equations being solved,e.g.:
The use of equation representation offers significant advantages over
conventional software:
Users have total freedom to create or modify a solver
Compiled solvers tailored by a user for a specific need rather than
’bolt-on’ subroutines, making OpenFOAM ideal for research and
development.
All facilities -- pre- and post-processing, models and utilities -- are
compiled using the OpenFOAM C++ library. This ensures consistency
across the whole of the OpenFOAM distribution, rather than having a
suite of packages compiled from entirely separate source code.
Transparent solution algorithms which can be viewed by the user,
encouraging better understanding of the underlying physics.
The use of advanced level C++ as the core programming language brings
major benefits to users:
Advanced error checking at both complile and run time.
Extremely robust solver and utility executables.
High speed calculation with efficient memory management and fast
linear equation solvers.
Parallel processing with linear speed up with number of processors.