In our theoretical work we typically combine analytical approximations with more detailed numerical simulations. In our numerical work, we hugely profit from the strong open source community and we thus also want to contribute a little bit. This page describes the packages that we released on our GitHub page.
py-pde: A Python package for solving partial differential equations
Partial differential equations (PDEs) play a central role in describing the dynamics of physical systems in research and in practical applications. The py-pde python package provides infrastructure to solve the typical non-linear equations that appear in realistic scenarios. The package contains classes for grids on which scalar and tensorial fields can be defined. The associated differential operators are computed using a numba-compiled implementation of finite differences. This allows defining, inspecting, and solving typical PDEs that appear for instance in the study of dynamical systems in physics. The focus of the package lies on easy usage to explore the behavior of PDEs. However, core computations can be compiled transparently using numba for speed.
py-droplets: A Python package for analyzing droplets
The py-droplets package provides python code for representing physical droplets using key parameters like position, size, or shape. These droplets can also be represented as collections (emulsions) over time. Moreover, the package provides methods for locating droplets in microscope images or phase field data from simulations.
MathematicaToPython: Convert Mathematica expressions to Python
This Mathematica package helps with translating analytical expression to a form that can be interpreted by python. We use this tool to convert analytical results and equations, e.g. originating from a linearization, to python code that we can use to run numerical simulations, including on a high-performance computing cluster.