A numerical method for suspensions of articulated bodies in viscous flows


Abstract in English

An articulated body is defined as a finite number of rigid bodies connected by a set of arbitrary constraints that limit the relative motion between pairs of bodies. Such a general definition encompasses a wide variety of situations in the microscopic world, from bacteria to synthetic micro-swimmers, but it is also encountered when discretizing inextensible bodies, such as filaments or membranes. Simulating suspensions of such articulated bodies requires to solve the hydrodynamic interactions between large collections of objects of arbitrary shape while satisfying the multiple constraints that connect them. Two main challenges arise in this task: limiting the cost of the hydrodynamic solves, and enforcing the constraints within machine precision at each time-step. To address these challenges we propose a formalism that combines the body mobility problem in Stokes flow with a velocity formulation of the constraints, resulting in a mixed mobility-resistance problem. While resistance problems are known to scale poorly with the particle number, our preconditioned iterative solver is not sensitive to the system size. Constraint violations, e.g. due to discrete time-integration errors, are prevented by correcting the particles positions and orientations at the end of each time-step. Our correction procedure, based on a nonlinear minimisation algorithm, is negligible in terms of computational cost and preserves the accuracy of the time-integration scheme. We showcase the robustness and scalability of our method by exploring the locomotion modes of a model microswimmer inspired by the diatom colony Bacillaria Paxillifer, and by simulating large suspensions of bacteria interacting near a no-slip boundary. Finally, we provide a Python implementation of our framework in a collaborative publicly available code.

Download