We present a Python extension to the massively parallel HPC simulation toolkit waLBerla. waLBerla is a framework for stencil based algorithms operating on block-structured grids, with the main application field being fluid simulations in complex geometries using the lattice Boltzmann method. Careful performance engineering results in excellent node performance and good scalability to over 400,000 cores. To increase the usability and flexibility of the framework, a Python interface was developed. Python extensions are used at all stages of the simulation pipeline: they simplify and automate scenario setup, evaluation, and plotting. We show how our Python interface outperforms the existing text-file-based configuration mechanism, providing features like automatic nondimensionalization of physical quantities and handling of complex parameter dependencies. Furthermore, Python is used to process and evaluate results while the simulation is running, leading to smaller output files and the possibility to adjust parameters dependent on the current simulation state. C++ data structures are exported such that a seamless interfacing to other numerical Python libraries is possible. The expressive power of Python and the performance of C++ make development of efficient code with low time effort possible.
We present a Python extension to the massively parallel HPC framework WALBERLA. WALBERLA is a framework for stencil based algorithms operating on block-structured grids, with the main application field being fluid simulations in complex geometries using the lattice Boltzmann method. Careful performance engineering results in good scalability to over 400,000 cores. To increase the usability and flexibility of the framework, a Python interface was developed. Python extensions are used at all stages of the simulation pipeline: They simplify and automate scenario setup, evaluation, and plotting. We show how our Python interface outperforms the existing a text-filebased configuration mechanism, providing features like automatic nondimensionalization of physical quantities and handling of complex parameter dependencies. Furthermore, Python is used to process and evaluate results while the simulation is running, leading to smaller output files and the possibility to adjust parameters dependent on the current simulation state. C++ data structures are exported such that a seamless interfacing to other numerical Python libraries is possible. The expressive power of Python and the performance of C++ make development of efficient code with low time effort possible.
The adsorption process and the resulting dynamic surface tension in the context of protein foams were studied. A diffusion-advection equation is solved using a lattice Boltzmann method (LBM) in order to simulate the adsorption of surfactants on a surface. With different adsorption isotherms, different surfactants can be modelled. The advection is driven by a flow field coming from the LBM. The phase transition is implemented with a free surface LBM approach where the liquid-gas two-phase flow is simplified to a single-phase free surface flow by using a volume of fluid approach. Looking at the different time scales for diffusion and advection, which are determined by the diffusion coefficient and the viscosity, respectively, the LBM is limited due to time and space resolution. The rates of protein transport to a surface by diffusion and by advection are investigated which indicate that diffusion is only relevant for modelling long-time studies. For those time ranges and low concentrations, the diffusion of proteins from a bulk to a surface of a droplet is simulated and compared with the literature. As a next step, situations as in protein foams are assumed. High concentrations of proteins, e.g. as in milk, result in a simplified scenario where neither diffusion nor advection is important. This is analysed theoretically which suggests an instantaneous change of surface tension. To examine the stability of foam lamellae, this is used for further simulations. Two bubbles rise close to each other with globally different surface tensions as for pure water and water with proteins. Depending on these surface tensions and the initial distance, the bubbles coalesce faster for high surface tensions and show less secondary motions for lower surface tension. It is concluded that bubbles in protein foams coalesce only at shorter distances than in pure water.
This paper presents an enhancement to the free surface lattice Boltzmann method (FSLBM) for the simulation of bubbly flows including rupture and breakup of bubbles. The FSLBM uses a volume of fluid approach to reduce the problem of a liquid-gas two-phase flow to a single-phase free surface simulation. In bubbly flows compression effects leading to an increase or decrease of pressure in the suspended bubbles cannot be neglected. Therefore, the free surface simulation is augmented by a bubble model that supplies the missing information by tracking the topological changes of the free surface in the flow. The new model presented here is capable of handling the effects of bubble breakup and coalesce without causing a significant computational overhead. Thus, the enhanced bubble model extends the applicability of the FSLBM to a new range of practically relevant problems, like bubble formation and development in chemical reactors or foaming processes.
AbstractTo gain a basic understanding of foam flow, as it can be found e.g. in transport of aerated food, simulation tools can help to provide better insight. Shearing of the bubbles appears in different flow geometries and is for a bubble assembly not captured analytically. Also experimentally, those flow fields are hard to observe so that simulations are the method of choice.Our method to simulate foams uses a volume of fluid approach that is based on the free surface algorithm by Körner et al. [1]. Different from classical multiphase methods, only the liquid phase is simulated and special boundary conditions at the liquid‐gas interface account for the gas phase. With this approach high density ratios, e.g. in water‐air systems, are easier to realize than in other methods. High density ratios are even necessary to physically justify the model, where the dynamics of the lighter phase are partially neglected. This method is integrated in the Lattice Boltzmann software framework waLBerla [3] (widely applicable Lattice Boltzmann solver from Erlangen†) that can be used on massively parallel computers and thus allows to simulate even large bubble assemblies.As first validation, single bubbles are sheared with different capillary numbers and the simulation results are compared to literature [2] and show good agreement. The next step is shearing a bubble assembly which is arranged like a dense sphere packing. In order to investigate the geometrical configuration of the assembly and its impact on the behavior during a shear deformation, the bubble assembly is rotated with different angles with respect to the shear direction. (© 2014 Wiley‐VCH Verlag GmbH & Co. KGaA, Weinheim)