Algorithms to Improve the Speed of the Numerical Model Based on the Lattice-Boltzmann Method, 18-R8541
Inclusive Dates: 03/01/15 – Current
Background — This work solves the second problem of the first call for the Computational Optimization Focused Internal Research Program, "Desired Computational Enhancements for Our In-House lattice-Boltzmann Method-Based Numerical Model for Applications in Oil and Gas Exploration and Biomedical Fields." Because the solver was developed through the solution of physical problems, computational efficiency was not a primary developmental concern. As the solver capability continues to expand with more complexity, computational efficiency is becoming increasingly important. The objective of the problem statement for this program is to improve the speed of the time-consuming computations of the lattice-Boltzmann (LB) solver. In the posed problem, four computationally intensive issues are requested to be improved to shorten solution time:
- Reduce computation time for the streaming algorithm
- Reduce computation time to search for the particle boundary and nearby solid nodes
- Reduce computation time to generate normally distributed random numbers and predict an average nanoparticle trajectory from many simulations
- New methods to scale or run the code in parallel with CPUs, GPUs, or a combination of both
Approach — This project is intended to solve the first three issues by using efficient algorithms to speed up the computations of the current LB solver. The primary approach to improving computation speed is eliminating repetitive computations in the code for which the result does not change or changes very little. Additionally, the solution approach to predict nanoparticle trajectories requires random number generation and uses a Monte Carlo sampling method, both of which are improved upon by using probabilistic methods.
Accomplishments — The computational speed of the solver has increased between 40 and 75 percent for four benchmark problems by reducing or eliminating the repetitive calculations within the code. Two approaches to replace the Monte Carlo sampling method are being evaluated, a Latin-hypercube-sampling method and a matched-moment method. The goal of the Latin-hypercube-sampling method is to reduce the total number of solutions necessary to predict an average nanoparticle trajectory, while the matched-moment method is a computationally faster alternative than the generation of random numbers used in the LB solver.