I acquired my B.S in aerospace engineering in May 2024, and am finishing my M.S. in August 2025. My main interests lie in simulations and fluid dynamics, including propulsion, CFD, aerodynamics, and fluid components. I am currently a graduate researcher working on fluid dynamics simulations of Faraday waves. I have had two different internships, including an internship at RapidFlight LLC, a UAS Startup. At RapidFlight I focused on fluid component design, CFD, and fluid dynamic analysis.
This first page of this website details my research and personal projects. If you would like to read more about my internship experience, you can go to the internships page in the top right. If you want to read about my personal interests and hobbies, go to the hobbies page.
I am currently a graduate research assistant working on CFD simulations, and am focusing on Faraday wave simulations utilizing the BLUE CFD code. BLUE is a 3D multiphase flow code that uses an LCRM hybrid front tracking/level set method and a domain decomposition strategy for parallelization. I set up simulations using Linux terminal, and submit them to a remote supercomputer using SLURM. Below you can see an example of the result of one such simulation, with the kinetic energy side by side for comparison. Throughout my research, I've set up and run over 100 simulations using different boundary conditions, fluid properties, and other conditions. These have required a large amount of research and work to implement. I am currently writing a research paper under the supervision of my advisor about Faraday wave simulations that I hope to publish in the next few months.
As a member of the illinois space society I have helped design and build rockets for the Intercollegiate Rocket Engineering Competition (IREC). I have primarily worked with the propulsion and simulations teams to design and test solid and hybrid rocket engines. In addition to designing parts and working with many different sub teams to design propulsion systems, I focused on the simulation of the rocket engines. In total I've created over 25 simulations of Illinois Space Society rocket engines, ranging from a simple converging-diverging nozzle to non-premixed combustion. These used simulation programs like Fluent, OpenRocket, and ProPEP (for propellant optimization). Below you can find a video of a recent hot-fire of a nytrox-paraffin hybrid rocket engine that I helped design, simulate, build, and test. The rocket had a measured total impulse of 8208 ns.
I created a CFD simulation of the RS-25 rocket engine. The RS-25 does not have a completely public geometry, so I began by creating the rocket nozzle geometry. I used parametric nozzle design as an approximation of Rao nozzle design. I then created a structured mesh of the RS-25 geometry and the surrounding space. I used smaller cells inside of the rocket engine where detail is the most important, and used biased edge sizings to create an acceptable y+ value, mimicking inflation layers. My final model has just over 1,000,000 cells, barely under the cell limit.
I finally set up the simulation. I used a 2D axisymmetric density-based model with pressure inlets and outlets. The nozzle walls were, of course, modelled as a wall. I used NASA CEA to create a custom working fluid for the products of the RS-25. with ideal gas density and Sutherland for viscosity. I used the k-w sst model for better shock and boundary layer predictions. I modelled the rocket engine at sea level, so the flow is expected to be severely overexpanded. Once I obtained results, I exported them to Excel, where I calculated the thrust, which was within 6% of what is expected for the RS-25 under these conditions. Below, you can see the velocity contour output for this sea level model.
The internal shock is delayed, which is expected with the RS-25's design, but the exact placement cannot be trusted, as I am not fully resolving the wall layer. To save on cells, I cannot have as large an exhaust region, and also have coarser figures far away from the nozzle. I believe these coarser cells cause significant dissipation farther away from the nozle, and this combined with the small exhaust region, produces the unexpected stop in the exhaust plume.
I coded a 1-D Godunov scheme FVM solver from scratch that simulates shock waves in a shock tube. I utilized python to calculate exact solutions to the Riemann problem and to implement ghost cells for multiple boundary conditions. Below you can find x,t diagrams for velocity and density in a 1-D shock tube that were generated using my code. You can observe the shock move from high density (initially in the 0.5m leftmost zone) to the right, where it reflects off the wall, and travels back left.
I developed a steady-state 2D finite element solver in Python for heat conduction analysis in solid domains. The solver reads Abaqus-formatted input files, extracts mesh data, material properties, and boundary conditions, and constructs global stiffness matrices using quadrilateral elements. I implemented support for a variety of thermal boundary conditions, including prescribed temperature, surface heat flux, and convection to an external environment. The solver handles essential boundary conditions via equation partitioning, enabling accurate and efficient solutions for arbitrary geometries. I validated the model by comparing results to Abaqus simulations under multiple thermal loading conditions, achieving agreement within 0.1% across all cases. Below you can see a grid of temperature contours comparing my results to ABAQUS. The code was able to handle any boundary conditions or geometry, but the below