### Fluctuating Hydrodynamics

**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 HOOMD 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 of examples/navier_stokes/ex6 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 papers "Multiscale 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 confinement".

- The
**BoxLib repository**contains parallel finite volume solvers for the compressible, incompressible, and 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 low Mach number fluctuating hydrodynamics of multispecies liquid mixtures is available publicly on github. An add-on**BoxLib Reaction-Diffusion module**implements the methods described in the paper "Stochastic Simulation of Reaction-Diffusion Systems: A Fluctuating-Hydrodynamics Approach".

### Immersed Boundary Method and CFD

- 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 these examples and codes.

- 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].

### Hard-Particle packing Codes

- 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.