Effective OpenFOAM Maintenance

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

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.

Using NCC in OpenFOAM

Using NCC in OpenFOAM

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. This document describes how to use NCC to enable OpenFOAM users to transition from the AMI functionality to NCC. Due to its popularity, AMI remains in OpenFOAM for the next version 10 release in July 2022, but will thereafter be removed. The unreliable ACMI and Repeat AMI functionalities are removed.

CFD Book for OpenFOAM

CFD Book for OpenFOAM

CFD Direct is delighted to announce its publication of a book Notes on Computational Fluid Dynamics: General Principles. The book is written for people who use CFD in their work, research or study, providing essential knowledge to perform CFD analysis with confidence. It offers a modern perspective on CFD with the finite volume method, as implemented in OpenFOAM and other popular general-purpose CFD software. Fluid dynamics, turbulence (and RAS modelling) and boundary conditions are presented alongside the numerical methods and algorithms in a series of short, digestible notes.

OpenFOAM Models & Constraints

OpenFOAM Models & Constraints

In March 2021, CFD Direct replaced fvOptions with new fvModels and fvConstraints classes. fvModels provided a more complete framework for implementation of complex models which could be optionally selected during a simulation. New fvModels were implemented for heat transfer and sources, which are easier to configure than a general fvOption. Pressure limiting was implemented as an fvConstraint named limitPressure, consistent with limitVelocity and limitTemperature. With additional fvModels such as cloud and surfaceFilm, solvers such as reactingFoam replicate the functionality of several existing solvers which are deprecated.

Redesigning OpenFOAM for the Future

OpenFOAM Redesign

In 2020, CFD Direct were tasked to develop multicomponent diffusion modelling in OpenFOAM with funding from the Process Engineering Consortium. The Consortium need models, e.g. Maxwell-Stefan, that represent complex diffusion of species in fluid mixtures, affecting both specie concentration and energy. As part of the work, we created a new ThermophysicalTransportModels library with a new interfaces for: fluxes of heat, q() and divq(); and fluxes of mass, j() and divj(). As a consequence, heat transfer became consistent across applications, boundary conditions and data processing. This critical code redesign is typical of our strategy for sustainable development of OpenFOAM, supported by dedicated maintenance funding from OpenFOAM supporters.