[MIS15-P01] Development of Two-Dimensional Lattice Boltzmann Code and Its Coarray parallelization
Keywords:Lattice Boltzmann Method, Coarray parallelization , Fortran 2008
Since LBM is already a matured technique, there exist several open source LBM codes. Although it would be easy to use one of them, we intentionally develop our own LBM code from scratch, because it will help us to firmly understand the basics of the method. We also expect that having our own LBM code and the development experience would provide us with indispensable skills for making of a LBM-based new techniques in future.
For this end, we have developed a fundamental two-dimensional computational fluid dynamics solver based on LBM and parallelized the code. For the parallelization, we have adopted coarray parallelization of Fortran 2008. The coarray parallelization is known to be effective for simulation method with simple grid configurations such as LBM.
We have found that the parallelization by coarray is much easier than that by MPI, which is widely used these days. We have also found that the parallelized code with coarray is much more concise and easy-to-read, compared with MPI-codes.
Conducting three quantitative tests, we have confirmed that calculation results by the LBM code developed in this study coincide well with analytical values.
For this end, we have developed a fundamental two-dimensional computational fluid dynamics solver based on LBM and parallelized the code. For the parallelization, we have adopted coarray parallelization of Fortran 2008. The coarray parallelization is known to be effective for simulation method with simple grid configurations such as LBM.
We have found that the parallelization by coarray is much easier than that by MPI, which is widely used these days. We have also found that the parallelized code with coarray is much more concise and easy-to-read, compared with MPI-codes.
Conducting three quantitative tests, we have confirmed that calculation results by the LBM code developed in this study coincide well with analytical values.