https://github.com/barbagroup/CFDPython
Quick Julia Intro — For Julia novices, this lesson introduces the numerical libraries (DifferentialEquations.jl and Plots.jl), Julia variables, and slicing arrays.
Step 1 — Linear convection with a step-function initial condition (IC) and appropriate boundary conditions (BCs).
Step 2 — With the same IC/BCs, nonlinear convection.
CFL Condition — Exploring numerical stability and the Courant-Friedrichs-Lewy (CFL) condition.
Step 3 — With the same IC/BCs, diffusion only.
Step 4 — Burgers’ equation, with a saw-tooth IC and periodic BCs (with an introduction to Sympy).
Intermission: Array Operations with Julia
Step 5 — Linear convection in 2D with a square-function IC and appropriate BCs.
Step 6 — With the same IC/BCs, nonlinear convection in 2D.
Step 7 — With the same IC/BCs, diffusion in 2D.
Step 8 — Burgers’ equation in 2D
Intermission: Defining Functions in Julia
Step 9 — Laplace equation with zero IC and both Neumann and Dirichlet BCs.
Step 10 — Poisson equation in 2D.
Step 11 — Solves the Navier-Stokes equation for 2D cavity flow.
Step 12 — Solves the Navier-Stokes equation for 2D channel flow.