surfgeopy Documentation

Welcome to the documentation for surfgeopy, a Python package for calculating surface integrals over smooth embedded manifolds.

Introduction

surfgeopy is an open-source Python package designed for approximating surface integrals over smooth embedded manifolds . It employs curved surface triangulations through k-th order interpolation of the closest point projection. This extends initial linear surface approximations.

Square-Squeezing Technique

The key innovation in surfgeopy lies in the parametrization of triangles \(T_i\) over squares using a square-squeezing technique. This transformative approach reconfigures interpolation tasks of triangulated manifolds to the standard hypercube through a recently introduced cube-to-simplex transformation. This innovative process enhances the accuracy of surface approximations, making surfgeopy a powerful tool for high-fidelity calculations.

Chebyshev-Lobatto Grids

To guarantee stability and accuracy in computations, surfgeopy leverages classic Chebyshev-Lobatto grids. These grids enable the calculation of high-order interpolants for surface geometry while avoiding Runge’s phenomenon, a common issue in numerical analysis.

Lebesgue constant

Figure 1

Lebesgue constants (a) of uniformly spaced points on the triangle, Fekete points, and Chebyshev–Lobatto nodes (b) a visualization of Chebyshev–Lobatto nodes and (c) Fekete points for \(n=8\).

The Lebesgue constant of uniform triangle-grid interpolation tends to rise quickly with increasing polynomial degree. The Lebesgue constant for Chebyshev–Lobatto interpolation increases much slower, while the Lebesgue constant for Fekete points is only marginally worse.

Fekete points are only known up to degree \(18\) in the case of total \(l_1\)-degree interpolation and not for the tensorial \(l_\infty\)-degree.

Surface Approximation Using Polynomial Interpolation

Surface Approximation

Consider an element \(T_i\) on a reference surface \(T\). The core functionality of our surfgeopy revolves around:

  • Define \(\tau_i : \Delta_2 \rightarrow T_i\) and \(\pi_i : T_i \rightarrow S_i\).

  • Set \(\varphi_i : \square_2 \rightarrow S_i\) as \(\varphi_i = \pi_i \circ \tau_i \circ \sigma\) where \(\sigma\) is a mapping from the reference square \(\square_2\) to the reference triangle \(\Delta_2\) (Figure 2).

  • Compute \(Q_{G_{2,k}} \varphi_i\) as the vector-valued tensor-polynomial interpolant of \(\varphi_i\) on the Chebyshev–Lobbatto grid.

  • \(Q_{G_{2,k}} \varphi_i=\sum_{\alpha \in A_{2,k}} b_\alpha N_{\alpha}\) where the coefficients \(b_\alpha \in R\) of the Newton interpolation can be computed in closed form.

By substituting the surface geometry \(\varphi_i\) with Chebyshev–Lobatto interpolants \(Q_{G_{2,k}} \varphi_i\), a closed-form expression for the integral is obtained. This expression can be accurately computed using high-order quadrature rules.

The integral \(\int_S fdS\) is approximated as follows:

\[ \begin{align}\begin{aligned}\sum_{i=1}^K \int_{\square_2} (f \circ \varphi_i)(\mathrm{x}) \sqrt{\det((DQ_{G_{2,k}} \varphi_i(\mathrm{x}))^T DQ_{G_{2,k}} \varphi_i(\mathrm{x}))} d\mathrm{x}\\\approx \sum_{i=1}^K \sum_{\mathrm{p} \in P} \omega_{\mathrm{p}} (f \circ \varphi_i)(\mathrm{p}) \sqrt{\det((DQ_{G_{2,k}} \varphi_i(\mathrm{p}))^T DQ_{G_{2,k}} \varphi_i(\mathrm{p}))}.\end{aligned}\end{align} \]

Then, the approximated integral can now be computed using a quadrature rule. There are two basic options: Either use a quadrature rule for the square domain \(\square_2\) directly (tensorial Gauss–Legendre rules), or use a simplex rule (symmetric Gauss quadrature rule) and pull it back to \(\square_2\) by the inverse of the square-squeezing map \(\sigma\) effectively integrating over the original triangulation \(T_i\) of \(T\)

Square-Triangle Transformation

Square-triangle transformations: Deformations of an equidistant grid (left picture) under Duffy’s transformation (middle picture) and square-squeezing (right picture)

ss_map

Figure 2

Bilinear square–simplex transformations: Deformations of equidistant grids, under Duffy’s transformation (b) and square-squeezing (c).

For details on High-order integration on regular triangulated manifolds through cubical re-parameterizations at the heart of surfgeopy, please consult:

  1. Zavalani, O. Sander and M. Hecht: High-order integration on regular triangulated manifolds reaches super-algebraic approximation rates through cubical re-parameterizations [arXiv]