Discretisation of flow on a sphere

These are some quick notes on the discretisation of flow on a sphere presented in LN-JFM-2022, written with a view to coding it up at some point.

Coordinate system

$$a$$ radius
$$z$$ polar axis
$$\mathbf{r}$$ vector from the sphere's centre
$$\theta$$ colatitude (zero at zenith)
$$\phi$$ longitude
$$\psi(\theta, \phi)$$ a real-valued scalar function


Expansion of \(\phi\), \[ \psi(\theta, \phi) = \sum_{l=0}^\infty \psi_l(\theta, \phi), \] \[ \psi_l(\theta, \phi) = \sum^l_{m=-1} a_{lm}Y^m_l(\theta, \phi). \]

Spherical harmonics \[ Y_l^m(\theta, \phi) = \sqrt{ (2l + 1) \frac{(l-m)!}{(l+m)!} } P_l^m(\cos \theta ) e^{i\phi}, \] where \(P_l^m\) are the Legendre functions.


Because \(\psi\) is real, \(a_{l(-m)} = (-1)^m (a_{lm})^*\) (so the \(\psi_l\) are also real).

\(Y_l^m\) are eigenfunctions of the Laplacian, \[ \nabla^2 Y_l^m = - \frac{l (l+1)}{a^2} Y_l^m. \]

They are orthogonal wrt to integration over the sphere (as you would expect of eigenfunctions of a Laplacian), \[ \frac{1}{4\pi} = \int_\Omega Y_l^m Y_s^{p*} d\Omega = \delta_{ls} \delta_{mp} \]

and have symmetry \[ Y_l^{-m} = (-1)^m Y_l^{m*}. \]

The \(\psi_l\) are invariant under change of coordinate system.

Streamfunction definition of the velocity field

Define \(\nabla\) to give the surface gradient along a vector tangent to the sphere. Introduce the Hodge star operator, \(\star\). In this case the \(\star\) rotates the gradient anti-clockwise by \(\pi/2\) in the tangent plane (around \(\mathbf{r}\)).

Then, \[ \mathbf{u} := \star \nabla \psi. \]

The velocity field is then divergence-free, according to \[ \nabla \cdot \mathbf{u} = \nabla \cdot \star \nabla \psi = 0. \]

The vorticity is defined as \[ \omega := \nabla \cdot \star \mathbf{u} = - \nabla^2 \psi. \]

Then \[ \mathbf{u} = \sum_{l=1}^\infty \mathbf{u}_l, \quad \mathbf{u}_l = \star \nabla \psi_l, \]

\[ \omega = \sum_{l=1}^\infty \omega_l, \quad \omega_l = \frac{l (l+1)}{a^2} \psi_l. \]

\[ \partial_t \mathbf{u} = - \mathbf{u}\cdot\nabla\mathbf{u} - \nabla\left(\frac{p}{\rho}\right) - (2\Omega \cdot \mathbf{e}_r) \star \mathbf{u} + \nu \left( \Delta \mathbf{u} + \frac{\mathbf{u}}{a^2} \right), \]

\[ \Delta \mathbf{u} = - \star \nabla (\nabla \cdot \star \mathbf{u}) + \frac{\mathbf{u}}{a^2}. \]

To do

  • time evolution of expansion coefficients
  • efficient transformation between physical and harmonic coordinates