March 2024: CFD Direct is pleased to announce that OpenFOAM can simulate internal combustion (IC) engines including piston and valve motion. The capability was produced in collaboration with Wärtsilä, Finland and partner organisations, starting in October 2021. It is publicly available from The OpenFOAM Foundation in the development line of OpenFOAM (OpenFOAM-dev, packaged here), with example cases in the ICengines repository. Wärtsilä plan to release new features in the ICengines repository in August each year, following each new version release of OpenFOAM in July.
Liquid Films in OpenFOAM
CFD Direct have completely replaced the liquid film functionality in OpenFOAM. The new film functionality conserves mass, unlike its predecessor which was non-conservative and consequently inaccurate and unreliable for many problems. It is implemented with the solver module framework, which enables coupling to other regions with gas flows, multiphase flows, particle clouds, solids etc, including calculations of conjugate heat transfer (CHT). As such, it is consistent with the rest of OpenFOAM so can use all the existing sub-modelling, e.g. thermodynamics, transport, etc. The new implementation contains 50% of the code lines of the original one, despite being more functional. It is therefore cheaper and easier to maintain, while being more extensible and robust.
Dynamic Meshes in OpenFOAM
“Dynamic mesh” describes situations where the mesh in CFD changes, either topologically by adding or removing cells, or by capturing the motion of the solution domain. It also relates to changes in the distribution of cells during a parallel simulation. This article describes the redesign of dynamic mesh functionality, released in OpenFOAM v10 and the development version of OpenFOAM (OpenFOAM-dev). The redesign was motivated by the development of non-conformal coupling (NCC). It specifically overcame a limitation of the previous dynamic mesh functionality which permitted only a single form of mesh motion or topological change within a simulation.
Modular Solvers in OpenFOAM
In August 2022, CFD Direct introduced modular solvers to the OpenFOAM development version. Modular solvers are written as classes, in contrast to the traditional application solvers which have been integral to OpenFOAM since icoFoam in 1993. They are simpler to use, maintain and understand than application solvers. They are more flexible; in particular, modules for different fluids and solids can be coupled across multiple regions, e.g. for conjugate heat transfer (CHT) with multiphase flow. Modular solvers are deployed using the foamRun or foamMultiRun applications, which contain a generic solution algorithm for single and multiple regions, respectively. Additional modules and applications replace existing tools for data processing and case configuration.
Effective OpenFOAM Maintenance
OpenFOAM is the leading free, open source software for computational fluid dynamics (CFD), distributed by The OpenFOAM Foundation. In 2014, OpenFOAM had accumulated significant “technical debt” due to a drive for new functionality at the expense of maintenance. Facing an unsustainable level of technical debt, CFD Direct was founded to manage and develop OpenFOAM back to a sustainable position. Code repair has targeted niche functionality that receives less testing. Redesign of larger, critical components of OpenFOAM has eliminated clusters of issues. By 2022, CFD Direct has recovered most of the technical debt, making OpenFOAM significantly more robust, usable and extensible.
OpenFOAM Non-Conformal Coupling
In May 2022, CFD Direct released Non-Conformal Coupling (NCC) in OpenFOAM to connect regions of a domain with independent meshes for applications including rotating geometry. NCC is a robust replacement for the Arbitrary Mesh Interface (AMI) and associated ACMI and Repeat AMI functionalities. Unlike the AMI functionalities, NCC ensures conservation which is essential for accuracy but also for stability, in particular in numerical schemes designed to maintain boundedness, e.g. in multiphase flows. NCC naturally works for partially-overlapping geometries, as illustrated by the case of opening and closing of a three port ball value.