I'm a professor of mathematics at the University of Arizona. My lab builds computer models of how animals move through air and water. We study jellyfish, soft corals, the smallest flying insects, ballooning spiders, and tubular hearts. Most of the code here uses the immersed boundary method, where a flexible body and the fluid around it move each other.
Lately I also study horses: how they move, and how their hearts respond to exercise. I founded EquiPhysics, a small nonprofit in Sonoita, Arizona. Our horses are the teachers in our free math lessons and apps, which live at github.com/equiphysics.
Website · Google Scholar · ORCID · LinkedIn · EquiPhysics
- Using-IB-Software: hands-on tutorials for IB2d, IBAMR (including IBFE), VisIt, and Planktos.
- Fluid-Dynamics-and-IBM-Theory: lecture slides on fluid dynamics, the immersed boundary method, solid mechanics, and turbulence.
- fluidlets: regularized Stokeslets and Brinkmanlets in Python for flows at very small scales, from swimming cells and cilia to porous media, with worked examples and tutorial notebooks (overview).
- Horse Gait Lab and Horse Heart Lab: free browser apps built from Duque's strides and heartbeats, on the EquiPhysics account.
Teaching
- Using-IB-Software: hands-on tutorials for immersed boundary software.
- Fluid-Dynamics-and-IBM-Theory: the theory behind it, as lecture slides.
Immersed boundary codes
- IB2d: my fork of Nick Battista's IB2d, an easy-to-use 2D immersed boundary code in MATLAB and Python with over 60 examples.
- 2D_IBM_MATLAB: an early (2015) MATLAB version of IB2d, with examples from rubber bands and beams to pumping heart tubes.
- ib_matlab_2D-peskin: Charlie Peskin's 2D immersed boundary code for MATLAB, with lecture notes.
- ibmethod2D-isaacson: Sam Isaacson's 2D immersed boundary fluid solver for MATLAB, on a periodic square domain.
Regularized Stokeslets
- fluidlets: regularized Stokeslets and Brinkmanlets in Python for flows where viscosity wins: cilia, glycocalyx brushes, swimming cells, and flow through porous media. It handles no-slip walls and free swimming, reads IB2d-style input files, writes ParaView output, and comes with worked examples checked against published results and four tutorial notebooks. It was the software goal of our NSF Focused Research Group with Michael Minion, Jan Prins, and Jingfang Huang. Overview with pictures.
Models from our research
- JEB-CFD-Review: files for the review "Using computational fluid dynamics to understand fluid-organism interaction" (Santiago, Battista, and Miller): an IBFE model of a venous valve and a fog-desert cactus geometry.
- Example-SuctionPumping-VP-AForce: an IBAMR model of dynamic suction pumping in a 2D tubular heart, driven by actuators.
- IBAMR-Examples: IBAMR models of flow over a 3D glycocalyx and a 2D tube pump driven by actuators.
- IBMSpiderProject, Example_spider_mass, and Tethered-Spider-Release: IBAMR models of ballooning spiders from the NIMBioS spider group, including a spider with mass and a tethered spider that is released into the flow.
- matlab-Camuscle: a MATLAB model of calcium-driven muscle force, with spike and square-wave stimulation and a force-frequency curve.
- Planktos: my fork of Christopher Strickland's Planktos, agent-based models of plankton and tiny insects carried by fluid flow.
My website and odds and ends
- fairyflies9.github.io: the source for my lab website.
- 9-ctenes: a placeholder for a model of nine oscillating plates, inspired by the comb plates of ctenophores.
- planets: practice files from a Software Carpentry lesson on Git.







