James is a PhD student in mechanical engineering. He is currently developing a suite of software tools to simulate underwater propulsion. In his research, he uses discrete elastic rods (a differential-geometry based discretization) to simulate materials with a time-dependent resting state. James uses MATLAB’s sparse matrix tools to evolve this model with implicit time integration, increasing the maximum allowable time step in dynamic simulations. In the simulation of two-dimensional elastic membranes, MATLAB’s automatic vectorization allows James to create code in a speed-critical environment. Finally, he models simplified fluid flows with a time-dependent boundary element method that relies on MATLAB to produce vectorized code for long-range interactions. James earned an SB in mechanical engineering and applied and computational mathematics from University of Southern California.