Publication detailsLlewellin, EW (2010). LBflow: An extensible lattice Boltzmann framework for the simulation of geophysical flows. Part I: theory and implementation. Computers & Geosciences 36(2): 115-122.
- Publication type: Journal Article
- ISSN/ISBN: 0098-3004
- DOI: 10.1016/j.cageo.2009.08.004
- Further publication details on publisher web site
Author(s) from Durham
This article presents LBflow. a flexible, extensible implementation of
the lattice Boltzmann method. The code has been developed with
geophysical applications in mind, and is designed to be usable by those
with no specialist computational fluid dynamics expertise. LBflow
provides a 'virtual laboratory' which can be used, rapidly and easily,
to obtain accurate flow data for the geometrically complex,
three-dimensional flows that abound in geophysical systems. Parameters
can be 'steered' by the user at runtime to allow efficient and
intuitive exploration of parameter space.
LBflow is written in object-oriented C++ and adopts a modular approach.
Lattice Boltzmann algorithms for distinct classes of material are
encoded in separate modules, which implement a standard interface, and
which are linked to LBflow dynamically at runtime. This allows users
with programming skill and expertise in the lattice Boltzmann method to
create and share new LBfloW modules, extending functionality. A
companion application, LBview, provides a graphical user interface to
LBflow and renders a user-configurable visualization of the output.
LBflow's output can be piped directly to LBview allowing realtime
visualization of steered flow. LBview also facilitates analysis of the
data generated by LBflow.
This article presents an overview of the theory of the lattice
Boltzmann method and describes the design and operation of LBflow. The
companion paper, 'Part II', describes the practical usage of LBflow and
presents detailed validation of its accuracy for a variety of flows.
(C) 2009 Elsevier Ltd. All rights reserved.