Chapter 4 A Priori Error Analysis of DG Methods on Surfaces
4.5 Numerical tests
4.5.1 Implementation aspects
In the following numerical tests we will restrict our attention to the (symmetric) surface IP method (4.10) with the penalty parameter α chosen to be equal to 10. This surface DG method has been implemented using DUNE-FEM, a discretisa- tion module based on the Distributed and Unified Numerics Environment (DUNE), (further information about DUNE can be found inBastian et al. [2008b], Bastian et al.[2008a] andBastian et al.[2012]). DG methods are well tested for the DUNE- FEM module, as shown inDedner et al. [2010],Brdar et al. [2012], but only simple schemes have been tested for surface PDEs (further information about the DUNE- FEM module can be found in Dedner et al. [2010] and Dedner et al. [2012]). The initial grid generation for each test case is performed using the 3D surface grid gen- eration module of the Computational Geometry and Algorithms Library (CGAL) (seeRineau and Yvinec[2009]).
The efficient computation of the surface lifting ξ and the signed distance function d are central to implementing the surface DG methods analysed in the previous sections; namely for performing grid refinements, as newly created nodes have to be surface lifted onto Γ. However, only in a very few cases is d available explicitely (for example,d(x) =|x| −Rfor a sphere of radiusR). Even for relatively simple surfaces such as ellipsoids, an explicit expression fordis not available and so bothξ and dmust be approximated. Since dis assumed to be smooth and we need to be concerned only about starting points sufficiently close to Γ, standard methods of nonlinear optimisation (based on the more general/availablelevel-set description
φof the surface) to approximate dare, in principle, applicable.
Two different algorithms, developed and discussed in Demlow and Dziuk
[2008], have been tested for such problems: one being Newton’s method and the other being an ad-hoc first-order method. Before describing the methods, we note a
relationship which we shall use in our algorithms. Forx∈U,φ(x) =Rd(x)
0 ∇φ(ξ(x)+ tν(x))·ν(x) dt=d|∇φ(x)|+O(d2). Thus,
d(x)≈ φ(x)
|∇φ(x)|. (4.56)
Next, we describe the implementation of Newton’s method. Assume that
x0 ∈ U and that we wish to compute ξ(x0). The Newton method seeks to find a
stationary point of the functionF(x, λ) =|x−x0|2+λφ(x) where φis the level-set
function of Γ (and not necessarily a signed distance function). Note that∇F(x, λ) = (2(x−x0) +λ∇φ(x), φ(x)). Thus ∇F(x, λ) = 0 implies that x ∈ Γ and (x−x0)
is parallel to ∇φ(x), that is, x = ξ(x0). In order to choose a starting point, we
note that 2(x−x0) +λ∇φ(x) = 0 implies that λ= |∇2dφ((xx00))|. Using (4.56), we thus choose the starting value (x0, λ0) = (x0,2φ(x0)/|∇φ(x0)|2). Given a tolerance tol,
we iterate Newton’s method until
φ(x)2 |∇φ(x)|2 + ∇φ(x) |∇φ(x)|+sign(φ(x0)) x−x0 |x−x0| 2!1/2 < tol (4.57)
is reached. Fulfillment of this stopping criteria guarantees that the returned value
x ≈ ξ(x0) lies in the correct direction from x0 to within tol and that, because of
(4.56),d(x)< tolup to higher-order terms.
The first-order algorithm detailed in Demlow and Dziuk [2008] may be de- scribed as follows: sinceξ(x) =x−d(x)ν(x), we may use (4.56) and ν(x)≈ |∇∇φφ((xx))|
to approximate ξ by ξ(x) ≈ x− φ|∇(xφ)∇(xφ)(|x2). Iterating this relationship leads to an
algorithm which converges to some point on Γ but no generally toξ(x). We thus correct the directionx−x0 at each step, yielding the following algorithm.
1. Stipulatetoland x0 and initialisex=x0.
2. While (4.57) is not satisfied, iterate the following steps:
(a) Calculate ˜x=x−φ|∇(xφ)∇(xφ)(|x2) and dist=sign(φ(x0))|x˜−x0|.
(b) Setx=x0−dist|∇∇φφ(˜(˜xx))|.
For both algorithms, we additionally choose to approximate the entries of
∇φ(x) via second order finite difference approximations for a more generic imple- mentation. It was observed inDemlow and Dziuk[2008] that in practice the second of the two algorithms was more efficient due to the fact that each step of Newton’s method is relatively expensive. This was observed in practice and, as such, the numerical tests discussed below make use of the first-order algorithm.
tion of test problems on surfaces. Computing the Laplace-Beltrami operator of some given function over an arbitrary compact smooth and oriented surface inR3 given
by the zero level-set of some function is tedious and requires changing the imple- mentation for every such surface. In particular, we would need to explicitly compute the outward unit normal of the surface and its gradient whenever we consider a new surface. For anyu∈C2(R3), we have that
∆Γu= ∆u−ν· ∇2uν−tr(∇ν)∇u·ν (4.58)
where ∆ is the usual Euclidean Laplace operator inR3,∇2u∈R3×3the (Euclidean)
Hessian of u, ∇u the (Euclidean) gradient ofu and finally tr(∇ν) the trace of ∇ν
where∇ν ∈R3×3 whose entries are the (Euclidean) partial derivatives of each com-
ponent of the normal. We can make use of the ad-hoc first-order algorithm described previously to approximate the outward unit normal ν of Γ in (4.58): this is done by computing ν(ξ(x0)) ≈ sign(φ(x0))
˜ ξ(x0)−x0
|ξ˜(x0)−x0| where ˜ξ(x0) is the approximation
of ξ(x0) resulting from the algorithm . We may also approximate the (diagonal)
entries of ∇ν via second-order finite difference approximations as done for the ap- proximation of∇φin the first-order algorithm. Such a generic implementation has the benefit of only requiring input of the level-set function for the surface and noth- ing more, significantly facilitating numerical tests. Although we omit a rigorous error analysis of such an approximation of the Laplace-Beltrami operator, the error caused by such an approximation appears not to affect the resulting convergence orders for all of the test cases considered below.