OpenFOAM Development
During Year 2 we made over 1000 code commits to the public development line of OpenFOAM (
OpenFOAM-dev
). OpenFOAM-dev
was packaged as the major new version 4.0 release of OpenFOAM in June 2016, followed by a minor update version 4.1 release in October 2016. The version 4.0 release included:
- a new post-processing interface, that is user-friendly and more extensible and maintainable;
- numerous new boundary conditions;
- new physical modelling, including multiphase, reacting flows;
- design and implementation of new libraries, including rigidBodyDynamics and rigidBodyMeshMotion;
- redesign and rewrite of function objects, vector algebra and matrices;
- source code scripts with templates e.g. foamNewBC, foamNewApp, and foamNewFunctionObject.
The OpenFOAM Foundation has released #OpenFOAM v4.0. Special thanks to @CFDdirect, @wyldckat : https://t.co/ZGfc8TAQEC
— OpenFOAM Foundation (@CFDFoundation) 28 June 2016
Growing the Development Team
In March 2017, we welcomed Will Bainbridge to CFD Direct. Will is a first class mechanical engineer and software engineer who we recruited to the core OpenFOAM team in 2013. After we left ESI Group in 2014, Will also left for a job at LUSAS finite element analysis, while remaining an independent contributor to OpenFOAM. His return to OpenFOAM as a full time developer is good news for OpenFOAM and its users.
Agile Development
During 2016, we realized the benefits of releasing the development line, OpenFOAM-dev
publicly. We recognized that we could make OpenFOAM far more robust by encouraging users to report issues and resolving those issues rapidly, with modifications to OpenFOAM-dev
, where necessary — the “release early, release often” approach, attributed to the success of GNU/Linux. This agile development with frequent code release, with continuous testing and building, transformed OpenFOAM-dev
into stable software of “always-releasable” quality.
Packaging OpenFOAM-dev
Ubuntu Linux has been our preferred operating system for packaged distributions of OpenFOAM since we packaged OpenFOAM 1.7.1 for Ubuntu 10.04 in 2010 and the version releases (e.g. 4.0, 4.1, etc) continue to be packaged for Ubuntu to the present day. In 2016, we started packaging packaging OpenFOAM-dev
for Ubuntu to make latest improvements and new functionality more immediately accessible to users. The packs are updated weekly (e.g. see the OpenFOAM-dev
packs listed for Ubuntu 16.04 at the download repository), and users can apply updates conveniently to access the latest changes.
Support for Windows
In 2016, Microsoft released Bash on Ubuntu on Windows for Windows 10. It provides a full compatibility layer for running Linux applications on Windows. As the name suggests, it is based on Ubuntu Linux, meaning that the Ubuntu packs for OpenFOAM can be installed on Windows 10 directly. Both the latest version release and OpenFOAM-dev
are available to users.
Support for Linux and macOS
In early 2017, we used Docker to provide a self-contained environment that includes code, runtime, system tools and libraries, independent of the underlying operating system. We created “containerized” versions of Ubuntu with OpenFOAM hosted on Docker Hub, accompanied by launch scripts for easy installation of OpenFOAM on all recent, popular Linux distributions. We also created launch scripts for installation of OpenFOAM on macOS.
CFD Direct Year 2 | Next: Maintenance →