CFD Direct Year 2: Maintenance

OpenFOAM Unresolved Issues 2011-2017

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.

Issues with OpenFOAM, Pt. 2

Issues with OpenFOAM, Pt. 2

Agile development of OpenFOAM emerged following the public distribution of the development line in December 2014. It relies on user participation, which is encouraged by rewarding users for reporting issues with timely resolution. OpenFOAM was in poor health at version 2.3.0, with unresolved issues increasing rapidly and long resolution times. Following the move to agile development, unresolved issues are reduced and under control, with ~70% of issues resolved in 1 day and ~90% resolved in 1 week, taking OpenFOAM to a new level of quality and maturity (always releasable) by version 4.0.

Issues with OpenFOAM, Pt. 1

Issues with OpenFOAM, Pt. 1

The OpenFOAM Issue Tracking system exists to enable users to report issues. An issue exists when OpenFOAM behaves in a manner that does not meet reasonable expectations, including in design and usability. OpenFOAM is mature, quality software, whose successful development demands that issues are resolved in a timely manner. Roadmap development obstructs issue resolution, resulting in unreliable software and inefficient development. Instead, free, open source software can exploit agile development with frequent code release, as the best strategy for CFD development. Users should adopt continuous upgrade to minimize cost and to benefit the agile development strategy.

Inside OpenFOAM 4.0

Inside OpenFOAM 4.0

OpenFOAM version 4.0 is the latest major version of OpenFOAM, released on 28th June 2016. CFD Direct was by far the largest contributor to OpenFOAM 4.0, contributing the vast majority of new functionality including post-processing, numerous boundary conditions and physical models. Additionally, we contributed across all other aspects of software engineering that make OpenFOAM a mature, modern environment for CFD. This article provides the inside view of that work on the software engineering behind OpenFOAM 4.0, contributed largely during a 3 month period from April-July, 2016.