Hi, I'm Mark. I'm a first year Computer Science PhD student at Carnegie Mellon University, advised by Keenan Crane. My research interests are in computer graphics and physical simulation. At the moment, I'm exploring connections between hyperbolic geometry and discrete conformal maps. In the past, I have looked at in variational integrators and the use of Discrete Exterior Calculus to discretize dynamical systems.
In my spare time, I like to fold origami and knit. You can find more here.Email: firstname.lastname@example.org
Magnetohydrodynamics (MHD) Simulation
Over the summer of 2017, I worked on simulating MHD using discrete exterior calculus. Following this paper by Kraus and Maj, I implemented a 2D MHD simulation in periodic domains. I then proved that the method conserves energy and cross-helicity, and I extended the method to domains with boundaries.
Below are some results of the simulation. The magnetic field strength is visualized by a glowing effect. You can see the fluid carrying the magnetic field upwards, where it collides with the container's boundary and starts to flow sideways.
I implemented the algorithm in HoudiniFX, and used Houdini to render these images.
Variational Integrators for Pendula
In the winter of 2016, I implemented a variational integrator for multiple pendula as a final project for a graphics class. I used the method of Marsden and West described here (also available here) to simulate a physical system with constraints.
Discrete Differential Geometry
Here are some interesting assignments that I implemented for a discrete differential geometry class in the fall of 2016.
I computed the normal modes of the discrete Laplacian on the Stanford bunny. Here are the first 4.
Using these normal modes, I numerically solved a Poisson equation to find the electric field induced by charges on the bunny's surface.
Recently, I've been working with Professor Alan Barr on using Interval Analysis to solve root-finding and minimization problems. Interval analysis is the technique of doing computations with intervals representing uncertainty instead of regular real numbers. This provided guaranteed bounds on the accuracy of your results. Our code is available on GitHub.
Teaching Assistant for CS 15-458/858: Discrete Differential Geometry (CMU)
|Under Professor Keenan Crane, graded problem sets, held weekly office hours, delivered recitation lectures. Course website available here|
Teaching Assistant for CS 171: Introduction to Computer Graphics (Caltech)
|Under Professor Alan Barr, graded problem sets, held weekly office hours, delivered recitation lectures|
Teaching Assistant for CS 38: Algorithms (Caltech)
|I graded problem sets every few weeks and held weekly office hours|
NSF Graduate Research Fellowship
SIGGRAPH ACM Turing Award Celebration Grant
|I was one of 10 students sponsored by SIGGRAPH to attend the ACM Turing Award Celebration.|
Arthur R. Adams SURF Fellowship
|Fellowship to fund my summer research.|
William Lowell Putnam Mathematics Competition
|31 points (rank: 365/3214)|
- Carnegie Mellon University
- PhD student in the Computer Science Department
- California Institute of Technology
- Majors: Computer Science, Mathematics
- GPA: 4.1
2D Plasma Simulation via Discrete Exterior Calculus
|Caltech Summer Research Seminar Day|
|15 minute presentation on the results of my summer research. Slides available here.|
Combinatorics and the Probabilistic Method
|Westfield High School Seminar in College Mathematics|
|30 minute presentation to a high school math class. Gave an introduction to elementary combinatorics and presented some simple applications of the probabilistic method. Notes available here.|
Continuous and Discrete Mechanics for Variational Integrators
|Caltech CS 177b|
|1.5 hour final presentation for a computer graphics class. Gave an overview of Hamiltonian and Lagrangian mechanics, and discussed how to discretize them to produce variational time integrators. Extended notes available here.|