368 research outputs found
FULL GPU Implementation of Lattice-Boltzmann Methods with Immersed Boundary Conditions for Fast Fluid Simulations
Lattice Boltzmann Method (LBM) has shown great potential in fluid simulations, but performance issues and difficulties to manage complex boundary conditions have hindered a wider application. The upcoming of Graphic Processing Units (GPU) Computing offered a possible solution for the performance issue, and methods like the Immersed Boundary (IB) algorithm proved to be a flexible solution to boundaries. Unfortunately, the implicit IB algorithm makes the LBM implementation in GPU a non-trivial task. This work presents a fully parallel GPU implementation of LBM in combination with IB. The fluid-boundary interaction is implemented via GPU kernels, using execution configurations and data structures specifically designed to accelerate each code execution. Simulations were validated against experimental and analytical data showing good agreement and improving the computational time. Substantial reductions of calculation rates were achieved, lowering down the required time to execute the same model in a CPU to about two magnitude orders.Fil: Boroni, Gustavo Adolfo. Consejo Nacional de Investigaciones CientÃficas y Técnicas; Argentina. Universidad Nacional del Centro de la Provincia de Buenos Aires. Facultad de Ciencias Exactas. Grupo de Plasmas Densos Magnetizados. Provincia de Buenos Aires. Gobernación. Comision de Investigaciones CientÃficas. Grupo de Plasmas Densos Magnetizados; ArgentinaFil: Dottori, Javier Alejandro. Consejo Nacional de Investigaciones CientÃficas y Técnicas; Argentina. Universidad Nacional del Centro de la Provincia de Buenos Aires. Facultad de Ciencias Exactas. Grupo de Plasmas Densos Magnetizados. Provincia de Buenos Aires. Gobernación. Comision de Investigaciones CientÃficas. Grupo de Plasmas Densos Magnetizados; ArgentinaFil: Rinaldi, Pablo Rafael. Consejo Nacional de Investigaciones CientÃficas y Técnicas; Argentina. Universidad Nacional del Centro de la Provincia de Buenos Aires; Argentina. Provincia de Buenos Aires. Gobernación. Comisión de Investigaciones CientÃficas; Argentin
Swalbe.jl: A lattice Boltzmann solver for thin film hydrodynamics
Small amounts of liquid deposited on a substrate are an everyday phenomenon. From atheoretical point of view this represents a modelling challenge, due to the multiple scalesinvolved: from the molecular interactions among the three phases (solid substrate, liquidfilm and surrounding vapor) to the hydrodynamic flows. An efficient way to deal with thismultiscale problem is the thin-film equation:ℎ = ∇ ⋅ ( (ℎ)∇), (1)where ℎ is the film thickness, (ℎ) is a thickness dependent mobility and is the pressure atthe liquid-vapor interface. Solving the thin film equation directly is a difficult task, because it isa fourth order degenerate PDE (Becker et al., 2003). Swalbe.jl approaches this problem froma different angle. Instead of directly solving the thin film equation we use a novel method basedon a class lattice Boltzmann models (Krüger et al., 2016), originally developed to simulateshallow water flows (Salmon, 1999). This approach serves two benefits, on the one hand theease of implementation where the lattice Boltzmann method essentially comprises of two steps:collision and streaming. On the other hand due to the simple algorithm a straightforwardapproach to parallelize the code and run it on accelerator devices. Choosing appropriate forcesit is possible to simulate complex problems. Among them is the dewetting of a patternedsubstrates as shown in Figure 1. Beyond films, low contact angle droplets can be studied andcompared to relaxation experiments, e.g. the Cox-Voinov or Tanner’s law (Bonn et al., 2009).Due to a disjoining pressure model for the three phase contact line droplets can not only relaxtowards their equilibrium they can slide as well (Zitz et al., 2019). All of this can be coupledwith thermal fluctuations to study the stochastic thin film equation (Shah et al., 2019; Zitz etal., 2021)
Evaluating the stability of numerical schemes for fluid solvers in game technology
A variety of numerical techniques have been explored to solve the shallow water equations in real-time water simulations for computer graphics applications. However, determining the stability of a numerical algorithm is a complex and involved task when a coupled set of nonlinear partial differential equations need to be solved. This paper proposes a novel and simple technique to compare the relative empirical stability of finite difference (or any grid-based scheme) algorithms by solving the inviscid Burgers’ equation to analyse their respective breaking times. To exemplify the method to evaluate numerical stability, a range of finite difference schemes is considered. The technique is effective at evaluating the relative stability of the considered schemes and demonstrates that the conservative schemes have superior stability
A Simulation Suite for Lattice-Boltzmann based Real-Time CFD Applications Exploiting Multi-Level Parallelism on Modern Multi- and Many-Core Architectures
We present a software approach to hardware-oriented numerics which builds upon an augmented, previously published open-source set of libraries facilitating portable code development and optimisation on a wide range of modern computer architectures. In order to maximise eficiency, we exploit all levels of arallelism, including vectorisation within CPU cores, the Cell BE and GPUs, shared memory thread-level parallelism between cores, and parallelism between heterogeneous distributed memory resources in clusters. To evaluate and validate our approach, we implement a collection of modular building blocks for the easy and fast assembly and development of CFD applications based on the shallow water equations: We combine the Lattice-Boltzmann method with i-uid-structure interaction techniques in order to achieve real-time simulations targeting interactive virtual environments. Our results demonstrate that recent multi-core CPUs outperform the Cell BE, while GPUs are significantly faster than conventional multi-threaded SSE code. In addition, we verify good scalability properties of our application on small clusters
A Simulation Suite for Lattice-Boltzmann based Real-Time CFD Applications Exploiting Multi-Level Parallelism on Modern Multi- and Many-Core Architectures
We present a software approach to hardware-oriented numerics which builds upon an augmented, previously published open-source set of libraries facilitating portable code development and optimisation on a wide range of modern computer architectures. In order to maximise eficiency, we exploit all levels of arallelism, including vectorisation within CPU cores, the Cell BE and GPUs, shared memory thread-level parallelism between cores, and parallelism between heterogeneous distributed memory resources in clusters. To evaluate and validate our approach, we implement a collection of modular building blocks for the easy and fast assembly and development of CFD applications based on the shallow water equations: We combine the Lattice-Boltzmann method with i-uid-structure interaction techniques in order to achieve real-time simulations targeting interactive virtual environments. Our results demonstrate that recent multi-core CPUs outperform the Cell BE, while GPUs are significantly faster than conventional multi-threaded SSE code. In addition, we verify good scalability properties of our application on small clusters
Accelerating fluid-solid simulations (Lattice-Boltzmann & Immersed-Boundary) on heterogeneous architectures
We propose a numerical approach based on the Lattice-Boltzmann (LBM) and Immersed Boundary (IB) methods to tackle the problem of the interaction of solids with an incompressible fluid flow, and its implementation on heterogeneous platforms based on data-parallel accelerators such as NVIDIA GPUs and the Intel Xeon Phi. We explain in detail the parallelization of these methods and describe a number of optimizations, mainly focusing on improving memory management and reducing the cost of host-accelerator communication. As previous research has consistently shown, pure LBM simulations are able to achieve good performance results on heterogeneous systems thanks to the high parallel efficiency of this method. Unfortunately, when coupling LBM and IB methods, the overheads of IB degrade the overall performance. As an alternative, we have explored different hybrid implementations that effectively hide such overheads and allow us to exploit both the multi-core and the hardware accelerator in a cooperative way, with excellent performance results
Kinetic Solvers with Adaptive Mesh in Phase Space
An Adaptive Mesh in Phase Space (AMPS) methodology has been developed for
solving multi-dimensional kinetic equations by the discrete velocity method. A
Cartesian mesh for both configuration (r) and velocity (v) spaces is produced
using a tree of trees data structure. The mesh in r-space is automatically
generated around embedded boundaries and dynamically adapted to local solution
properties. The mesh in v-space is created on-the-fly for each cell in r-space.
Mappings between neighboring v-space trees implemented for the advection
operator in configuration space. We have developed new algorithms for solving
the full Boltzmann and linear Boltzmann equations with AMPS. Several recent
innovations were used to calculate the discrete Boltzmann collision integral
with dynamically adaptive mesh in velocity space: importance sampling,
multi-point projection method, and the variance reduction method. We have
developed an efficient algorithm for calculating the linear Boltzmann collision
integral for elastic and inelastic collisions in a Lorentz gas. New AMPS
technique has been demonstrated for simulations of hypersonic rarefied gas
flows, ion and electron kinetics in weakly ionized plasma, radiation and light
particle transport through thin films, and electron streaming in
semiconductors. We have shown that AMPS allows minimizing the number of cells
in phase space to reduce computational cost and memory usage for solving
challenging kinetic problems
- …