Computational simulation data using the Lattice Boltzmann method to generate correlations for gas diffusion layer parameters

Analyzing the fluid behavior in complex porous media like gas diffusion layers (GDLs) in polymer electrolyte fuel cells (PEFCs) can be accurately done using the lattice Boltzmann method (LBM). This article shows the data obtained from a study in which diffusion parameters such as porosity, gas phase tortuosity and diffusibility are computed considering simulated porous media [1]. The data were computed when a water drop obstacle is placed inside the GDL domain and the size of the water-drop is varied. Additionally, figures showing the evolution of the flow velocity field are presented alongside graphics that presents the change in local and bulk porosity for each obstacle size. Finally, there is a detailed method explanation concerning the implementation of the lattice Boltzmann method and a general description of computational codes for the domain and obstacle generation as well as the boundary conditions simulation. Data and processes in this article can be exploited in new attempts to solve real case problems in complex mesoscale media.

can be exploited in new attempts to solve real case problems in complex mesoscale media.
© 2019 The Authors. Published by Elsevier Inc. This is an open access article under the CC BY license (http://creativecommons. org/licenses/by/4.0/).

Data
The velocity field inside the porous media needs to reach a steady state condition before it can be used to calculate diffusion parameters [1]. Fig. 1 shows how the velocities of the field change after Specifications Table   Subject Energy Value of the Data The method applied to obtain this data enhances its accuracy in comparison to other computational and experimental methods, making the data shown here more realistic. The data supplied becomes important to studies that analyze mesoscale models with a complex porous media considering obstacle size randomly placed in its volume. As there are many different gas diffusion layer structures, these data can be used by studies that aim to compare diffusion parameters between various kinds of porous media or motivate these studies. Data obtained by this method can be compared to results using different paths. It can spread the interest in analyzing and developing new ways to study mesoscale fluid dynamics. Several radius of the water drop obstacle in the computed volume that were not displayed in the source article are showed here. The evolution of the fluid velocity field is shown in various successive images for different obstacle sizes.
several iterations until they reach the steady state condition, meaning that minimal changes in the medium are occurring. The behavior of the simulated fluid shown in this figure is obtained through the interactions between the moving fluid generated by the Lattice Boltzmann method (LBM) and the packed fibers representing the gas diffusion layer (GDLs). A water drop was placed in the middle, to be easily appreciated. Full display of every step in the flow's velocity field can be found in the dataset attached to the article. Said dataset also has one example that does not cotain a water drop inside. Porosity, Tortuosity and Diffusibility data were collected after several runs of our code. There were seven iterations for each case to obtain an acceptable standard deviation for each group of data. Bulk Porosity is the average value of local porosities calculated by comparing the void spaces with the whole volume. Tortuosity was obtained by measuring the flow path length and the shortest path length of the medium. Finally, diffusibility is the ratio between the bulk porosity and the tortuosity. Table 1 list the recollection of the parameters computed in the code for all water drop sizes considered. Fig. 2 shows the changes of the local porosity of a medium along the horizontal axis. The images were obtained by setting one constant medium and placing one water drop inside it. The droplet size changes on each iteration showing the variation of the porosity value in every case. The local porosity value was obtained on steps each 2% of the horizontal axis lenght.

Lattice Boltzmann method (LBM)
To obtain the computed data of the velocity of the fluid, the LBM was applied. This method works best on complex structures at mesoscale size. First it needs a digitally generated porous medium representing a GDL in which a water drop it is placed. Then it implements boundary condition on the surroundings of the medium and on the interface between fluid and fibers. The computing details are explaining bellow.

Porous media and water drop generation
The first step in the code is the creation of the 3D matrix using zeros to represent voids. In this study a 100 Â 100 Â 100 zeros matrix was created. This matrix corresponds to a 200 Â 200 Â 200 mm space inside a GDL [2]. Obstacles in the middle of the matrix correspond to either the GDL's carbon fibers or the water drop. For the fibers, the design was made so the fibers do not deform with the flow, do not have any ends inside the volume and have a cylindrical shape [3]. The water drop was considered as a  spherical volume within the matrix. It maintains its shape at all times and never locates outside the GDL. The location of the center of the water drop is randomly placed inside the media while keeping any part of the drop also inside it. A sample of the code used to generate the media and the water drop is shown in Table 2.

Flow field velocity calculation using the Lattice Boltzmann method
To obtain the fluid behavior inside the simulated media, the whole domain has been divided into lattice elements in which the lattice Boltzmann method (LBM) can be applied. All elements interact with the surrounding ones by means of linked velocities. In this 3D case, every element has 19 velocity vectors in different directions.
The method provides a relation between equilibrium and particle distribution for each node. In flow analysis, the equilibrium distribution mainly depends on the local density, velocity and weighting factor for every direction. It also considers collisions in the system and the time it takes to reach a balance. On the other hand, the particle distribution focuses on the position of the node, its velocities and the time lapse to flow in all directions [4,5].

Fluid flow analysis and boundary conditions
The behavior of the fluid depends highly on the equilibrium distribution. In every lattice element, the density and velocity are updated after the collision while the weighting factor of each direction remains constant. This changes the particle velocities in the different directions which interact to the surrounding lattice elements. To maintain the accuracy to real world cases, boundary conditions need to be applied to the interactions between elements [6].
The boundary conditions for the porous media are implemented on the volume limits and in every fluid-solid interface. In this case in which the fluid flows in a single dimension the boundary conditions are divided as presented in Table 3.
Samples of the boundary conditions codes used are resumed in Table 4.

Solving the algorithm
The algorithm founds the velocity field for each node until the whole system reaches a steady state condition [8]. The first step is the calculation of the distribution function which only happens at the beginning of the code. The phases that form the loop are: a) Collision: It is calculated for the equilibrium distribution at the local node considering the changes in velocity and pressure; b) Streaming: It is the change of the particle distribution functions for the particles around the node; c) Boundary in the randomly generated position.
for i ¼ 1:n for j ¼ 1:m for k ¼ 1:l if (sqrt((i-x_positions(index))^2þ(j-y_positions(index))^2 þ(k-z_positions(index))^2)<RADIO(index)) OBSTACLES(i,j,k) ¼ 1; end end end end Conditions: These are applied to the nodes of the porous media to maintain the accuracy and stability of the simulation; and d) Steady State Confirmation: Compares the velocities results in every node to the previous velocity until it represents a minimal change. In this simulation the minimal change in velocity is considered as 10 À3 .

Diffusion parameters calculation
There are three diffusion parameters shown in the previous data: Bulk Porosity, Gas Phase Tortuosity and Diffusibility [9]. The porosity is calculated by dividing the void spaces volume to the total domain volume. In the simulation, the solid volume is represented by the fibers and the water droplet, so the voids are complement to these. The gas phase tortuosity is obtained after the velocity field is calculated. This is the relation between the flow path length, represented by the velocity sum at each position on every direction, and the shortest path length which corresponds to the velocity sum in the flow direction. Finally, the diffusibility is obtained by the ratio between porosity and tortuosity. Table 3 Sumary of Boundary conditions considered in the data obtention.

Applied zone Boundary Condition Description
Inlet surface Von Neumann The condition is applied as the inlet velocity is known. This is a Velocity Boundary that applies to momentum conservation [7]. Outlet surface Second Derivative Approximation As the outlet velocities and pressure are unknown, the conditions are approximated using the velocities of the two previous lattice elements. Parallel to the flow surfaces Periodic Boundary In short, this consideration states that the velocities of the nodes outside the domain are the same as the velocities on the opposite boundary that enters the volume in the same direction.

Solid-Fluid Interface
Bounce Back Condition When the fluid node collides with a solid interface, the solid reflects the particle in the same action line but opposite direction.

Table 4
Sumary of Boundary conditions considered in the data obtention.