/ concept-collection / numbl-surfacefun-intro
Sign in
concept-collection / numbl-surfacefun-intro
numbl-surfacefun-intro / README.md
3.7 KBPreviewCodeBlameHistoryRaw

Intro to surfacefun#

An interactive introduction to surfacefun — a package for numerically computing with functions on surfaces, and solving PDEs on them, with high-order accuracy. Everything here runs in your browser through numbl: pick a script on the left and click Run. Each script is self-contained and draws one or more figures (use the figure tabs).

Every script begins with

mip load --install flatironinstitute/flatironinstitute/surfacefun

which fetches surfacefun (and its dependency, Chebfun) on first use.

1. Surface meshes#

A surfacemesh is a collection of high-order quadrilateral patches whose union defines a surface in 3-D.

2. Scalar functions#

A surfacefun is a scalar field on a surfacemesh, built from a handle of the Cartesian coordinates (x,y,z).

3. Vector fields#

A surfacefunv is a three-component vector field over a surfacemesh.

4. Solving PDEs#

surfaceop is a fast direct solver for second-order linear elliptic PDEs on surfaces.

5. Worked examples#

Notes#

The scripts keep the polynomial order and refinement modest so they run quickly in the browser. Raise p and nref for higher accuracy and smoother pictures. The numerics follow the surfacefun documentation at https://surfacefun.readthedocs.io.

How it's deployed#

On every push to main, the workflow in .github/workflows/deploy.yml bundles these files with the numbl browser IDE and publishes the result to GitHub Pages. Edit numbl-project.json to change the title or which file opens first.

moveopenescclose