Wang Junye, Zhang Xiaoxian, Bengough Anthony G, Crawford John W
Scottish Crop Research Institute, Dundee, DD2 5DA, United Kingdom.
Phys Rev E Stat Nonlin Soft Matter Phys. 2005 Jul;72(1 Pt 2):016706. doi: 10.1103/PhysRevE.72.016706. Epub 2005 Jul 13.
The lattice Boltzmann method has proven to be a promising method to simulate flow in porous media. Its practical application often relies on parallel computation because of the demand for a large domain and fine grid resolution to adequately resolve pore heterogeneity. The existing domain-decomposition methods for parallel computation usually decompose a domain into a number of subdomains first and then recover the interfaces and perform the load balance. Normally, the interface recovery and the load balance have to be performed iteratively until an acceptable load balance is achieved; this costs time. In this paper we propose a cell-based domain-decomposition method for parallel lattice Boltzmann simulation of flow in porous media. Unlike the existing methods, the cell-based method performs the load balance first to divide the total number of fluid cells into a number of groups (or subdomains), in which the difference of fluid cells in each group is either 0 or 1, depending on if the total number of fluid cells is a multiple of the processor numbers; the interfaces between the subdomains are recovered at last. The cell-based method is to recover the interfaces rather than the load balance; it does not need iteration and gives an exact load balance. The performance of the proposed method is analyzed and compared using different computer systems; the results indicate that it reaches the theoretical parallel efficiency. The method is then applied to simulate flow in a three-dimensional porous medium obtained with microfocus x-ray computed tomography to calculate the permeability, and the result shows good agreement with the experimental data.
格子玻尔兹曼方法已被证明是一种模拟多孔介质中流动的很有前景的方法。由于需要大的计算域和精细的网格分辨率来充分解析孔隙非均质性,其实际应用通常依赖于并行计算。现有的用于并行计算的区域分解方法通常首先将一个计算域分解为多个子域,然后恢复界面并进行负载平衡。通常,界面恢复和负载平衡必须反复进行,直到达到可接受的负载平衡;这会耗费时间。在本文中,我们提出了一种基于单元的区域分解方法,用于多孔介质中流动的并行格子玻尔兹曼模拟。与现有方法不同,基于单元的方法首先进行负载平衡,将流体单元总数划分为多个组(或子域),其中每组流体单元数的差异为0或1,这取决于流体单元总数是否为处理器数量的倍数;子域之间的界面最后恢复。基于单元的方法是恢复界面而不是负载平衡;它不需要迭代,并且能实现精确的负载平衡。使用不同的计算机系统对所提出方法的性能进行了分析和比较;结果表明它达到了理论并行效率。然后将该方法应用于模拟通过微焦点x射线计算机断层扫描获得的三维多孔介质中的流动以计算渗透率,结果与实验数据显示出良好的一致性。