Along with my collaborators, I develop state-of-the-art numerical libraries for research in theoretical physics and applied mathematics. See my Github profile for a full list of open-source projects and the list of contributors to these libraries. A summary of the selected libraries follows.
PyStokes is a numerical library for phoresis and Stokesian hydrodynamics in Python. The PyStokes library has been specifically designed for studying phoretic and hydrodynamic interactions in suspensions of active particles. It uses a grid-free method, combining the integral representation of Laplace and Stokes equations, spectral expansion, and Galerkin discretization, to compute phoretic and hydrodynamic interactions between spherical active particles with slip boundary conditions on their surfaces. The library has been used to model suspensions of microorganisms, synthetic autophoretic particles and self-propelling droplets. The current implementation includes unbounded volumes, volumes bounded by plane walls or interfaces, and periodic volumes.
pip install pystokes
PyRoss is a numerical library that offers an integrated platform for inference, forecasts and non-pharmaceutical interventions in structured epidemiological compartment models. Generative processes can be formulated stochastically (as Markov population processes) or deterministically (as systems of differential equations). Population processes are sampled exactly by the Doob-Gillespie algorithm or approximately by the tau-leaping algorithm while differential equations are integrated by both fixed and adaptive time-stepping. A hybrid algorithm transits dynamically between these depending on the magnitude of the compartmental fluctuations. Bayesian inference on pre-defined or user-defined models is performed using model-adapted Gaussian processes derived from functional limit theorems for Markov population process.
pip install pyross
PyGL is a numerical library for statistical field theory in Python. The library has been specifically designed to study field theories without time-reversal symmetry. The library can be used to study models of statistical physics of various symmetries and conservation laws. In particular, we allow models with mass and momentum conservations. The library constructs differentiation matrices using finite-difference and spectral methods. To study the role of momentum conservation, the library also allows computing fluid flow from the solution of the Stokes equation.
pip install pygl
PyRitz is a Python package, using the Ritz method, for computing transition paths and quasipotentials in Python. The most-probable path (instanton) is computed by minimizing the Freidlin-Wentzell action. Analysing the paths in a spectral basis of Chebyshev polynomial, nonlinear optimisation is used to obtain coefficients that give the least action from which the instanton is synthesised in the spectral basis.