Adaptive Numerical Integration
I designed and implemented a custom adaptive numerical solver for simulating chaotic gravitational N-body systems, motivated by the instability of multi-star planetary orbits popularized in The Three-Body Problem by Liu Cixin (and its recent Netflix adaptation, 3 Body Problem). The project focuses on the practical challenges of accurately integrating stiff, chaotic ordinary differential equations and validating numerical methods against established reference solvers.
I implemented an adaptive Runge–Kutta 4 (RK4) integrator from first principles, including local error estimation and dynamic time-step control, and benchmarked its accuracy and performance against a standard adaptive solver (SciPy’s RK45). I also evaluated fixed-step methods to illustrate the tradeoffs between accuracy, stability, and computational cost in chaotic systems.
To support analysis and communication of results, I built visualization and animation tooling for two-dimensional multi-body dynamics. Because adaptive solvers produce irregularly sampled outputs, I developed a resampling and interpolation workflow to map solutions onto uniform time grids, enabling physically faithful animations without sacrificing adaptive accuracy. The project includes static diagnostics, animated trajectories, and an interactive interface for experimenting with initial conditions.
While exploratory in scope, the project demonstrates core competencies in numerical methods, algorithm validation, performance benchmarking, and scientific visualization. It also reflects an emphasis on understanding failure modes, tradeoffs, and design decisions in computational modeling.