I'd like to solve some PDEs on manifolds, say for example an elliptic equation on a sphere.

Where do I start? I'd like to find something that use preexisting code/libraries in 2d , nothing so fancy (for the moment)

Added Later : Articles and reports are welcome.

  • $\begingroup$ Are you familiar with Finite Element Methods already? Have you programmed the method before? $\endgroup$
    – nicoguaro
    Feb 27 '15 at 23:12
  • 2
    $\begingroup$ I've taken courses on advanced Fem methods and in CFD, mostly used Freefem and I've a decent knowledge of C++ $\endgroup$
    – J.C.
    Feb 27 '15 at 23:21
  • $\begingroup$ Your title says you want to use finite elements, but your question doesn't mention it. If you're open to other types of methods, there are some interesting possibilities. $\endgroup$ Feb 28 '15 at 9:51
  • 1
    $\begingroup$ @DavidKetcheson I'm interested in FEMs and all the (extremely useful) answers are in this direction, but your comment arouse my curiosity. Perhaps this post can be expanded to something more (community wiki?!) $\endgroup$
    – J.C.
    Feb 28 '15 at 16:20
  • $\begingroup$ The answers are in that direction because you restricted the scope in the title. $\endgroup$ Mar 1 '15 at 7:39

I think you start by looking at something like FEniCS. Marie Rognes has a presentation with code examples and a paper discussing the theory and implementation.

libMesh is supposed to be able to do something similar for 2-manifolds in 3-space, and so is deal.II, judging from this manuscript.

Developers of deal.II and FEniCS answer questions on SciComp, and would be able to provide more detailed answers; I'm not sure if libMesh developers also view the site, but I think we have a few libMesh users that answer questions.


As Geoff already points out, deal.II (http://www.dealii.org) does support solving equations on surfaces. There is even a tutorial program, step-34, that demonstrates how one does so -- although it shows how to solve an integral equation on the sphere, not a differential equation. The main reason why it shows something more complicated than a differential equation is because solving differential equations on the sphere works exactly the same way as it does on a planar geometry, which is demonstrated in the previous 33 tutorial programs :-)


Besides the following survey article

Gerhard Dziuk and Charles M. Elliott (2013). Finite element methods for surface PDEs. Acta Numerica, 22, pp 289­396 doi:10.1017/S0962492913000056,


Michael Holst (2001). Adaptive numerical treatment of elliptic systems on manifolds. Advances in Computational Mathematics, 15, pp. 139-191,

which describes a software package for an adaptive finite element method on surfaces. The package itself can be downloaded from http://fetk.org/codes/mc/.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.