Implementation of C++ iterators for the Boltzmann scattering integral satisfying physical conservation laws

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 o...

Full description

Saved in:
Bibliographic Details
Main Author: He, Mingxuan
Other Authors: Marco Battiato
Format: Final Year Project
Language:English
Published: Nanyang Technological University 2024
Subjects:
C++
Online Access:https://hdl.handle.net/10356/175692
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Nanyang Technological University
Language: English
Description
Summary: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.