Implementation of C++ iterators for the Boltzmann scattering integral satisfying physical conservation laws - He, Mingxuan (Nanyang Technological University, 2024)
This thesis contributes to the development and optimization of Tortoise, a numerical solver for the Boltzmann Transport Equation (BTE). BTE serves as the bedrock of many modern technological advancement, ranging from semiconductors and solar cells to the ultrafast physics. This project focuses on the implementation of numerical solver to the scattering term in BTE. We aim to develop an efficient iterative algorithm and implement the iterators to evaluate basis functions and scattering tensors on a discretised domain in momentum space. Respecting the law of conservation of momentum, we can reduce the complexity of the algorithm by removing the unnecessary iterations that correspond to the non-physical case. Given the high time complexity of the algorithm, we perform optimisation using various computing techniques such as parallel programming and templated functions. Finally, the iterator is implemented in TORTOISE, a C++ library that provides a numerical solver to the time-dependent Boltzmann Equation.