A Python-based flow solver for numerical simulations using an immersed boundary method on single GPUs
M Guerrero-Hurtado1, J M Catalán1, M Moriche2
1Department of Aerospace Engineering, Universidad Carlos III de Madrid, Spain.
Summary
A new single-GPU implementation of the Immersed Boundary Method significantly accelerates 3D incompressible flow simulations. This efficient approach offers substantial speedups for complex geometries, outperforming CPU solvers by up to 54 times.
Area of Science:
- Computational fluid dynamics
- High-performance computing
- Numerical simulation
Background:
- Simulating three-dimensional incompressible flow around complex geometries is computationally intensive.
- Existing methods often face challenges with communication overheads in parallel processing.
Purpose of the Study:
- To develop an efficient single-GPU implementation for simulating incompressible flow around moving bodies with complex geometries.
- To optimize performance by leveraging GPU architectures and the Immersed Boundary Method.
Main Methods:
- Implementation of the Immersed Boundary Method tailored for GPU using Nvidia CUDA, Numba, and Python.
- Exploitation of different GPU grid architectures for performance optimization.
- Focus on single-GPU execution to eliminate communication overheads and keep data in global memory.
Main Results:
- The single-GPU code achieves a speedup of 34 to 54 times compared to a CPU-based parallel solver.
- Significant speedups are observed in solving linear systems, with more modest gains in non-linear term computations (×1.6-3).
- The code demonstrates strong scaling on different GPU hardware for both external (bioinspired aerodynamics) and internal (cardiovascular) flow applications.
Conclusions:
- The developed single-GPU implementation provides a highly efficient solution for complex fluid flow simulations.
- This approach offers a substantial performance improvement over traditional CPU-based methods.
- The method is validated and applicable to diverse fluid dynamics problems, including bioinspired and cardiovascular flows.
Related Concept Videos
Turbulent Flow: Problem Solving
375
Carbonation is a process used to dissolve carbon dioxide gas in a liquid, commonly used in the production of carbonated beverages. Achieving efficient carbonation requires careful control of temperature, pressure, and flow conditions. By adjusting these parameters, carbonation efficiency can be maximized, producing a higher concentration of CO2 in the liquid.
Temperature is a key factor in CO2 solubility. In this case, the CO2 gas and the liquid are cooled to 20°C. Lower temperatures enhance...
Temperature is a key factor in CO2 solubility. In this case, the CO2 gas and the liquid are cooled to 20°C. Lower temperatures enhance...
375
Laminar Flow: Problem Solving
495
Laminar flow occurs when a fluid moves smoothly in parallel layers with minimal mixing and turbulence. In fluid mechanics, ensuring laminar flow within a pipe is essential for precise control of flow characteristics, especially in engineering applications. The key factor in determining whether flow remains laminar is the Reynolds number, a dimensionless quantity that depends on the fluid's velocity, density, viscosity, and the pipe's diameter. A Reynolds number of 2100 or lower...
495
Uniform Depth Channel Flow: Problem Solving
424
To calculate the flow rate for a trapezoidal channel, first, identify the bottom width, side slope, and flow depth of the channel. The cross-sectional area (A) corresponding to the depth of flow (y), channel bottom width (B), and side slope (θ) is determined by:Next, calculate the wetted perimeter, which includes the bottom width and the sloped side lengths in contact with the water. Using the values of the cross-sectional area and the wetted perimeter, determine the hydraulic radius by...
424
Accelerating Fluids
2.1K
When a fluid is in constant acceleration, the pressure and buoyant force equations are modified. Suppose a beaker is placed in an elevator accelerating upward with a constant acceleration, a. In the beaker, assume there is a thin cylinder of height h with an infinitesimal cross-sectional area, ΔS.
The motion of the liquid within this infinitesimal cylinder is considered to obtain the pressure difference. Three vertical forces act on this liquid:
The motion of the liquid within this infinitesimal cylinder is considered to obtain the pressure difference. Three vertical forces act on this liquid:
2.1K
Newtonian Fluid: Problem Solving
850
Newtonian fluids exhibit a constant viscosity, meaning their shear stress and shear strain rate are directly proportional. This property ensures a predictable and stable response to applied forces, maintaining a linear relationship between force and flow. Examples include water, air, and light oils, consistently demonstrating this proportional behavior regardless of external conditions.
A velocity gradient forms within the fluid when a Newtonian fluid is placed between two parallel plates, with...
A velocity gradient forms within the fluid when a Newtonian fluid is placed between two parallel plates, with...
850
Laminar and Turbulent Flow
10.5K
Fluid dynamics is the study of fluids in motion. Velocity vectors are often used to illustrate fluid motion in applications like meteorology. For example, wind—the fluid motion of air in the atmosphere—can be represented by vectors indicating the speed and direction of the wind at any given point on a map. Another method for representing fluid motion is a streamline. A streamline represents the path of a small volume of fluid as it flows. When the flow pattern changes with time, the...
10.5K


