PathToPerformance

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.