First release of the xFlows open-source code

Dear Community,

We are proud to announce the first release of xFlows, a new open-source code for lattice Boltzmann simulations, and a successor of the OpenLB code. About a year ago, we started refactoring the structure of xFlows in order to get a more solid and, especially, more extensible kernel. As time went on, we ended up simply re-writing everything from scratch. This is the frustrating part of code development – the more time you invest in programming, and the more you realize that you could have made better choices in the beginning. While the new code fixes many of the issues of OpenLB at the internal level, it has also undergone a few important modifications in the user interface. For this reason, it is published under a new project name, to keep a clear distinction between the OpenLB branch and the xFlows branch. Note that if you have developed a lot of code with OpenLB, you won’t need to switch to xFlows right away – the OpenLB branch is going to maintained as a parallel branch, at least for a while, with bug fixes and a few code improvements.

Here are a few important links to the xFlows code and documentation:

Main page: http://www.lbmethod.org/xflows/
Source code: http://www.lbmethod.org/xflows/download.html
User’s guide: http://www.lbmethod.org/xflows/documentation.userguide/index.html
Tutorial: http://www.lbmethod.org/xflows/documentation.tutorial/index.html

The most notable improvements provided in xFlows are:

  • A user’s guide which actually covers the important aspects of the code.
  • A new data structure (called the “data processor” in xFlows), which consistently handles collective operations on block-lattices and on scalar- or vector-fields, couplings between these objects, reduction operations and more. The purpose is to offer a neat interface for user’s to extend xFlows with new LB models.
  • More physics (non-Newtonian models, Smagorinsky model for large eddy simulations, and more).
  • Support for compilation under Windows, based on the IDE Code::Blocks.
  • Interface to the library CVMLCPP, which offers the possibility to read a geometry from an STL file, voxelize the domain, and run a simulation.

We hope you will enjoy working with this new code.

The xFlows developing team