A MATLAB program to calculate the Green's function for swirling flow in an infinite duct.
For use in the aeroacoustics industry to model aeroengine noise.
Created by James Mathews in 2016.
Licensed by Cambridge Enterprise.
Currently licensed to the ENOVAL project.

Description and Examples


  • GreenSwirl models an aeroengine as an infinite duct.
  • The duct can have either hard walls or an acoustic lining, modelled using the corrected Myers boundary condition (see Masson et al below).
  • The mean flow is a function of only radial position, can have shear and swirling components, and can be input as functions or data points.
  • The program calculates the eigenmodes and the Green's function of the linearised Euler equations.
  • The program calculates these either numerically (Basic version) or numerically and analytically assuming the frequency is large (Advanced version).
  • The program is in MATLAB and uses the open source software Chebfun.


Green's function with simple polynomial swirling flow and hard walls (left).
Green's function with high speed realistic swirling flow and lined walls (below).


GreenSwirl has applications to the beamforming technique.

Publications using GreenSwirl

The modified Myers boundary condition for swirling flow (Mathews, Masson, Moreau & Posson, AIAA Conference, Denver, 2017): Unoffical. Official.
Liner behavior in an annular duct with swirling and sheared mean flow (Masson, Mathews, Posson, Sanjose & Moreau, AIAA Conference, Denver, 2017): Unofficial. Official.
The acoustic Green's function for swirling flow in a lined duct. Mathews and Peake. Journal of Sound and Vibration, 2017. Unofficial. Official.
Mathematical modelling of noise generation in turbofan aeroengines using Green's functions. Mathews. July 2016. Thesis.
Asymptotic and numerical Green's function in a lined duct with realistic shear and swirl. Mathews, Peake and Bianchi. May 2016. 22nd AIAA/CEAS Conference Paper (Lyon).


GreenSwirl runs in MATLAB using the open source package Chebfun.
Most of the features of GreenSwirl would not be possible without Chebfun.
The main features that GreenSwirl uses of Chebfun are the eigenmode solver, differential equation solver and root finder.

Chebfun is described on their own webpage as:
"Chebfun is an open-source package for computing with functions to about 15-digit accuracy. Most Chebfun commands are overloads of familiar MATLAB commands — for example sum(f) computes an integral, roots(f) finds zeros, and u = L\f solves a differential equation."