Skip to content
MA4110 / MA5020
Computational Methods for Fluid Flow

💻 Course Codes & Numerical Implementations

This page provides standalone code implementations for the computational methods and solution techniques discussed in the lectures. Reference codes are provided preferably in Julia (students are free to implement their solutions in Python, MATLAB, C++, or their preferred language). Students can download, run, and modify these scripts locally.

New to Julia? Check out our quick 10-minute Julia Guide for Computational Methods.


🚀 Code Repository

Topic / Method Language Associated Lecture Source File
Linear Advection Equation: Method of Characteristics Julia (.jl) Lecture 4 linear_advection_characteristics.jl
Inviscid Burgers' Equation: Method of Characteristics Julia (.jl) Lecture 5 burgers_characteristics.jl
Linear Advection Equation: First-Order Upwind Scheme Julia (.jl) Lecture 6 / Lecture 7 advection_upwind.jl
Linear Advection Equation: Lax-Wendroff Scheme (2nd-Order Central) Julia (.jl) Lecture 7 / Lecture 8 advection_lax_wendroff.jl
Linear Advection Equation: Beam-Warming Scheme (2nd-Order Upwind) Julia (.jl) Lecture 8 advection_beam_warming.jl

🛠️ Instructions for Running Codes

Julia Scripts

To execute any of the Julia programs: 1. Make sure Julia is installed. 2. Install the Plots package (run once in Julia):

using Pkg; Pkg.add("Plots")
3. Run the script directly from your terminal to view the live animated plot:
julia linear_advection_characteristics.jl
# or
julia burgers_characteristics.jl
A dynamic plot window will open and animate the wave propagation / steepening in real time.