Solving PDE on the sphere

Hi,

I would like to study some PDEs on the sphere and compute the spectrum of infinitesimal generator of Markov processes. It seems that HarmonicOrthogonalPolynomials is a very good start because it provides that Laplace Beltrami operator :smiley: and because it would be quite precise.

In effect, I want to study the spectrum of
\Delta_{\mathbb S^2} + \nabla_{\mathbb S^2} U\cdot \nabla_{\mathbb S^2}

However, I do not find a nabla \nabla_{\mathbb S^2} operator. Is this hidden somewhere or in another package?

1 Like

I am not aware of something finished which you can just call and get the analysis done in Julia. However, you can use finite elements to analyze the spectrum of operators of spheres. You could start by stripping down the reactive surface example here Reactive surface · Ferrite.jl to assemble a discrete version of your operator. You can then analyze the spectrum of the discretized operator (i.e. the sparse matrix), e.g. using ARPACK Home · Arpack.jl . It might not the optimal way to do the analysis, but you can probably get to some results in a short amount of time.

2 Likes

Thank you for the reference. How do I know that the diffusion is the Laplace Beltrami operator in your example?

Hi Romain, if you’re working in R^2 or R^3, then GitHub - bcube-project/Bcube.jl might also suit your needs. You can checkout this example of a heat equation on a sphere with FEM (or this example for transport equations with DG).

2 Likes

Just adding to the thread that Meshes.jl provides laplacematrix for all kinds of meshes. If you are mostly interested in extracting these matrices for further analysis with matrix algorithms, that should be straightforward:

You can use Chebyshev spectral expansion in \theta and Fourier spectral expansion in \varphi to discretize PDEs on the sphere.