Simulation of Fluids in Porous Media

API for programming CUDA-OpnenGL applications for the simulation of fluids in porous media using LBM.
Category: Oil Industry Applications
Technologies: Simulation of fluids, Lattice Boltzmann Method, CUDA, OpenGL.
An API for CUDA-OpenGL applications has been designed for the simulation of fluids in porous media using LBM “Lattice Boltzmann Method” in two dimensions. This API will allow applications in three dimensions in the near future. The API provides the following features:
  1. The reading of the porous medium, the user can define any type of geometries, and also can read real and complex media obtained from X-ray microtomography.
  2. The API provides real time visualization of the results of the simulation.
  3. The API provides interactivity with the environment allowing the user to occlude or release the flow paths.
  4. The programmer deals only with the mathematical models and the CUDA language encoding.
  5. The API provides the models for the interfaces (wrappers) between C++ and CUDA.
  6. The user provides the initialization via a simple text file, which includes parameters such as number of whole cycles, GPU blocks, two-dimensional grid size, actual parameters of the simulation, the filename for the medium in BMP format, the file name for the color palette.
  7. The API has been tested on Windows and Linux.
The figure below shows two examples of possible mediums, the solid region is indicated in black and the fluid region is indicated in white. The porous region on the left has been taken from the following publication of Boek & Venturoli.
Edo S. Boek, Maddalena Venturoli (2010) “Lattice-Boltzmann studies of fluid flow in porous media with realistic rock geometries”. Computers and Mathematics with Applications 59 (2010) 2305-2314.
The following real-time video shows a simulation for a very simple geometrical medium, running on a GPU NVidia GTX680 with 1536 cores.



In the following real-time video the medium has been changed by a region taken from the picture above (Boek & Venturoli publication). This image represents a two-dimensional cutting of a drilling core obtained by X-ray microtomography. The simulation is running on a GPU NVidia GTX680 with 1536 cores. The height of the sample shown in this video is 700 microns. Please pay attention to user interactions after the second 32.



Related Projects


We're not around right now. But you can send us an email and we'll get back to you, asap.


© All rights reserved - Yttrium Technology (2017)

Log in with your credentials

Forgot your details?