In Year 4 of CFD Direct, we developed new functionality in OpenFOAM and maintained critical components of the code base, reducing the number of unresolved issues by 17%. We managed the OpenFOAM Foundation: promoting sustainable development, releasing OpenFOAM v6, packaging OpenFOAM-dev and publishing websites and documentation. We contributed 1383 man-hours of unfunded work in-kind to OpenFOAM, including organising and presenting at the OpenFOAM Open Day. We delivered 60 days of OpenFOAM Training, and provided low-cost cloud CFD with CFD Direct From the Cloud™, running 1.3 million core-hrs.
OpenFOAM sustainability involves developing software that meets critical needs of users, through a balance of resources, technology, investment and institutional support. The critical needs are availability, usability, robustness and extensibility. The critical work required to meet those needs are publishing, repair and redesign. Employers rarely allocate time to individuals to contribute critical work, so it is generally left to “career maintainers” at CFD Direct. With limited funding, decisions about the critical work are made by those who fund and/or contribute the work, via The OpenFOAM Hub.
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”.