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", S. Delong, F. Balboa Usabiaga et al., J. Chem. Phys., 140, 134110, 2014 [ArXiv:1401.4198].
- The RotationalDiffusion
repository contains some simple python codes
for performing Brownian Dynamics of rigid bodies in the
presence of a single wall, as described in the paper
"Brownian Dynamics of Confined Rigid Bodies", S. Delong
and F. Balboa Usabiaga and A. Donev, 2015.
- 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 state-of-the-art parallel C++ Immersed Boundary Adaptive Mesh Refinement IBAMR framework developed and maintained by collaborator Boyce Griffith implements a stochastic stress tensor generator that can be used to implement fluctuating hydrodynamics for both binary fluid mixtures and for particle suspensions (presently only for neutrally buyoant particles). Full support for any combination of no-slip, slip and periodic boundary conditions is provided. You will need to download IBAMR first. 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 IBAMR-based MixingIBAMR code is an extension and improvement of examples/navier_stokes/ex6 included in IBAMR, 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", S. Delong et al., Phys. Rev. E, 90, 063312, 2014 [ArXiv:1410.0240], with comparisons to experiments described in ArXiv:1410.6524 and ArXiv:1502.03693.
- Parallel finite volume solvers for the compressible, incompressible, and low Mach number fluctuating hydrodynamic equations for fluid mixtures have been 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.
- 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", B. Kallemov and
A. Pal Singh Bhalla and B. E. Griffith and A. Donev,
submitted to Comput. Methods Appl. Mech. Engrg. (CMAME),
More codes for rigidi-body IB computations based on IBAMR
will be added to this repository soon.
- The IBMethod
repository contains some example/tutorial
Matlab codes, including code for the new 6pt immersed
boundary kernel 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.