Parallel implementation of a Lattice Boltzmann algorithm for the electrostatic plasma turbulence

Author(s):  
Giuliana Fogaccia
2008 ◽  
Vol 19 (12) ◽  
pp. 1847-1861 ◽  
Author(s):  
M. BOTTI ◽  
G. GONNELLA ◽  
A. LAMURA ◽  
F. MASSAIOLI ◽  
V. SOFONEA

We propose a thermal lattice Boltzmann model to study gaseous flow in microcavities. The model relies on the use of a finite difference scheme to solve the set of evolution equations. By adopting diffuse reflection boundary conditions to deal with flows in the slip regime, we study the micro-Couette flow in order to select the best numerical scheme in terms of accuracy. The scheme based on flux limiters is then used to simulate a micro-lid-driven cavity flow by using an efficient and parallel implementation. The numerical results are in very good agreement with the available results recovered with different methods.


2011 ◽  
Vol 133 (6) ◽  
Author(s):  
Ramanathan Vishnampet ◽  
Arunn Narasimhan ◽  
V. Babu

Lattice Boltzmann method (LBM) is employed to investigate natural convection inside porous medium enclosures at high Rayleigh numbers. Volume averaged porous medium model is coupled with the lattice Boltzmann formulation of the momentum and energy equations for fluid flow. A parallel implementation of the single relaxation time LBM is used, which allows the porous medium modified Rayleigh number Ram to be as high as 108. Heat transfer results in the form of the enclosure averaged Nusselt number Nu are obtained for higher modified Rayleigh numbers 104≤Ram≤108. The Nu values are compared with values in the absence of the form drag term. The form drag due to the porous medium is found to influence Nu considerably. The effect of the form drag on Nu is studied by using a form drag modified Rayleigh number RaC (extended from Ram). Utilizing the results for Nu in the high Ram range, a correlation is proposed between Nu and RaC for Darcy numbers 10−6≤Da≤10−2, encompassing the non-Darcy flow regime.


2017 ◽  
Vol 217 ◽  
pp. 149-161 ◽  
Author(s):  
S. Schmieschek ◽  
L. Shamardin ◽  
S. Frijters ◽  
T. Krüger ◽  
U.D. Schiller ◽  
...  

1996 ◽  
Vol 54 (4) ◽  
pp. 4384-4393 ◽  
Author(s):  
G. Fogaccia ◽  
R. Benzi ◽  
F. Romanelli

2013 ◽  
Vol 13 (3) ◽  
pp. 867-879 ◽  
Author(s):  
Stuart D. C. Walsh ◽  
Martin O. Saar

AbstractLattice-Boltzmann methods are versatile numerical modeling techniques capable of reproducing a wide variety of fluid-mechanical behavior. These methods are well suited to parallel implementation, particularly on the single-instruction multiple data (SIMD) parallel processing environments found in computer graphics processing units (GPUs).Although recent programming tools dramatically improve the ease with which GPUbased applications can be written, the programming environment still lacks the flexibility available to more traditional CPU programs. In particular, it may be difficult to develop modular and extensible programs that require variable on-device functionality with current GPU architectures.This paper describes a process of automatic code generation that overcomes these difficulties for lattice-Boltzmann simulations. It details the development of GPU-based modules for an extensible lattice-Boltzmann simulation package – LBHydra. The performance of the automatically generated code is compared to equivalent purposewritten codes for both single-phase,multiphase, andmulticomponent flows. The flexibility of the new method is demonstrated by simulating a rising, dissolving droplet moving through a porous medium with user generated lattice-Boltzmann models and subroutines.


2019 ◽  
Vol 220 (1) ◽  
pp. 682-702
Author(s):  
Peter Mora ◽  
Gabriele Morra ◽  
David A Yuen

SUMMARY The lattice Boltzmann method (LBM) is a method to simulate fluid dynamics based on modelling distributions of particles moving and colliding on a lattice. The Python scripting language provides a clean programming paradigm to develop codes based on the LBM, however in order to reach performance comparable to compiled languages, it needs to be carefully implemented, maximizing its vectorized tools, mostly integrated in the NumPy module. We present here the details of a Python implementation of a concise LBM code, with the purpose of offering a pedagogical tool for students and professionals in the geosciences who are approaching this technique for the first time. The first half of the paper focuses on how to vectorize a 2-D LBM code and show how if carefully done, this allows performance close to a compiled code. In the second part of the paper, we use the vectorization described earlier to naturally write a parallel implementation using MPI and test both weak and hard scaling up to 1280 cores. One benchmark, Poiseuille flow and two applications, one on sound wave propagation and another on fluid-flow through a simplified model of a rock matrix are finally shown.


Sign in / Sign up

Export Citation Format

Share Document