We are a computational group with activities in algorithm development, high-performance computing (in particular using GPU hardware) and applications in physics and biology.
Our activity is interdisciplinary, involving what is often classified as applied mathematics (linear algebra, partial differential equations, integral equations), intimate knowledge of computers and lots of programming, and physics—especially fluid mechanics.
Prof. Barba and her students have been using GPUs for computational research since 2007. Her first PhD student, Felipe Cruz, worked on GPUs with an algorithm used in astrophysics and fluid dynamics, called the fast multipole method (FMM). Her postdoc Rio Yokota took forward the efforts in the group with FMM on GPUs and now continues to participate via a collaboration that includes Cris Cecka at Harvard and Hans Johnston at UMass. All current Barba-group students are working with CUDA C programming, and the group has released several open-source codes.
In 2012, Prof. Barba was named CUDA Fellow by NVIDIA, joining a select group of researchers recognized for their contribution to disseminating GPU computing. More ...
Fast multipole method
The fast multipole method (FMM) has recently gained traction as a highly scalable algorithm with many applications in science. It first appears in astrophysics and particle electrostatics, but was later applied to acoustics, fluid mechanics, elasticity, geophysics and other areas.
We first used FMM to accelerate particle simulations in fluids with vortex methods, but then developed a serious interest in the algorithm itself. The use of GPU hardware with this algorithm has turned out to be a particularly engrossing challenge, with many rewards. Here the algorithmic and hardware speed-ups multiply, to achieve the greatest performance. More ...
Take a look at these beautiful equations:
Isn't it fascinating that mathematical equations like these can actually describe processes that are important in biology?
It turns out that we can use the fast multipole method (or its cousin algorithm, the treecode) to accelerate solutions of boundary integral equations like the ones above. We use them for the computation of electrostatic effects in biological molecules, with a model known as implicit solvent. The model results from treating electrostatics via the Debye-Hückel theory and Boltzmann distributions, and looking at the potential field inside and in the vicinity of a biomolecule. This results in the Poisson-Boltzmann equation, which is then written in integral form and discretized using a boundary element approach (like the panel method in aerodynamics). More...
Immersed boundary method on GPU
In computational fluid dynamics (CFD), the "mainstream" numerical approaches are finite-difference methods, finite-volume methods and finite-element methods. They all rely on the construction of a computational mesh: a set of points where the solutions are computed and the edges that connect these points, across which fluxes can be computed. This geometrical object, the mesh, can be difficult and time consuming to construct when there are objects immersed in the fluid. Spectral methods are also available for CFD, when high orders of accuracy are desired, but they are even more limited in regards to the allowable computational mesh.
The immersed boundary method (IBM) offers the following alternative: the mesh simply cuts through any immersed objects, and the equations are solved everywhere (in the fluid and inside objects). With clever ways to satisfy boundary conditions, the IBM is especially well-suited to compute flows with moving boundaries.
Aerodynamics of gliding animals
We are using the immersed boundary method to study the aerodynamics of gliding snakes, in a collaboration with Jake Socha and Pavlos Vlachos.
Watch Jake's TEDx talk at VTech: