CONJUGATE FUNCTION METHOD AND CONFORMAL MAPPINGS IN MULTIPLY CONNECTED DOMAINS HARRI HAKULA∗ , TRI QUACH† , AND ANTTI RASILA‡ Abstract. In this paper, we present a generalization of the algorithm from our earlier work, for numerical computation of conformal mappings, on multiply connected domains. An implementation of the algorithm, along with several examples and illustrations are given. Key words. numerical conformal mappings, conformal modulus, multiply connected domains, canonical domains
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
1. Introduction. Conformal mappings play an important role in both theoretical complex analysis and in certain engineering applications, such as electrostatics, aerodynamics and fluid mechanics. Existence of conformal mappings of simply connected domains onto the upper-half plane or the unit disk follows from the Riemann mapping theorem, a well-known result in complex analysis [2], and there are generalizations of this result for doubly and multiply connected domains. However, constructing such mappings analytically is usually very difficult, and use of numerical methods is required. There exists an extensive literature on numerical construction of conformal mappings for simply and doubly connected domains [23]. One popular method is based on the Schwarz-Christoffel formula [11], and its implementation SC Toolbox is due to Driscoll [9, 10]. SC Toolbox itself is based on earlier FORTRAN package by Trefethen [26]. A new algorithm involving a finite element method and the conjugate harmonic function was presented by the authors in [13]. The aim of this paper is to generalize this algorithm to multiply connected domains. While the study of numerical conformal mappings in multiply connected domains dates back to 1980’s [21, 24], recently there has been significant interest in the subject. DeLillo, Elcrat and Pfaltzgraff [8] were the first to give a Schwarz-Christoffel formula for unbounded multiply connected domains. Their method relies on Schwarzian reflection principles. Crowdy [4] was the first to derive a Schwarz-Christoffel formula for bounded multiply connected domains, which was based on the use of Schottky-Klein prime function. The natural extension of this result to unbounded multiply connected domains is given in [5]. It should be noted that a MATLAB implementation of computing the Schottky-Klein prime function is freely available [6], and the algorithm is described in [7]. A method involving the harmonic conjugate function is given in [20], but the approach there differs from ours. The main result (Proposition 3.1) of this paper is the connection between integration of the absolute value of gradient of harmonic solution u over equipotential curve on domain Ω, the value of integration is denoted by C(Ω), and its conjugate problem ˜ These values are connected by the identity C(Ω) · C(Ω) ˜ = 1. Proposition forms Ω. the theoretical foundation to our method. The presented algorithm itself is based on solving numerically the Laplace equation subject to Dirichlet-Neumann mixed-type ∗ Aalto University, Institute of Mathematics, P.O. Box 11100, FI-00076 Aalto, FINLAND (
[email protected]) † Aalto University, Institute of Mathematics, P.O. Box 11100, FI-00076 Aalto, FINLAND (
[email protected]) ‡ Aalto University, Institute of Mathematics, P.O. Box 11100, FI-00076 Aalto, FINLAND (
[email protected])
1
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
boundary conditions. This method is a generalization of the algorithm for simply and doubly connected domains described in [13]. The foundation of the algorithm for simply and doubly connected domains lies on properties of the (conformal) modulus, which originates from the theory of quasiconformal mappings [1, 19, 23]. Our method is suitable for a very general class of domains, which may have curved boundaries and even cusps. The implementation of the algorithm is based on the hp-FEM described in [14], and in [15] it is generalized to cover unbounded domains. In [16], the method has been used to compute a modulus of domains with strong singularities. The rest of the paper is organized as follows: After a brief introduction to canonical domains, the Conjugate Function Method is discussed in detail in Section 3, followed numerical version, and a series of numerical experiments highlighting different features of the methodi in Section 5. Finally, some potential applications, such as quadrilateral mesh generation and design of cubatures, are suggested before concluding remarks. 2. Canonical Domains. The so called canonical domains play a crucial role in the theory of quasiconformal mappings (cf. [19]). These domains have a simple geometric structure. Let us consider a conformal mapping f : D → Ω, where D is a canonical domain, and Ω is the domain of interest. The choice of the canonical domain depends on the connectivity of the domain Ω, and both domains D and Ω have the same connectivity. It should be noted that in the simply and doubly connected cases, domains can be mapped conformally onto each other if and only if their moduli agree, which is given by the energy norm (see e.g. [19]). In this sense, moduli divide domains into conformal equivalence classes. For simply connected domains, natural choices for canonical domains are the unit disk, the upper half-plane and a rectangle. In the case of doubly connected domains an annulus is used as the canonical domain. For m-connected domains, m > 2, we have 3m − 6 different moduli, which leads to various choices of canonical domains. These domains have been studied in [12, 22]. The generalization of Riemann mapping theorem onto multiply connected domains is based on these moduli, see [12, Theorem 3.9.12, 3.9.14].
f
Fig. 2.1: Conformal mappings of a triply connected domain onto an annulus with radial slits on the positive real axis and radial slits.
62 63 64
3. Conjugate Function Method. In this section we introduce the algorithm to construct a conformal mapping from a multiply connected domain onto an annulus with n radial slits on the positive real axis. 2
65 66 67 68
Let E0 , E1 , . . . , Em be disjoint and nondegenerate continua in the extended complex plane C∞ = C ∪ {∞}. Sm Suppose that Ej , j = 1, 2, . . . , m are bounded, and that the a set Ωm+1 = C∞ \ j=0 Ej is connected. Then Ωm+1 is an (m + 1)-connected domain and its (conformal) capacity is defined by ZZ cap Ωm+1 = inf |∇u0 |2 dx dy, u0
69 70 71 72 73 74 75
76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101
102 103 104 105 106 107
108 109
Ωm+1
where the infimum is taken S over all non-negative, piecewise differentiable functions m u0 with compact support in j=1 Ej ∪ Ωm+1 such that u0 = 1 on Ej , j = 1, 2, . . . , m. Suppose that a function u0 is defined on Ωm+1 with 1 on Ej , j = 1, 2, . . . , m and 0 on E0 . Then if u0 is harmonic, it is unique, and it minimizes the above integral. Then a modulus of Ωm+1 is defined by M(Ωm+1 ) = 2π/cap Ωm+1 . If the the degree of connectivity does not play an important role, the subscript will be omitted and we simply write Ω. 3.1. Cutting Process. In order to explain the cutting process in multiply connected domains similar to our work on doubly connected domains [13], we first describe the process for triply connected domains. Let Ω = C∞ \(E0 ∪ E1 ∪ E2 ) and suppose that u is a harmonic solution in Ω such that it attains 0 on E0 and 1 on E1 ∪ E2 . First we cut the domain Ω from ∂E1 to ∂E2 along the steepest descent curve, which is a flowline of the gradient of u, such that it goes through the saddle point that lies between the sets E1 and E2 . Then we cut from ∂E0 to ∂E1 , again along a flowline of the gradient of u. In triply connected domains, the cut between E1 and E2 always exists. In general, if such a cut exists between Ei and Ej , i 6= j, then we say that Ei and Ej are conformally visible to each other. It is easy to see that in a triply connected domain, the sets E1 and E2 are always conformally visible. In general, we cannot, a priori, say which of the sets Ej , j = 1, 2, . . . , m are conformally visible to each other. Fortunately, without loss of generality, we can rename Ej ’s as Ej0 such that Ej0 can be considered as a binary tree of conformally visible sets (cf. Subsection 3.2). The exact numbering of Ej0 is done by using pre-order method of tree search, see Figure 3.1 for an example. For more information about tree search methods, we refer to [3, Sec. 12]. Note that, the rearrangement is not unique, and any arrangement can be used in our algorithm. Obviously, a careful choice leads to easier geometrical configurations and thus reduce the computational workload. For the rest of the article, we assume that Ej , j = 1, 2, . . . , m are arranged such that Ej is a binary tree of conformally visible sets. For j = 1, 2, . . . , m, let γj denote the cut between Ej and its parent node, see Figure 3.1. For γ1 , we use a following definition, γ1+ is the cut when travelling from E0 to E1 and likewise γ1− when we are travelling from E1 to E0 . This distinction is used when the travelling direction between E0 and E1 does matter and becomes clear when the Dirichlet-Neuman problem is defined in Section 3.4. 3.2. Common Saddle Point. In some domains, three or more sets have one common saddle point. Thus, for these sets, the cutting process will produce a cycle and not the binary tree, which we would be expecting. This kind of anomaly can be seen, e.g., in fully symmetric domains, see Figure 3.2, where the common saddle point lies in the middle. Note that, nodes around the common saddle point can form a binary tree or even a cycle of their own depending on their child nodes. 3.3. Jump Between Cutting Curves. Integrating the absolute value of gradient of u through equipotential curves starting from γ1+ to γ1− , we encounter two 3
E00
E0
γ1 E10
E1 E2
renaming
E3
E40
γ4 γ5
γ2 E20
γ8 E4
E5
E7
E80
E6
E50 E70
E8
γ7
E30 γ3 E60 γ6
Fig. 3.1: In above illustration, on the right hand side we have a binary tree of conformally visible sets Ej . By renaming the sets, we have Ej0 shown on the left hand side with the cutting curves γj .
E5 E4 E1
E0
E3 E2 Fig. 3.2: Example of a fully symmetric domain. A simple symmetric case and instead of a binary tree, we obtain a cycle, which is due to the common saddle point in the middle.
110 111 112 113 114 115 116 117 118 119 120
situations. If we take an equipotential curve near ∂E0 then it will enclose all the Ej , j = 1, 2, . . . , m. On the other hand, if we choose an equipotential curve near ∂E1 then it will enclose only E1 . In the latter case, to overcome this enclosing problem we will integrate only to cutting curves defined in Section 3.1. If the integration process hits a cutting curve, we will move along the cutting curve past the saddle point and start the integration again. For (m + 1)-connected domain, the process has up to 2m − 1 jumps, see Figure 3.3 for an example. In the process we form a curve which encloses Ej , j = 1, 2, . . . , m. Note that, e.g., in the case of symmetric domains, we have less than 2m − 1 jumps. Let Γ0 be an equipotential curve near the ∂E0 , then we define a constant d as follows Z C(Ω) = d = |∇u| ds. (3.1) Γ0
121
Let us assume that we have n jumps, then Γj , j = 1, . . . , n are each a part of an 4
Γ2
Γ4
γ2
Γ3
Γ1
Γ2
Γ3
γ3 Γ5 Γ1
γ1
Γ4 γ1
Fig. 3.3: Jump process with 5 total of jumps. The number of jumps depends on symmetricity of the domain, and jump between the cutting curves depends on the branching of the cutting process.
122
equipotential curves and we define Z |∇u| ds.
dj =
(3.2)
Γj 123
By the properties of u, we obtain d=
n X
dj .
j=1
124 125 126 127 128 129 130 131 132
3.4. Dirichlet-Neumann Problem. Let Ω be a domain in the complex plane whose boundary ∂Ω consists of a finite number of regular Jordan curves, so that at every point, except possibly at finitely many points of the boundary, a normal is defined. Let ∂Ω = A ∪ B where A, B both are unions of regular Jordan arcs such that A ∩ B is finite. Let ψA , ψB be real-valued continuous functions defined on A, B, respectively. Find a function u satisfying the following conditions: 1. u is continuous and differentiable in Ω. 2. u(t) = ψA (t), for all t ∈ A. 3. If ∂/∂n denotes differentiation in the direction of the exterior normal, then ∂ u(t) = ψB (t), ∂n
133 134 135 136 137 138 139 140 141
for all t ∈ B.
Suppose that u is the (unique) harmonic solution of the Dirichlet-Neumann problem with mixed boundary values of u equal to 0 on ∂E0 , equal to 1 on ∂Ej , u = u0 on γj , j = 2, 3, . . . , m, and ∂u/∂n = 0 on γ1 . Let v be a conjugate harmonic function of u such that v(Re z˜, Im z˜) = 0, where z˜ is the intersection point of E0 and γ1+ . Then ϕ1 = u + iv is an analytic function, and it maps Ω onto a rectangle Rd = {z ∈ C : 0 < Re z < 1, 0 < Im z < d} minus n − 2 line-segments, parallel to real axis, between points (u(˜ zj ), dj ) and (1, dj ), where z˜j is the saddle point of the corresponding jth jump. In the process we have total of n jumps. See Figure 3.4 for an illustration of a triply connected example. 5
ϕ
scaling exp ◦ rot
Fig. 3.4: Construction of the conformal mapping from domain of interest onto a canonical domain. In the first part, we use algorithm described in Section 3.4. The latter part consist of rotation, scaling and finally mapping with exponential function.
142 143 144 145 146
Let u ˜ be the harmonic solution satisfying following boundary values u ˜ equal to 0 on γ1+ and equal to 1 on γ1− , Neumann conditions ∂ u ˜/∂n = 0 on ∂Ej , j = 0, 1, . . . , m. For the cutting curves γj , j = 2, 3, . . . , m, we have Dirichlet condition and the value is Pm the cumulative sum j=1 dj . On the nth jump, we have on the corresponding cutting curve γj Pn u ˜=
147 148
149 150 151 152 153 154
j=1
d
dj
,
˜ which is also called a conjugate where dj are given by (3.2). This is the problem on Ω, problem of Ω. Note that, if Γ0 is an equipotential curve from γ1+ to γ1− , then we have Z 1 ˜ = C(Ω) |∇˜ u| ds = . d Γ0 Thus we have a following proposition, which have the same nature as the reciprocal identity given in [14]. Proposition 3.1 (Reciprocal identity). Suppose u and u ˜ are the solutions to ˜ respectively. If C(Ω) denotes the integral of the absolute value problems on Ω and Ω, ˜ denotes the of gradient of u over the equipotential curve from γ1+ to γ1− , and C(Ω) same integral for u ˜, then we have a normalized reciprocal identity ˜ = 1, C(Ω) · C(Ω)
155 156 157 158 159 160 161 162 163 164
(3.3)
This reciprocal identity can be used in measuring the relative error of conformal mapping. Lemma 3.2. Let Ω be a multiply connected domain and let u be the harmonic solution of the Dirichlet-Neumann problem. Suppose that v is the harmonic conjugate function of u such that v(Re z˜, Im z˜) = 0, where z˜ is the intersection point of E0 and γ1+ , and d is a real constant given by (3.1). If u ˜ is the harmonic solution of the Dirichlet-Neumann problem associated with the conjugate problem of Ω, then v = d˜ u. Proof. It is clear that v, u ˜ are harmonic. By Cauchy-Riemann equations, we have h∇u, ∇vi = 0. We may assume that the gradient of u does not vanish on ∂Ej , j = 0, 1, . . . , m. Then on ∂E0 , we have n = −∇u/|∇u|, where n denotes the exterior 6
165 166
167 168 169
normal of the boundary. Likewise, we have n = ∇u/|∇u| on ∂Ej , j = 1, 2, . . . , m. Therefore ∂v 1 = h∇v, ni = ± h∇v, ∇ui = 0. ∂n |∇u| On the cutting curves, we have from Cauchy-Riemann Pn equations |∇u| = |∇v|, and from the jumping between cutting curves that d = j=1 dj . These results together imply that on the nth jump, we have on the corresponding cutting curve γj v=
n X
dj .
j=1 170 171 172 173
174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195
Then by the uniqueness theorem for harmonic functions [2, p. 166], we conclude that v = d˜ u. Lastly, the proof of univalency of ϕ1 = u + iv follows from the proof of univalency of f in [13, Lemma 2.3]. 4. Numerical Implementation of the Algorithm. We use the implementation hp-FEM method described in detail in [14]. The strategy for computing the equipotential lines from the canonical domain onto the domain of interest can be found in [13]. The main difference of the above algorithm to our simple and doubly connected cases are cuts between the sets Ej , j = 1, 2, . . . , m, especially locating the saddle point between sets. Even though the problem of finding saddle points efficiently is a research problem currently under investigation, some algorithms for finding such points are known. Due to the nature of our underlying problem of solving Laplace equation, we use the Ridge method proposed by Ionova and Carter [18] to locate the saddle points. To find the actual cutting curve, we bisect ∂Ej , j = 1, . . . , m and move against the gradient of u. By doing so, we search for a point on ∂Ej such that, we end up within a tolerance away from the saddle point. If the cut can be computed analytically, the cut line can be embedded in the mesh and thus the same mesh can be used in both cases. In this favourable situation elemental integration can be done once, and the common blocks can be eliminated in the linear systems as in [13, Section 4.2]. In the general case, where the cutting has to be computed numerically the meshes may vary over large regions and the positive bias from reusing the mesh is lost. In the numerical experiments below we have used different refinements in the two cases in order to test the sensitivity of the algorithm to mild perturbations of the mesh. The numerical algorithm is outlined in Figure 4.1.
196
197 198 199 200 201 202 203 204 205
5. Numerical Experiments. In this section we discuss a series of experiments carefully designed to illustrate different aspects of the algorithm. First we consider cases with symmetries where the cut can be computed analytically, and then a general case with two saddle points (extraordinary points). We are interested in convergence in the energy norm as well as pointwise convergence. For the symmetric cases we can measure convergence in the energy norm in p using the reciprocal relations defined above. This is formalized in the following definition: Definition 5.1 (Reciprocal error). Using Proposition 3.1 we can define two versions of the reciprocal error. First for non-normalized jumps ˜ edr = |1 − C(Ω)/C(Ω)|, 7
(5.1)
1
2 3 4 5 6 7
8
Data: Domain Ω, tolerances i , i = 1, . . . , 4 for the C(Ω), saddle point, cuts, and the reciprocal error, respectively. Discretize the domain Ω, solve u and compute C(Ω) with the desired tolerance 1 ; while True do Locate the saddle points (within tolerance 2 ); Search the cuts (within tolerance 3 ); ˜ solve u ˜ Discretize the domain Ω, ˜, and compute C(Ω); if The reciprocal error is below tolerance 4 then break; Decrease tolerances for the saddle points and the cuts, 2 and 3 , respectively; end Fig. 4.1: High-level description of the numerical algorithm.
206
and second for the normalized ones ˜ enr = |1 − C(Ω)C(Ω)|.
207 208 209
and for convenience an associated error number Definition 5.2 (Error number). Given a reciprocal error e?r , the positive integer ei , ei = |dlog(e?r )e|,
210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228
229 230 231
(5.2)
(5.3)
is referred to as the error number. For the general case the situation is more complicated, however. The cut must be approximated numerically and the related approximation error leads to inevitable consistency error since the jumps depend on the chosen cut. Thus, in order to have a similar confidence in the general case as for the symmetric cases, one should consider a sequence of approximations for the cut as outlined above (Figure 4.1). Here, however, we are content to show via the conformal map that the chosen cut is a reasonable one, and the resulting map has the desired characteristics. Of course, the exact potential functions are not known. However, we can always compute contour plots of the quantities of interest, that is, the absolute values of the derivatives, and get a qualitative idea of the overall performance of the algorithm. Naturally, this also measures the pointwise convergence of the Cauchy-Riemann problem. Data on experiments, including representative numbers for degrees of freedom assuming constant p = 12, is given in Table 5.1c. In all experiments the setup of the geometry is the most expensive part in terms of human effort and time. As is usual in hp-FEM, the computational cost in these relatively small systems is in integration and handling of the sparse systems. The actual computations take minutes on standard desktop hardware using our implementation. 5.1. Reference Cases. First we solve two standard problems up to very high accuracy in order to establish reference results for capacities in cases with symmetries. The domains are shown in Figures 5.1 and 5.2. In both cases the p-version converges 8
(a) Domain
(b) Mesh
(c) Map
Fig. 5.1: Three Disks in Circle: Reference case 1.
(a) Domain
(b) Mesh
(c) Map
Fig. 5.2: Two Disks in Rectangle: Reference case 2.
232 233
234 235 236 237 238 239 240 241 242 243 244 245 246
247 248
249 250 251 252
253 254
exponentially (see Figure 5.3) as expected. The reference values for capacities are given in Table 5.1a. 5.2. Symmetric Case: Three Disks in Circle. Consider a unit circle with three disks of radius = 1/6 placed symmetrically so that their origins lie on a circle of radius = 1/2. As indicated in Figure 5.4a the cut can be computed analytically. The blending function approach used to compute higher order curved elements is very accurate if the element edges meet the curved edges at right angles. This is the reason for the mesh of Figure 5.4b where all edges adjacent to disks have been set optimally. Notice that due to symmetry, the scaled jumps could also be computed analytically. In the numerical experiments only computed values of Table 5.1b are used, however. Since the cut is embedded in the mesh lines, both problems (original and the conjugate) can be solved using the same mesh. In this optimal configuration convergence in reciprocal relation is exponential in p, which is a remarkable result, see Figure 5.5b. Similarly, in Figure 5.5a it is clear that the derivatives have also converged over the whole domain. 5.3. Axisymmetric Cases. In the next two cases we maintain axial symmetry and thus analytic cuts. In both cases the enclosing rectangle R = [−1, 3] × [−1, 1]. 5.3.1. Two Disks in Rectangle. Consider two disks of radius = 1/4 with centres at (0, 0) and (2, 0), respectively. The scaled jumps can be computed analytically, and standard jumps can be verified with the reference case 2 in Table 5.1a. Once again, the reciprocal convergence in p is exponential (see Figure 5.7c). 5.3.2. Disk and Pacman in Rectangle. Next the disk centred at (2, 0) is replaced by a disk with one quarter cut, the so-called pacman. In this case we inten9
10-1
10-2
10-2
10-3 10-4
10-3
10-5
10-4
10-6
10-5
10-7
-6
10-8
10-7
10-9
10
10-10
10-8
10-11
10-9
10-12
10-10
10-13
2
3
4
5
6
7
8
9 10 11 12 13
2
(a) Reference case I: Convergence in p; logplot, error vs p.
3
4
5
6
7
8
9 10 11 12 13
(b) Reference case II: Convergence in p; logplot, error vs p.
Fig. 5.3: Reciprocal identity
Case 1 2
Capacity 1.61245904853 3.48074407477
Error number 12 12
(a) Reference capacities
Experiment Three Disks in Circle Two Disks in Rectangle Disk and Pacman in Rectangle Disk and Two Pacmen in Rectangle
Capacity 9.67475429123 13.922976299110 13.3376294414 14.37(49228053)
Error number 12 12 11 2
(b) Computed capacities
Experiment Three Disks in Circle Two Disks in Rectangle Disk and Pacman in Rectangle Disk and Two Pacmen in Rectangle
Mesh (35, 52, 0, 18) (34,49,0,16) (181,320,4,136) (353, 632, 8, 272)
DOF 2785 2509 20377 40657
(c) FEM-data: Mesh: (nodes, edges, triangles, quads); Degrees of freedom given at p = 12.
Table 5.1: Data on experiments.
255 256 257 258 259 260
tionally break the symmetry between meshes for the two problems. The geometric refinement at the re-entrant corners is done in slightly different ways. The reciprocal convergence in p is exponential, but with different rates at lower and higher values of p. Also, the difference in the number of refinement levels leads to mild consistency error which appears as loss of further convergence at high p (and accuracy). Here the jumps must be computed numerically (and tested against the computed 10
(a) Domain
(b) Mesh
(c) Map
Fig. 5.4: Fully symmetric case.
261
capacity). Jumps are with four decimals: d1 = 3.4808, d2 = 6.3761, d3 = 3.4808.
262
263 264 265
5.4. General Case: Disk and Two Pacmen in Rectangle. The final fully analyzed example in this section is a general one with enclosing rectangle R = [−1, 3]× [−1, 4] and one disk of radius = 1/4 at (0, 1) and two pacmen at (2, 0) and (2, 3). In 11
10-1 10-2 10-3 10-4 10-5 10-6 10-7 10-8 10-9 10-10 10-11 10-12 2
(a) Cauchy-Riemann: |∂u/∂x| and |∂v/∂y|.
Contour lines of
3
4
5
6
7
8
9 10 11 12 13 14
(b) Reciprocal identity: Convergence in p; log-plot, error vs p.
Fig. 5.5: Fully symmetric case
(a) Two Disks in Rectangle
(b) Disk and Pacman in Rectangle
(c) Two Disks in Rectangle: Mesh
(d) Disk and Pacman in Rectangle: Mesh
(e) Two Disks in Rectangle: Map
(f) Disk and Pacman in Rectangle: Map
Fig. 5.6: Axially symmetric cases. 12
1.0
1.0
0.5
0.5
0.0 0.0
-0.5 -0.5
-1.0 0
-1
1
2
(a) Cauchy-Riemann: |∂u/∂x| and |∂v/∂y|.
3
Contour lines of
3
10-4 10-5
10-5 10-6
10-6
-7
10-7
10-8
10-8
10-9 10-10 10
2
Contour lines of
10-3
-3
10-4
10
1
(b) Cauchy-Riemann: |∂u/∂x| and |∂v/∂y|.
10-2 10
0
-1
-1.0
10-9
-11
10-10
10-12
10-11
10-13 2
3
4
5
6
7
8
9 10 11 12 13
2
(c) Two Disks in Rectangle: Reciprocal identity: Convergence in p; log-plot, error vs p.
3
4
5
6
7
8
9 10 11 12 13
(d) Disk and Pacman in Rectangle: Reciprocal identity: Convergence in p; log-plot, error vs p.
Fig. 5.7: Axially symmetric cases.
266 267 268 269 270 271 272 273
this case the cuts cannot be determined analytically. The effect of the cut in relation to the original problem can be seen by comparing the meshes of Figures 5.8a and 5.8b. One of the mesh points or nodes is moved to the saddle point and the corresponding edge has been aligned with the cut. As outlined before, the question of convergence in the reciprocal relation is somewhat ambiguous in this case. The smallest error in the given configuration is 0.00185. The jumps in the derivatives across the cuts are also clearly visible in Figure 5.8d. However, in Figure 5.8c we see how the contour lines do not cross the cuts except at the saddle points. Jumps are with four decimals: d1 = 2.0001, d2 = 4.94015, d3 = 0.09500, d4 = 5.1651, d5 = 2.1746.
274
275 276 277 278
Remark 1. In the Figure 5.8d the contour lines are given without any concern to the problem at hand. It would always be possible to, for instance, interpolate across the cuts and control the error. Here we have wanted to emphasize the effect of the approximate cut. 13
279 280
281 282 283 284
5.5. Final Example. As a final example we consider an axisymmetric case with a pacman from above and a domain bounded by a Bezier curve: 15 2 1 r(t) = 45t6 + 75t4 − 525t2 + 469 + t t2 − 1 , t ∈ [−1, 1]. 640 32 In [13] a ring-domain with the same curve has been considered upto very high accuracy. Notice that the “droplet” is designed so that also the tangents are aligned for parameter values t = ±1, thus the opening angle is 2π requiring strong grading of the mesh. The resulting map is shown in Figure 5.9.
294
6. Discussion. The algorithm presented here has two straightforward applications after minor post-processing: quadrilateral mesh generation and cubature design. The saddle points (extraordinary points) are always nodes of cells with five nodes. These cells can always be further discretized by adding extra nodes. This means that the number of non-optimal cells in terms of orthogonality grows only linearly with the number of saddle points and is practically negligible. However, it is difficult to create cells of equal size, and in particular, all refinements around the saddle points must be compensated with strong grading elsewhere. Nevertheless, the accuracy requirements for domain discretizations tend not to be very high, and we believe that there is great potential for both applications.
295
REFERENCES
285 286 287 288 289 290 291 292 293
296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330
[1] L.V. Ahlfors, Conformal invariants: topics in geometric function theory, McGraw-Hill Book Co., 1973. [2] L.V. Ahlfors, Complex Analysis, An introduction to the theory of analytic functions of one complex variable, Third edition. International Series in Pure and Applied Mathematics. McGraw-Hill Book Co., New York, 1978. [3] T.H. Cormen, C.E. Leiserson, R.L. Rivest, C. Stein, Introduction to Algorithms, The MIT Press, 3rd edition, 2009. [4] D.G. Crowdy, The Schwarz-Christoffel mapping to bounded multiply connected polygonal domains, Proc. R. Soc. Lond. Ser. A Math. Phys. Eng. Sci. 461, no. 2061, 2653– 2678, 2005. [5] D.G. Crowdy, Schwarz-Christoffel mappings to unbounded multiply connected polygonal regions, Math. Proc. Cambridge Philos. Soc. 142, no. 2, 319–339, 2007. [6] D.G. Crowdy, C.C. Green, The Schottky-Klein prime function MATLAB files, http://www2.imperial.ac.uk/~dgcrowdy/SKPrime, 2010. [7] D.G. Crowdy, J.S. Marshall, Computing the Schottky-Klein prime function on the Schottky double of planar domains, Comput. Methods Funct. Theory 7, no. 1, 293– 308, 2007. [8] T.K. DeLillo, A.R. Elcrat, J.A. Pfaltzgraff, Schwarz-Christoffel mapping of multiply connected domains, J. Anal. Math. 94, 17–47, 2004. [9] T.A. Driscoll, A MATLAB Toolbox for Schwarz-Christoffel Mapping, ACM Transactions on Mathematical Software 22, no. 2, 168–186, 1996. [10] T.A. Driscoll, Schwarz-Christoffel toolbox for MATLAB, http://www.math.udel.edu/~driscoll/SC/ [11] T.A. Driscoll, L.N. Trefethen, Schwarz-Christoffel Mapping, Cambridge Monographs on Applied and Computational Mathematics, 8. Cambridge University Press, 2002. [12] H. Grunsky, Lectures on Theory of Functions in Multiply Connected Domains, Vandenhoeck & Ruprecht, 1978. [13] H. Hakula, T. Quach, A. Rasila, Conjugate Function Method for Numerical Conformal Mappings, J. Comput. Appl. Math. 237, no. 1, 340–353, 2013. [14] H. Hakula, A. Rasila, M. Vuorinen, On moduli of rings and quadrilaterals: algorithms and experiments, SIAM J. Sci. Comput. 33, no. 1, 279–302, 2011. [15] H. Hakula, A. Rasila, M. Vuorinen, Computation of exterior moduli of quadrilaterals, Electron. Trans. Numer. Anal. 40, 436–451, 2013. [16] H. Hakula, A. Rasila, M. Vuorinen, Conformal modulus on domains with strong singularities and cusps, manuscript. 14
331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351
[17] C. Hu, Algorithm 785: a software package for computing Schwarz-Christoffel conformal transformation for doubly connected polygonal regions, ACM Transactions on Mathematical Software (TOMS) 24, no. 3, 317–333, Sept. 1998. [18] I.V. Ionova, E.A. Carter, Ridge method for finding saddle points on potential energy surfaces, J. Chem. Phys. 98, no. 8, 6377–6386, 1993. [19] O. Lehto, K.I. Virtanen, Quasiconformal mappings in the plane, Springer, Berlin, 1973. [20] W. Luo, J. Dai, X. Gu, S.-T. Yau, Numerical conformal mapping of multiply connected domains to regions with circular boundaries, J. Comput. Appl. Math. 233, no. 11, 2940-2947, 2010. [21] A. Mayo, Rapid methods for the conformal mapping of multiply connected regions, J. Comput. Appl. Math. 14, no. 1-2, 143–153, 1986. [22] Z. Nehari, Conformal Mapping, McGraw-Hill Book, New York, 1952. [23] N. Papamichael, N.S. Stylianopoulos, Numerical Conformal Mapping: Domain Decomposition and the Mapping of Quadrilaterals, World Scientific Publishing Company, 2010. [24] L. Reichel, A fast method for solving certain integral equations of the first kind with application to conformal mapping, J. Comput. Appl. Math. 14, no. 1-2, 125-142, 1986. [25] R. Schinzinger, P.A.A. Laura, Conformal mapping: methods and applications, Revised edition of the 1991 original. Dover Publications, Inc., Mineola, NY, 2003. [26] L.N. Trefethen, Numerical computation of the Schwarz-Christoffel transformation, SIAM J. Sci. Statist. Comput. 1, no. 1, 82–102, 1980.
15
(a) Domain
(b) Mesh
(c) Map
(d) Cauchy-Riemann: |∂u/∂x| and |∂v/∂y|.
Contour lines of
Fig. 5.8: General case: Disk and Two Pacmen in Rectangle. Contour lines, in d, of derivatives are given without any concern to the problem at hand. Thus jumps across the cut are clearly visible. It is possible to nterpolate across the cuts and control the error. Here we have left the jump to emphasize the effect of the approximate cut.
16
Fig. 5.9: Pacman and Droplet.
17