About

I am a third-year Ph.D. candidate in Applied Math at Harvard’s School of Engineering and Applied Sciences.  My Ph.D. adviser is Professor L. Mahadevan.  I help develop computational algorithms to model topological complexity and solve inverse problems for tangled filaments, with applications to soft robotics and biomedicine. 

My Ph.D. work has taught me the value of transferring ideas between disciplines and developing tools applicable to problems from many areas. In this context, I have combined topology with the theory of elasticity and numerical simulation to model an array of physical and biological processes. Graduate training in high energy theoretical physics during college gave me fluency in abstract techniques, from field theory to topology and differential geometry. However, a long-standing desire to work on real-world problems, from sea and space exploration, to medicine, to national defense, brought me to applied math.

My interest in biomedicine and soft robotics has increasingly developed through projects modeling and controlling twisted and coiled artificial muscle fibers, modeling growth and buckling during gastrointestinal embryonic development, computing the optimal strategy to comb a tangled curl of hair, simulating a newly-discovered snake gait (and why only certain snakes use it), extracting topological patterns in neuron bundles, and modeling and designing soft grippers for delicate grasping.  In each project, I model the system as a collection of interacting soft elastic filaments, and expand and adapt our lab's elastic filament simulator to capture the given system of filaments.  Our simulation framework incorporates all six possible modes of deformation of a soft filament (2 bending, 1 twisting, 2 shearing, and 1 stretching), and includes effects such as friction, self-contact, interfilament contact, rigid objects in the environment, external damping, internal viscous damping, plasticity, muscular actuation (making a filament "active"), and changes in a filament's material properties during simulation (some of these features were developed by lab-mates, and some I added).  

Working with Professor Mahadevan, I draw on topological tools, including Gauss linking number, writhe, twist, curvature, torsion, and string link diagrams, to develop models that predict a system's mechanical behavior from its topology.  I have written computational algorithms to compute and manipulate each of these quantities for discretized 3-dimensional curves, such as those output by our elastic filament simulation.  In each case, our goal is to combine a topological characterization of the system with a physics description, coming from the theory of elasticity and rigid-body mechanics, to get to the root of what causes the system to behave the way it does.

My everday work involves: 

  • Writing code in C++11 to expand an elastic filament simulator to model the behavior of the systems mentioned above.  This often involves adding completely new features to the simulator, such as allowing a filament's intrinsic material properties to change continuously during a simulation.   
  • Writing code in matlab to compute and manipulate topological quantities.  The two most complex algorithms I've written so far are (1) to compute iteratively a shearless "average trace" or centerline for a bundle of multiple filaments in three-dimensional space (such a centerline is needed for consistent computation of topological quantities), and (2) to translate a set of 3D curve coordinates into a string link diagram, and then topologically reduce the string link diagram using an expanded set of Reidemeister moves. 
  • Writing code in POV-Ray (3D ray-tracing software) and using Adobe After Effects and Premiere to create high-resolution movies of the simulated filament systems.
  • I collaborate regularly with soft matter experimentalists and mechanical engineers, and I hope to become increasingly involved with fabricating the systems I model.  

Going forward, my hope is to apply machine learning to modeling and design. To that end, I recently completed two course-based machine learning projects. The most recent project focused on learning low-dimensional control spaces for new motor tasks, and familiarized me with DeepLabCut, a new motion capture software that learns to track features across video frames without prepositioned reflective tags. In the other project, my team wrote an optimal data-poisoning algorithm, showing how a machine learning algorithm robust to one kind of adversarial attack may still fall to others.  

In the end, I hope to develop a suite of computational tools that combine the physics theory of elasticity, knot-theory and other topological tools, numerical physics simulation, and machine learning and related numerical optimization algorithms to efficiently model, optimize, and design structures and control-schemes for soft robotics and biomedical applications.