In Year 3 of CFD Direct, we developed new functionality in OpenFOAM and maintained critical components of the code base, reducing the number of unresolved issues by 45%. We managed the OpenFOAM Foundation: promoting sustainable development, releasing OpenFOAM v5, packaging OpenFOAM-dev and publishing websites and documentation. We delivered 60 days of OpenFOAM Training, introducing our new “hybrid” classroom-virtual courses to host participants in person and remotely. We launched the new Cloud CFD course to teach inexpensive, secure, efficient CFD with CFD Direct From the Cloud™.
OpenFOAM is free, open source software for computational fluid dynamics (CFD). At the heart of OpenFOAM is a development kit (“SDK”), providing software and tools to build CFD applications, enabling users to customise their CFD, quickly and conveniently. CFD Direct includes OpenFOAM developers who maintain the SDK. We manage an environment for sustainable OpenFOAM development that involves: early public code release with rapid-turnaround user feedback; a network of developers, funding companies and users; and, co-ordinated code integration and maintenance.
In May 2017, we implemented water wave modelling into the public, development line of OpenFOAM (OpenFOAM-dev), to simulate flow conditions experienced in marine and offshore engineering, e.g. on a ship in open water. The initial implementation includes the first order Airy wave and the second order Stokes wave (Stokes II), a second-order accurate utility to apply waves for case initialisation to the entire domain. A verticalDamping source (fvOption) provides wave damping towards outlet regions and an interfaceHeight function object processes interface elevation at specified locations.
In April 2017, we added barycentric tracking into the public, development line of OpenFOAM (OpenFOAM-dev), as a complete replacement to the tracking algorithm that existed in OpenFOAM for over 10 years. Barycentric tracking works on any decomposed tet mesh, irrespective of mesh quality, including poor quality, flat and inverted tetrahedra. The new development was funded from the €100 k for OpenFOAM maintenance, raised through the OpenFOAM Foundation in 2017, in which “particles and tracking” was identified as an area in OpenFOAM “requiring significant code refactoring and/or rewriting”.
During Year 2, CFD Direct made over 1000 code commits to the public development line of OpenFOAM, making us by far the largest contributor of code to OpenFOAM. We produced the major new version 4.0 release of OpenFOAM and the minor update version 4.1 release. We transformed OpenFOAM-dev into stable software of “always-releasable” quality and package it weekly for Ubuntu. Ubuntu packs can now be installed directly on Windows 10 and we also provide “containerized” versions, hosted on Docker Hub, accompanied by launch scripts for easy installation of OpenFOAM on Linux and macOS.
In Year 2, CFD Direct handled almost 500 issues on the OpenFOAM issue tracking system. We upgraded the system and and analyzed metrics relating to timely resolution of issues which concluded that current unresolved issues relate to badly designed components of OpenFOAM that require significant code rewriting. To fund that repair work and ongoing maintenance, we ran a successful campaign to raise €100 k from companies that benefit from OpenFOAM. We carried out substantial maintenance to OpenFOAM websites, significant updates to documentation, and administration for the OpenFOAM Foundation.