Python library for numerical methods for solving kinetic equations with neural network architectures
This library provides a collection of numerical methods for solving kinetic equations, such as the Fokker-Planck-Landau equation and the Boltzmann equation. It also provides a collection of neural network architectures.
The numerical methods provided by this library can be found in the submodule deep_numerical.numerical, which includes the following methods.
- Discrete velocity method (DVM): To be constructed.
- Classical DVM
- Fast DVM
- Spectral method
- Classical spectral method for the Boltzmann equation
- Only the solver for the elastic Boltzmann equation is implemented.
- Fast spectral method
- (Fokker-Planck-Landau equation) Only the solver for the elastic FPL equation is implemented.
- (Boltzmann equation) Reference should be given.
- Classical spectral method for the Boltzmann equation
The neural network architectures provided by this library can be found in the submodules deep_numerical.nn and deep_numerical.neuralop.
[1] Dimarco G, Pareschi L. Numerical methods for kinetic equations. Acta Numerica. 2014;23:369-520.
[2] I. M. Gamba, J. R. Haack, C. D. Hauck, and J. Hu, A fast spectral method for the Boltzmann collision operator with general collision kernels, SIAM J. Sci. Comput. 2017; 39:B658–B674.