My interest mainly lies in the application of numerical and computational methods in geodynamics and planetary physics. Mainly, I code in Fortran, C/C++, or Python, but I have also have worked with Java, Octave/MATLAB, and R. I have experience in utilizing high-performance computing (HPC) codes on computer clusters (primarily on Digital Alliance resources -formerly Compute Canada), as well as optimization of numerical algorithms, parallel processing, and visualization of large datasets.

Undergraduate Research Projects

Numerical Methods for Astrophysics:

« Optimizations of the symplectic integrators for solar system simulations »

  • Implementation of SIMD on single processors using AVX intrinsics in REBOUND’s WHFast (Rein & Tamayo, 2015) integrator
  • Required hardware: AVX-enabled CPUs
  • Supervisor: Prof. Hanno Rein

This project was later pursued, resulting in the development of «WHFast512» integrator:

  • up to 4.7 times faster than the non-vectorized version of WHFast
  • made available in version 3.26.0 of REBOUND

WHFast512 is the “current record-holder for fastest solar system simulations”. Sam Hadden has compiled a brief overview of N-body simulations, speeds, and CPU clock rates, as well as a very interesting plot comparing integrators and CPU speeds since the 1950s.

For a detailed description of its implementation, please refer to:

« P. Javaheri, H. Rein, D. Tamayo, WHFast512: A symplectic N-body integrator for planetary systems optimized with AVX512 instructions, The Open Journal of Astrophysics, Vol. 6, July 26, 2023 IST, doi:10.21105/astro.2307.05683.»

Computational Fluid Dynamics [Thesis]:

« Solving for isoviscous infinite Prantdl number convection: application of finite volumes and finite differences methods in a two-dimensional Cartesian system »

  • Implemented fully in Fortran
  • Equally-spaced Eulerian discretization with interpolated staggered grid points
  • Using LSQR iterative solver by Paige, C. C. and Saunders, M. A. (1982)
  • Supervisor: Prof. Julian Lowman