2D Multigrid Cycle Analyzer

Multigrid Methods
Spectral Analysis
Numerical Analysis
Numerical Linear Algebra
Iterative Linear Solvers
Julia
2D Multigrid Cycle Analyzer

Description

This project is a from-scratch Julia testbed for studying geometric multigrid in two dimensions through the lens of numerical behavior rather than production solver packaging. It solves a finite-difference Poisson problem on the unit square and exposes direct control over cycle topology, smoother selection, and relaxation parameters so that convergence mechanisms and failure modes can be examined explicitly.

The code supports multilevel cycle experimentation, classical smoothers, and an interactive GLMakie frontend for visualization and exploration. Beyond standard residual monitoring, the project emphasizes spectral interpretation through FFT-based diagnostics, making it a controlled environment for understanding how multigrid components act on different frequency modes and why some configurations converge more effectively than others.

  • Implemented a 2D geometric multigrid framework in Julia with uniform-grid coarsening for finite-difference Poisson problems.
  • Built support for F-cycles and W-cycles, with Weighted Jacobi, Gauss-Seidel, Red-Black Gauss-Seidel, and SOR smoothers.
  • Added FFT-based analysis tools to study frequency-domain damping and spectral behavior across cycle configurations.
  • Created a GLMakie frontend for solution visualization, residual-history inspection, cross-sections, and rapid parameter sweeps.
  • Designed the code as a numerical laboratory focused on transparency, algorithmic control, and visibility into convergence and failure modes.

Highlights and Learning Experiences

Cycle and smoother exploration

Interactive exploration of F-cycle and W-cycle behavior under different smoother choices, relaxation parameters, and grid hierarchies.

Residual and spectral diagnostics

Residual-history tracking, cross-section plots, and FFT-based views used to study convergence behavior and frequency damping.

GLMakie analysis frontend

A Julia-native GUI for parameter changes, solution inspection, and fast numerical experimentation.


    Sreeram Shankar — Portfolio