CSDmp: Conventional Stokesian Dynamics in mixed precision
This is a pedagogical code to demonstrate the Conventional Stokesian Dynamics algorithm, written in Fortran 90/95.
The algorithm is described in this paper: Durlofsky, L., Brady, J. F. & Bossis, G. Dynamic Simulation of Hydrodynamically Interacting Particles. Journal of Fluid Mechanics 180, 21–49 (1987).
The program relies on standard BLAS and LAPACK routines. Modify the makefile according to your software environment.
Mixed precision means the velocity is calculated in single precision and the position is in double precision.
Two input files are read by SD.X: conf.in and particles.in
Set the timestep parameters and the background flow
Set the initial particle id, position, and (fixed) external forcing
Two output files are generated by SD.X: out.xyz and particles.out.data
Standard xyz file recording the location of each particle. This file can be visualized by VMD, pyMol, Paraview, etc.
Human readable detailed data generated by SD.X
There was a version of this program performing BLAS/LAPACK operations on GPUs, based on the CULA library. However, since the CULA library is no longer maintained, the GPU functionality is removed. Matrix inversion (in single precision) on GPUs can be fast, but currently there is no plan to adapt this code to GPUs.