This package allows the user to efficiently solve complex problems in phoretic mobility, such as the motion of multiple Janus particles in a non-trivial domain. The code uses the regularised boundary element approach described in Montenegro-Johnson et al "A regularised singularity approach to phoretic problems".
The code requires the following excellent GNU licensed packages:
These should be placed in the "geometry" sub-directory.
With these packages, the submission has all that is required to reproduce the results in the above paper, and I intend to add additional functionality (such as more image systems) as I can.
The submission should be regarded as "research" code, but I have cleaned it up and commented it so that it should be reasonably understandable, when the paper is used as a reference. If you wish to use the code for your research, or collaborate, I can hopefully answer some questions via email (available on my website http://www.damtp.cam.ac.uk/user/tdj23/index.html).
The file "run_examples.txt" demonstrates how to run the Janus and two-sphere example simulations used in the paper. With small changes, these codes can be used with arbitrary quadratic surface mesh input.
Overview of directories:
bem_assembly: routines for boundary element solution of the concentration, gradient and stokes flow using linear panels.
meshes: Example quadratic meshes of geometries
geometry: geometric routines for quadratic elements, as well as Fekete quadrature and DistMesh mesh generator
greens_fun: regularised green's functions for diffusion and stokes flow
plotting: routines to plot an unstructured quadratic triangular mesh in 3D, with colour constant or given as an input function at nodal values.
examples: examples from the above paper.
Thomas Montenegro-Johnson (2023). RegBEM Phoretic (https://www.mathworks.com/matlabcentral/fileexchange/53909-regbem-phoretic), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform CompatibilityWindows macOS Linux
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!
Small bug fix. Larger improvements (image systems etc) to follow as soon as I can. If you want to use the code, but find it a little unfriendly, please just drop me an email and I will happily help.