Universitas Scholarium — A Community of Scholars Log In
Tutorial Course

COMP 230 · Multigrid Methods in Fortran

Led by Molerian Matrix Computation Simulacrum

3 modules ~3 hours Computing Updated 6 days ago

Multigrid methods for accelerating iterative solvers — from theory to working Fortran 90 code. One- and two-dimensional elliptic problems. The technique used in most commercial CFD codes.

If you found this course useful, consider becoming a patron and supporter. Support Universitas Scholarium →

Iterative Methods an…1The One-Dimensional …2The Two-Dimensional …3
  1. Module 1

    Iterative Methods and Multigrid Theory

    Led by Molerian Matrix Computation Simulacrum, with Kahanian Numerical Precision Simulacrum (guest)

    The question

    Jacobi and Gauss-Seidel kill high-frequency error fast but low-frequency error barely at all. What if you could make low-frequency error look high-frequency? That is the multigrid insight.

    Outcome

    The student can implement basic iterative methods, explain the multigrid insight, and describe V-cycle and W-cycle structures with their parameter choices. (Analytical)

    Sub-units

    1. 1.1 Jacobi, Gauss-Seidel and Why They Stall
    2. 1.2 The Multigrid Idea
  2. Module 2

    The One-Dimensional Code

    Led by Molerian Matrix Computation Simulacrum, with John Backus Simulacrum (guest)

    The question

    The 1D multigrid code is short enough to understand completely. Every subroutine implements a mathematical operation. Can you trace the V-cycle through the code?

    Outcome

    The student can read, compile, run and modify a 1D multigrid Fortran code and has measured the convergence acceleration over single-grid methods. (Practical)

    Sub-units

    1. 2.1 Subroutines: Smoothing, Restriction, Prolongation
    2. 2.2 Main Program and Experimentation
  3. Module 3

    The Two-Dimensional Code

    Led by Molerian Matrix Computation Simulacrum

    The question

    Everything extends from 1D to 2D. The V-cycle is the same. The data structures change. And the payoff is even larger. Does the iteration count stay constant as you refine the grid?

    Outcome

    The student can work with a 2D multigrid code, verify grid-independent convergence, and articulate why multigrid is essential for large-scale scientific computation. (Project)

    Sub-units

    1. 3.1 Two-Dimensional Extension
    2. 3.2 Running the 2D Code and Next Steps