OpenLB

{{Orphan|date=April 2017}}

{{Infobox Software

| name = OpenLB

| logo =

| screenshot =

| caption =

| author =

| developer =

| latest release version = 1.8{{cite web|url=http://www.openlb.net/download/ |title=OpenLB 1.8}}

| latest release date = {{Start date|2025|04|24|df=yes}}

| programming language = C++

| operating system = Linux, Mac OS, Windows

| genre = Computational fluid dynamics, simulation software

| license = GPLv2 (GPLv2)

| website = [http://www.openlb.net/ www.openlb.net]

}}

OpenLB is an object-oriented implementation of the lattice Boltzmann methods (LBM). It is the first implementation of a generic platform for LBM programming, which is shared with the open source community (GPLv2).Heuveline, Vincent, and Mathias J. Krause. "OpenLB: towards an efficient parallel open source library for lattice Boltzmann fluid flow simulations." International Workshop on State-of-the-Art in Scientific and Parallel Computing. PARA. Vol. 9. 2010.

The code is written in C++ and is used by application programmers as well as developers, with the ability to implement custom models{{cite web|title=OpenLB is ... {{!}} OpenLB – Open Source Lattice Boltzmann Code|url=http://www.openlb.net/welcome|website=openlb.net|accessdate=28 February 2017}}

OpenLB supports complex data structures that allow simulations in complex geometries and parallel execution using MPI, OpenMP and CUDA on high-performance computers.

The source code uses the concepts of interfaces and templates, so that efficient, direct and intuitive implementations of the LBM become possible.{{cite journal|last1=Heuveline|first1=Vincent|last2=Latt|first2=Jonas|title=The openlb project: an open source and object oriented implementation of lattice boltzmann methods|journal=International Journal of Modern Physics C|date=1 April 2007|volume=18|issue=4|pages=627–634|doi=10.1142/S0129183107010875|issn=0129-1831|bibcode=2007IJMPC..18..627H|s2cid=14079512}}

The efficiency and scalability has been checked and proved by code reviews.{{cite book|last1=Fietz|first1=Jonas|last2=Krause|first2=MathiasJ.|last3=Schulz|first3=Christian|last4=Sanders|first4=Peter|last5=Heuveline|first5=Vincent|title=Euro-Par 2012 Parallel Processing |chapter=Optimized Hybrid Parallel Lattice Boltzmann Fluid Flow Simulations on Complex Geometries |date=1 January 2012|volume=7484|pages=818–829|language=English|doi=10.1007/978-3-642-32820-6_81|series=Lecture Notes in Computer Science|isbn=978-3-642-32819-0}}

A user manual and a source code documentation by DoxyGen are available on the project page.

Functions

OpenLB is being constantly developed. By now the following features are implemented:

  • Computational fluid dynamics in complex geometryKrause, Mathias J., Thomas Gengenbach, and Vincent Heuveline. "Hybrid parallel simulations of fluid flows in complex geometries: Application to the human lungs." European Conference on Parallel Processing. Springer Berlin Heidelberg, 2010.
  • Automatic generation of a grid
  • Turbulent flowNathen, Patrick, et al. "An extension of the Lattice Boltzmann Method for simulating turbulent flows around rotating geometries of arbitrary shape." 21st AIAA Computational Fluid Dynamics Conference. 2013.
  • Multi-component flow{{cite web|title=Bifurcation {{!}} OpenLB – Open Source Lattice Boltzmann Code|url=http://www.openlb.net/bifurcation|website=optilb.org|accessdate=28 February 2017}}
  • Thermal flow{{cite web|title=Rayleigh Benard {{!}} OpenLB – Open Source Lattice Boltzmann Code|url=http://optilb.org/openlb/rayleigh-benard|website=optilb.org|accessdate=28 February 2017}}
  • Light radiationMink, Albert, et al. "A 3D Lattice Boltzmann method for light stimulation in participating media." Journal of Computational Science (2016).
  • Topology optimizingKrause, Mathias J. "Fluid flow simulation and optimisation with lattice Boltzmann methods on high performance computers: application to the human respiratory system." Karlsruhe Institute of Technology, KIT (2010).
  • Particle flow (Euler–Euler and Euler–Lagrange method)Trunk, Robin, et al. "Inertial dilute particulate fluid flow simulations with an Euler–Euler lattice Boltzmann method." Journal of Computational Science (2016).

Automated grid generation

Automated grid generation is one of the great advantages of OpenLB over other CFD software packages. The main advantages are listed below:

  • Use of geometries in the STL file format or geometrically primitive forms (e.g. ball, cylinder, cone) and their union, intersection and difference
  • Very fast voxelization: 6003 ~ 1 minute
  • Handling non-watertight surfaces
  • Memory-friendly using octrees
  • Load distribution for parallel execution with MPI, OpenMP and CUDA.

The automatic grid generation can assume both an STL file as well as primitive geometries. For the geometry, a uniform and rectangular grid is created which encloses the entire space of the geometry. The superfluous grid cells are then removed and the remaining cuboids are shrunk to fit the given geometry. Finally, the grid is distributed to different threads or processors for the parallel execution of the simulation. The boundary conditions and start values can be set using material numbers.

Literature

  • Krause, Mathias J. and Latt, Jonas and Heuveline, Vincent. "Towards a hybrid parallelization of lattice Boltzmann methods." Computers & Mathematics with Applications 58.5 (2009): 1071–1080.
  • Heuveline, Vincent, and Mathias J. Krause. "OpenLB: towards an efficient parallel open source library for lattice Boltzmann fluid flow simulations." International Workshop on State-of-the-Art in Scientific and Parallel Computing. PARA. Vol. 9. 2010.
  • Krause, Mathias J., Thomas Gengenbach, and Vincent Heuveline. "Hybrid parallel simulations of fluid flows in complex geometries: Application to the human lungs." European Conference on Parallel Processing. Springer Berlin Heidelberg, 2010.
  • Krause, Mathias J. "Fluid flow simulation and optimisation with lattice Boltzmann methods on high performance computers: application to the human respiratory system." Karlsruhe Institute of Technology, KIT (2010).
  • Trunk, Robin, et al. "Inertial dilute particulate fluid flow simulations with an Euler–Euler lattice Boltzmann method." Journal of Computational Science (2016).
  • Mink, Albert, et al. "A 3D Lattice Boltzmann method for light simulation in participating media." Journal of Computational Science (2016).

Awards

  • Winner Mimics Innovation Award (2011){{cite web|url=http://biomedical.materialise.com/cases/innovative-patient-specific-intranasal-flow-simulations|title=Innovative Patient-Specific Intranasal Flow Simulations|publisher=}}
  • Honorary certificate in the Group Humanitarian Impact, "Itanium® Solutions Alliance Innovation Awards" (2009){{cite web|url=http://www.mynewsdesk.com/se/kiwok/pressreleases/itanium-solutions-alliance-selects-swedens-kiwok-as-the-2009-innovation-awards-winner-for-humanitarian-impact-308715|title=Itanium Solutions Alliance Selects Sweden's Kiwok as the 2009 Innovation Awards Winner for Humanitarian Impact|date=28 July 2009 |publisher=}}
  • Finalist in the Group Humanitarian Impact Innovation, "Itanium® Solutions Alliance Innovation Awards" (2007)

References

{{reflist}}