This page feels hopelessly out fo date because so much has happened with OpenFOAM in the last few year. Consider this a "quick introduction": in reality, OpenFOAM is becoming an important CFD platform both in industry and in academia.
There is a number of ways to write a good CFD code in C++ and OpenFOAM just represents one of the possible ways. The idea of OpenFOAM is to represent the top-level equation we are trying to solve in the form that looks as similar as possible to its mathematical equivalent, i.e. using the field objects and differential operators (div, grad, curl). This has been described at length at the OpenFOAM web site and is also mentioned in some of my slides.
For example
Doing advanced modelling in OpenFOAM is very nice and convenient, but that's not all OpenFOAM is about. In order to really benefit from all the nice modelling, OpenFOAM needs to be efficient and provide geometrical flexibility to handle the geometries of industrial interest. This is my main concern, starting from my PhD work and carrying on on to this day. In order to do this, we have been forced to take a different path, working on arbitrarily unstructured Finite Volume discretisation. This looks to become a standard in the "next-generation" commercial CFD codes - Henry and I have been doing it from the start! I think OpenFOAM today provides the geometrical flexibility at least on a par with all other commercial CFD software.
In conclusion, OpenFOAM is about doing advanced modelling with ease and confidence, but also about using the models on real geometries.
|
|
For realistic combustion simulations in internal combustion engines, it is necessary to simulate the flow during the exhaust and intake stroke. Intake conditions control the level and distribution of turbulence, as well as potential fuel-air mixing, with critical impact on the combustion phase. CFD modelling of intake and exhaust stroke requires handling the valve action, including opening and closing and at the same time preserving sufficient mesh quality in the critical valve region.
A combination of topology modifiers recently implemented in OpenFOAM allows me to model the valve action using a combination of several layer addition/removal surfaces and sliding interfaces for each valve. The first series of pictures shows the mesh modifiers in action during the exhaust and intake strokes. Note a change in the number of cells in the cylinder and above and below the valves in motion.
|
|
|
|
|
|
A finer mesh has been chosen to simulate the flow field during the exhaust and intake stroke. I am hoping to complete the work in collaboration with Dr. Gianluca d'Errico and the Internal Combustion Engine Group, Dipartimento di Energetica, Politecnico di Milano, Italy.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
![]() |
|
![]() |
|
|
|
|
|
![]() |
When a two-phase system with a free surface is not chemically clean, surfactant chemicals concentrate on the free surface, modify local surface tension properties and significantly influence the behaviour of the system.
In simulations or air bubbles in water, this effect needs to be taken into account. The transport of surfactant chemicals is two-fold: they are transported through the volume of water and once they reach the free surface they move along it until equilibrium is reached. The concentration on the free surface acts as a boundary condition for the volume transport; the volume, on the other hand provides "area sources and sinks" for ths surface simulation, depending the the ratio of local concentration.
The figure shows a 1 mm 3-D air bubble in water and the surrounding velocity field. The surface is coloured by the surfactant concentration; as the surfactants concentrate at the bottom of the bubble, we are looking at the bottom of the bubble.
OpenFOAM provides a Finite Area discretisation, which allows us to simulate the transport phenomena on a curved surface in 3-D. This tool is useful for many other applications as well, e.g. wall films in Diesel engines (created when the injected Diesel fuel hits the wall).
|