Water Waves in OpenFOAM

Water Waves in OpenFOAM

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.

OpenFOAM Barycentric Tracking

OpenFOAM Barycentric Tracking

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”.

CFD Direct Year 2: Development

CFD Direct Year 2: Development

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.

CFD Direct Year 2: Maintenance

CFD Direct Year 2: Maintenance

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.

OpenFOAM Maintenance

OpenFOAM Maintenance

OpenFOAM is free, open source software in computational fluid dynamics for real-world engineering and scientific applications. CFD Direct is committed to maintain OpenFOAM, demonstrated by the thousands of code commits to OpenFOAM-dev, with support from contributors. Maintenance concerns the evolution of software in response to changes in user expectation and environment. We have introduced an agile strategy suitable to the feedback process of software evolution and have identified key areas of OpenFOAM that requiring significant redesign, e.g. AMI and particles.

Issues with OpenFOAM, Pt. 3

Issues with OpenFOAM, Pt. 3

A breakdown of outstanding issues in OpenFOAM (2016-10-26) shows 90% of unresolved issues falling within only 7 categories. The two worst offenders account for almost half of all unresolved issues: 1) AMI, ACMI and cyclic interfaces; and, 2) heat transfer, including conjugate heat transfer (CHT). These categories, and “particles and tracking” and “sources/constraints” in particular, require significant refactoring and/or rewriting. Their current state of disrepair was caused by poor funding under a roadmap development strategy. Funding of agile development of OpenFOAM is now needed to support our aim to improve quality, with a target 50% reduction in unresolved issues in 2017.