The principles of modern CFD with OpenFOAM, providing critical theoretical and practical knowledge of fluid dynamics, modelling, numerical methods and algorithms.

100% new course from leading CFD trainers, Chris Greenshields and Aidan Wimshurst.  100% open source.

Principles of CFD | OpenFOAM Training |  Course Modules (4 days)

Velocity, Flow Rate and Conservation

  • Velocity: plotting profiles, Poiseuille’s Law, no-slip boundary condition (BC), inlet profiles
  • Flow through a surface: face areas, face zones, calculating areas, flow rates, discharge coefficient
  • Conservation of mass: derivation, incompressibility, fluxes, intensive and extensive properties
  • Mathematics: vectors, inner product, Gauss’s theorem, divergence


  • Pressure: Bernouilli’s equation, relative and kinematic, gradients, probing pressure data
  • Stress: Cauchy stress tensor, shear stress, pressure and identity tensor
  • Newtonian fluid: fluid shear and rotation, rate of deformation tensor, viscosity
  • Force calculation: force at a surface, force coefficients, particle drag modelling


  • Conservation of momentum: derivation, material derivative, advection, body forces
  • Tensors: identity tensor, symmetric, skew, transpose, deviatoric, spherical
  • Coding: mathematical constants, Reynolds number, drag

Internal flows

  • Wall friction: Darcy-Weisbach friction factor, Reynolds number dependence
  • Transition: laminar region (friction factor = 64/Re), transition region, turbulence
  • Turbulent boundary layers: viscous sub-layer, log-law region, 1/7th power law
  • Wall functions: underlying purpose, standard models, alternative wall models, roughness
  • Coding: plotting the Moody chart

External flows

  • Boundary layer thickness: Blasius solution, turbulent separation, turbulent layers
  • Flow regimes: separation and vortex shedding, transition in wake, shear layers and boundary layers
  • Turbulence: phenomenon, energy cascade, cost of simulation, turbulent mixing, Reynolds-averaged modelling
  • Shedding: frequency, Strouhal number, dependence on Reynolds number
  • Diagnostics: lift coefficient, RMS period of shedding

High-speed flows

  • Flow regimes: subsonic, supersonic, Mach number, shock and expansion waves
  • Conservation of total energy: mechanical and internal energy, dissipation, enthalpy
  •  Solution method: flux-splitting, explicit solution, Courant number limit
  • Coding: skin friction coefficient, energy balance

Heat and thermal physics

  • Conservation of energy: derivation, total energy, internal energy
  • Temperature: thermodynamic scale, heat flux, Fourier’s Law, thermal conductivity
  • Equation of state: ideal gas, the Boussinesq approximation, constant density, compressibility factor
  • Fluid species: molar mass, Avogradro’s number, gas constant
  • Heat capacity: at constant volume and pressure, thermal expansion and compressibility
  • Transport properties: viscosity and thermal conductivity as a function of temperature, Prandtl number
  • Coding: physical constants

Heat Transfer

  • Convective heat transfer: Newton’s Law of Cooling, heat transfer coefficient, Nusselt number
  • Lumped mass temperature: heat balance, Biot number, semi-implicit solution
  • Conjugate heat transfer: multiple mesh regions, region coupling, coupledTemperature BC
  • Other: external temperature boundaries, heat sources, thermal boundary layers and wall functions
  • Coding: thermophysical transport, heat flux, object registry, weighted averages, global sum

Natural convection

  • Buoyancy: gravitational body force, densimetric Froude number
  • Boussinesq approximation: linearised temperature equation of state, limitations of linearisation
  • Pressure: redefinition (p_rgh), boundary fluxes, fixedFluxPressure BC, relative / absolute pressure
  • Flow: estimating flow speed, turbulence generation, hot plumes, cross-flow

Open channel flow

  • Solution method: volume of fluid method, MULES, interface compression
  • Flow regimes: subcritical, supercritical, Froude number, surface wave speed
  • Mechanical energy: kinetic energy, potential energy, dissipation, hydraulic jump
  • Coding: inlet and outlet Froude number, measuring interface height

Finite Volume Method

  • Polyhedral mesh: cells, faces, boundary, patches
  • Finite volume mesh: cell volumes, cell centre vectors, face area vectors
  • Matrix equations: matrix construction, sparse matrices
  • Diffusion: surface normal gradient, Laplacian,
  • Advection: advective derivative, linear, upwind, linear-upwind, limited-linear interpolation
  • Time derivative: Euler, backward, Crank-Nicolson schemes, Courant number, time step
  • Source terms: body force, boundedness
  • Coding: area calculation

See the OpenFOAM Training Schedule and Book

… for the Principles of CFD, Essential CFD, Applied CFD & Programming CFD courses.


Why attend Principles of CFD?

The knowledge gap in CFD

  • Computational fluid dynamics (CFD) principally involves fluid dynamics, heat and thermodynamics.
  • These subjects are traditionally taught to be conveniently examined, with emphasis of pen and paper solutions.
  • The science (especially thermodynamics) is often described for fluid systems rather than the fluid itself.
  • Practitioners of CFD therefore have little useful knowledge from their studies to transfer to their work in CFD.
  • The gap in knowledge — between what a CFD user knows and what they need to know — is widespread and growing.

Teaching fluid dynamics for CFD

  • This course teaches fluid dynamics, heat and thermodynamics, numerical methods and algorithms for CFD.
  • We use canonical (study) cases which provide a strong foundation for “real-world” engineering problems.
  • Solutions are built upon the governing equations of mass, momentum and energy conservation in 3-dimensions.
  • We demonstrate control volume analysis, which transfers easily to CFD with the finite volume method.
  • Important empirical and analytical solutions are carefully chosen to demonstrate trends and help validate results.

Preliminary, diagnostic and objective calculations

  • We encourage the use of quick calculations to prepare and monitor a simulation, and produce key results
  • Dimensionless numbers are calculated to establish flow and heat transfer regimes prior to simulation.
  • During the simulation itself, we calculate data which can be monitored and quality checked.
  • We describe how to extract useful data from the simulation, e.g. to characterise a design.
  • We teach OpenFOAM’s coded frameworks (code in input files) extensively, for one-time, quick calculations.

Top quality CFD training

The course was created and is delivered by Chris Greenshields and Aidan Wimshurst. It draws on the experience of Chris’s 16 years of OpenFOAM training, involving 800+ days with over 3500 participants. Aidan brings further experience from his Fluid Mechanics 101 channel on YouTube and the ensuing interaction with subscribers.  The course builds upon the topics in Notes on Computational Fluid Dynamics: General Principles by Chris and Henry Weller (the creator of OpenFOAM).

Who Should Attend

Target Audience

  • New users of OpenFOAM and/or new to CFD
  • Postgraduates working in CFD with OpenFOAM
  • Existing users with limited transferable knowledge in CFD
  • CFD practitioners wishing to broaden their knowledge


  • A science/engineering/mathematics background is beneficial
  • Familiarity with Linux is an advantage
  • Working through the OpenFOAM Linux Guide is strongly encouraged