SciPost Submission Page
Pychastic: Precise Brownian Dynamics using Taylor-Itō integrators in Python
by Radost Waszkiewicz, Maciej Bartczak, Kamil Kolasa, Maciej Lisicki
This Submission thread is now published as
Submission summary
Authors (as registered SciPost users): | Maciej Lisicki · Radost Waszkiewicz |
Submission information | |
---|---|
Preprint Link: | https://arxiv.org/abs/2209.04332v2 (pdf) |
Code repository: | https://github.com/RadostW/stochastic |
Date accepted: | 2023-01-30 |
Date submitted: | 2022-12-22 10:08 |
Submitted by: | Lisicki, Maciej |
Submitted to: | SciPost Physics Codebases |
Ontological classification | |
---|---|
Academic field: | Physics |
Specialties: |
|
Approaches: | Theoretical, Computational |
Abstract
In the last decade, Python-powered physics simulations ecosystem has been growing steadily, allowing greater interoperability, and becoming an important tool in numerical exploration of physical phenomena, particularly in soft matter systems. Driven by the need for fast and precise numerical integration in colloidal dynamics, here we formulate the problem of Brownian Dynamics (BD) in a mathematically consistent formalism of the It\=o calculus, and develop a Python package to assist numerical computations. We show that, thanks to the automatic differentiation packages, the classical truncated Taylor-It\=o integrators can be implemented without the burden of computing the derivatives of the coefficient functions beforehand. Furthermore, we show how to circumvent the difficulties of BD simulations such as calculations of the divergence of the mobility tensor in the diffusion equation and discontinuous trajectories encountered when working with dynamics on $S^2$ and $SO(3)$. The resulting Python package, Pychastic, is capable of performing BD simulations including hydrodynamic interactions at speeds comparable to dedicated implementations in lower-level programming languages, but with a much simpler end-user interface.
Author comments upon resubmission
List of changes
The list of (minor) changes has been published in replies to Reviewers 1 and 3 posted with the original submission.
Published as SciPost Phys. Codebases 11-r0.2 (2023) , SciPost Phys. Codebases 11 (2023)