The group has recently created a github organization stochasticHydroTools with a number of repositories connected to our work on fluctuating hydrodynamics of particle suspensions. Codes associated with IBAMR are released under IBAMR's github and those developed using BoxLib are under BoxLib's github.
- The Fluctuating Immersed Boundary method can perform Brownian Dynamics of suspensions of colloids or elastic structures such as polymer chains in confined geometries, as described in the paper "Brownian Dynamics without Green's Functions". This is developed as an add-on to the state-of-the-art parallel C++ Immersed Boundary Adaptive Mesh Refinement IBAMR framework developed and maintained by collaborator Boyce Griffith, which implements internally the required stochastic stress tensor generator (for any combination of no-slip, slip and periodic boundary conditions), as explained in the paper "Staggered Schemes for Fluctuating Hydrodynamics". See examples/IB/explicit/ex5 for an example that advects particles (markers) by thermal velocity fluctuations, and examples/navier_stokes/ex6 for an example that advects a scalar field (concentration or temperature) with thermal fluctuations in a Boussinesq model.
- The RigidMultiblobsWall repository contains python and pyCUDA codes for performing Brownian Dynamics of rigid bodies in the presence of a single wall, as described in the papers "Brownian Dynamics of Confined Rigid Bodies" (stochastic but not scalable to many bodies) and "Hydrodynamics of Suspensions of Passive and Active Rigid Particles: A Rigid Multiblob Approach" (scalable but without fluctuations) and "Brownian Dynamics of Active Sphere Suspensions Confined Near a No-Slip Boundary" (with fluctuations but without rotations and only at Rotne-Prager level, i.e., single blob per body). Work is presently underway to add fluctuations efficiently and accurately to the many-body pyCUDA rigid multiblob code including particle rotations.
- The Positively
Split Ewald (PSE) method is developed by
collaborators Andrew Fiore and James Swan (MIT
Chemical engineering) and is a plug-in to the GPU library
that can efficiently sample Brownian increments for bulk
colloidal suspensions (3D periodic systems) up to the
Rotne-Prager level. Future work will combine this tool
with the rigid multiblob method.
- The GPU code fluam developed by collaborators Rafael Delgado-Buscalioni and Florencio Balboa implements compressible and incompressible staggered-grid fluctuating hydrodynamics for binary fluid mixtures and for particle suspensions. For incompressible hydrodynamics only periodic boundary conditions are supported because the code relies on FFT techniques for solving the Stokes equations.
- The MixingIBAMR
code is an extension and improvement
included in the IBAMR
framework, and contains example input files
that we used for performing simulations of experimental
measurements of giant fluctuations in binary fluid
mixtures in microgravity and in Earth gravity. These
simulations and the algorithms used are described in the
temporal integrators for fluctuating hydrodynamics",
with comparisons to experiments described in the papers "Dynamic scaling
for the growth of non-equilibrium fluctuations during
thermophoretic diffusion in microgravity" and "Slowing-down of
non-equilibrium concentration fluctuations in
- The BoxLib
repository contains parallel finite volume
solvers for the compressible,
low Mach number
fluctuating hydrodynamic equations for fluid mixtures, as
well as reaction-diffusion
systems, implemented in the Fortran binding of the BoxLib framework
developed by the group of collaborator John Bell at LBNL.
An add-on BoxLib
Low Mach module for staggered-grid
number fluctuating hydrodynamics of multispecies liquid
mixtures is available publicly on github. An add-on
Reaction-Diffusion module implements the
methods described in the paper "Stochastic Simulation of
Reaction-Diffusion Systems: A Fluctuating-Hydrodynamics
- The RigidBodyIB
code contains the stand-alone C code MobilityFunctions.c
that contains the empirical fits of the pairwise marker
mobility (documentation is in comments), as described in
the paper "An immersed
boundary method for rigid bodies". The rigid-body
algorithms described in the followup paper "Hydrodynamics of Suspensions
of Passive and Active Rigid Particles: A Rigid Multiblob
Approach" (see in particular Section III) are part
of the RigidBAMR
code which is fully integrated into IBAMR, see
- The IBMethod
repository contains some example/tutorial
Matlab codes, including code for the new 6pt and 5pt
immersed boundary kernels used in our work, as described
in a recent note "A
Gaussian-Like Immersed Boundary Kernel with Improved
Translational Invariance and Smoothness" by Bao,
Kaye and Peskin [ArXiv:1505.07529].
- Here are some old but still very efficient precompiled
executables for generating packings of spheres,
ellipsoids and super ellipsoids. These were developed
during my Ph.D. research and you should consult my Ph.D.
thesis if you plan to use them.
- If you wish to modify the codes yourself you should
instead use the simpler but still reasonably efficient C++
sphere packing code.