CFD Libraries in Julia

1 Overview

Julia contains several packages that are helpful for thermofluid simulation.

Package Main Role Course Use
DifferentialEquations.jl ODEs and time integration Coffee, pipe, semi-discrete PDEs
Gridap.jl Finite element method Heat conduction and advection-diffusion
WaterLily.jl Incompressible immersed-boundary CFD Flow visualization around bodies
Oceananigans.jl Incompressible/buoyant flow Natural convection extension
Trixi.jl High-order conservation laws Compressible CFD extension
VoronoiFVM.jl Finite volume on unstructured grids Transport and heat transfer
MethodOfLines.jl PDE-to-ODE discretization Heat and advection-diffusion equations

3 Pedagogical Rule

Do not treat libraries as black boxes.

For every package-based simulation, students should identify:

  1. governing equations,
  2. assumptions,
  3. boundary conditions,
  4. numerical method,
  5. verification strategy.