Top Banner
Efficient Numerical Computation of Schwarz-Christoffel Transformations for Multiply Connected Domains Thomas DeLillo, Alan Elcrat, Everett Kropf, John Pfaltzgraff AMMP Workshp Imperial College, London June 2013 E. Kropf, et al. Efficient MCSC June 2013 1 / 36
61

Efficient Numerical Computation of Schwarz-Christoffel Transformations ...dgcrowdy/KropfTalk.pdf · Efficient Numerical Computation of Schwarz-Christoffel Transformations for Multiply

Aug 27, 2018

Download

Documents

duongdan
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Efficient Numerical Computation of Schwarz-Christoffel Transformations ...dgcrowdy/KropfTalk.pdf · Efficient Numerical Computation of Schwarz-Christoffel Transformations for Multiply

Efficient Numerical Computation ofSchwarz-Christoffel Transformations for Multiply

Connected Domains

Thomas DeLillo, Alan Elcrat, Everett Kropf, John Pfaltzgraff

AMMP WorkshpImperial College, London

June 2013

E. Kropf, et al. Efficient MCSC June 2013 1 / 36

Page 2: Efficient Numerical Computation of Schwarz-Christoffel Transformations ...dgcrowdy/KropfTalk.pdf · Efficient Numerical Computation of Schwarz-Christoffel Transformations for Multiply

T. DeLillo, A. Elcrat, E. Kropf and J. Pfalztgraff. “EfficientCalculation of Schwarz-Christoffel Transformations for MultiplyConencted Domains Using Laurent Series.” To appear inComputational Methods and Function Theory.

E. Kropf, et al. Efficient MCSC June 2013 2 / 36

Page 3: Efficient Numerical Computation of Schwarz-Christoffel Transformations ...dgcrowdy/KropfTalk.pdf · Efficient Numerical Computation of Schwarz-Christoffel Transformations for Multiply

Introduction Simply connected

Schwarz-Christoffel(simply connected)

Recall the conformal map from the unit disk in C to the interior of apolygon P ⊂ C is:

f (z) = A∫ z n∏

k=1

(ζ − zk )−βk dζ + B.

Notation:I polygon vertices are wk ,I prevertices on the circle are zk , s.t. wk = f (zk ),I polygon tangent turning angles are βkπ.

The factors of the product are such that

arg∂

∂θf (eiθ)

= p.w. const., with jumps of βkπ at zk .

E. Kropf, et al. Efficient MCSC June 2013 3 / 36

Page 4: Efficient Numerical Computation of Schwarz-Christoffel Transformations ...dgcrowdy/KropfTalk.pdf · Efficient Numerical Computation of Schwarz-Christoffel Transformations for Multiply

Introduction Simply connected

Schwarz-Christoffel(simply connected)

Recall the conformal map from the unit disk in C to the interior of apolygon P ⊂ C is:

f (z) = A∫ z n∏

k=1

(ζ − zk )−βk dζ + B.

Notation:I polygon vertices are wk ,I prevertices on the circle are zk , s.t. wk = f (zk ),I polygon tangent turning angles are βkπ.

The factors of the product are such that

arg∂

∂θf (eiθ)

= p.w. const., with jumps of βkπ at zk .

E. Kropf, et al. Efficient MCSC June 2013 3 / 36

Page 5: Efficient Numerical Computation of Schwarz-Christoffel Transformations ...dgcrowdy/KropfTalk.pdf · Efficient Numerical Computation of Schwarz-Christoffel Transformations for Multiply

Introduction Simply connected

Schwarz-Christoffel(simply connected)

f (z) = A∫ z n∏

k=1

(ζ − zk )−βk dζ + B

Given P, the parameter problem is to find the correct values forzk = eiθk , A, and B such that the side lengths, position, andorientation of the polygon is correct under this formula.SCPACK, Trefethen (1980); SC Toolbox, Driscoll (1996).

E. Kropf, et al. Efficient MCSC June 2013 4 / 36

Page 6: Efficient Numerical Computation of Schwarz-Christoffel Transformations ...dgcrowdy/KropfTalk.pdf · Efficient Numerical Computation of Schwarz-Christoffel Transformations for Multiply

Introduction Multiply connected SC

Schwarz-ChristoffelMultiply connected (unbounded)

C2

r1

c1

C1

C3

z1,2

z2,1

z1,1

Ω

w1,2

Γ1

Γ3

Γ2

w1,1

w2,1w3,1

w4,1

P

f

We conformally map an unbounded domain Ω with m circular holes toan unbounded domain P with m polygonal holes.

E. Kropf, et al. Efficient MCSC June 2013 5 / 36

Page 7: Efficient Numerical Computation of Schwarz-Christoffel Transformations ...dgcrowdy/KropfTalk.pdf · Efficient Numerical Computation of Schwarz-Christoffel Transformations for Multiply

Introduction Multiply connected SC

Form of the map(unbounded case)

(DeLillo, Elcrat and Pfaltzgraff, 2004) The map to an unboundeddomain P with m polygonal holes from a conformally equivalentunbounded domain Ω with m circular holes is given by

f (z) = A∫ z m∏

j=1

Kj∏k=1

∞∏n=0

ν∈σn(j)

(ζ − zk ,νj

ζ − sνj

)βk,j

dζ + B.

I zk,νj are reflections (through circles) of prevertices zk,jI sνj are reflections (through circles) of circle centers sj := cjI ν is a multi-index which tracks reflectionsI βk,jπ are the turning angles of the tangent vectors on the polygons

E. Kropf, et al. Efficient MCSC June 2013 6 / 36

Page 8: Efficient Numerical Computation of Schwarz-Christoffel Transformations ...dgcrowdy/KropfTalk.pdf · Efficient Numerical Computation of Schwarz-Christoffel Transformations for Multiply

Introduction Multiply connected SC

Reflection example

a

a2

a21

a213

C213

a13

a3

C3

C23

C31

C13

C12

C121

C2

C21

C1

C32

C123

C131

Example of a reflected circle domain with m = 3 and N = 2.

E. Kropf, et al. Efficient MCSC June 2013 7 / 36

Page 9: Efficient Numerical Computation of Schwarz-Christoffel Transformations ...dgcrowdy/KropfTalk.pdf · Efficient Numerical Computation of Schwarz-Christoffel Transformations for Multiply

Introduction Multiply connected SC

Convergence conditions

f (z) = A∫ z m∏

j=1

Kj∏k=1

∞∏n=0

ν∈σn(j)

(ζ − zk ,νj

ζ − sνj

)βk,j

dζ + B

A sufficient condition for convergence of the infinite product is∆ < (m − 1)−1/4 where

∆ := maxj,p; j 6=p

rj + rp

|cj − cp|< 1, 1 ≤ j ,p ≤ m.

Far from necessary in practice.

A better indication of convergence:m∑

j=1

∑ν∈σN(j)

rνj

(the sum of the radii of the reflected circles at the N th level ofreflection).

E. Kropf, et al. Efficient MCSC June 2013 8 / 36

Page 10: Efficient Numerical Computation of Schwarz-Christoffel Transformations ...dgcrowdy/KropfTalk.pdf · Efficient Numerical Computation of Schwarz-Christoffel Transformations for Multiply

Introduction Multiply connected SC

Convergence conditions

f (z) = A∫ z m∏

j=1

Kj∏k=1

∞∏n=0

ν∈σn(j)

(ζ − zk ,νj

ζ − sνj

)βk,j

dζ + B

A sufficient condition for convergence of the infinite product is∆ < (m − 1)−1/4 where

∆ := maxj,p; j 6=p

rj + rp

|cj − cp|< 1, 1 ≤ j ,p ≤ m.

Far from necessary in practice.

A better indication of convergence:m∑

j=1

∑ν∈σN(j)

rνj

(the sum of the radii of the reflected circles at the N th level ofreflection).

E. Kropf, et al. Efficient MCSC June 2013 8 / 36

Page 11: Efficient Numerical Computation of Schwarz-Christoffel Transformations ...dgcrowdy/KropfTalk.pdf · Efficient Numerical Computation of Schwarz-Christoffel Transformations for Multiply

Introduction Multiply connected SC

Convergence conditions

f (z) = A∫ z m∏

j=1

Kj∏k=1

∞∏n=0

ν∈σn(j)

(ζ − zk ,νj

ζ − sνj

)βk,j

dζ + B

A sufficient condition for convergence of the infinite product is∆ < (m − 1)−1/4 where

∆ := maxj,p; j 6=p

rj + rp

|cj − cp|< 1, 1 ≤ j ,p ≤ m.

Far from necessary in practice.

A better indication of convergence:m∑

j=1

∑ν∈σN(j)

rνj

(the sum of the radii of the reflected circles at the N th level ofreflection).

E. Kropf, et al. Efficient MCSC June 2013 8 / 36

Page 12: Efficient Numerical Computation of Schwarz-Christoffel Transformations ...dgcrowdy/KropfTalk.pdf · Efficient Numerical Computation of Schwarz-Christoffel Transformations for Multiply

Introduction Multiply connected SC

Problem statement

f (z) = A∫ z m∏

j=1

Kj∏k=1

∞∏n=0

ν∈σn(j)

(ζ − zk ,νj

ζ − sνj

)βk,j

dζ + B

Given P, the parameter problem is to find centers cj , radii rj , andprevertices zk ,j = cj + rjeiθk,j , along with A and B such that theside lengths, positions, and orientations of the polygons arecorrect under this formula.

E. Kropf, et al. Efficient MCSC June 2013 9 / 36

Page 13: Efficient Numerical Computation of Schwarz-Christoffel Transformations ...dgcrowdy/KropfTalk.pdf · Efficient Numerical Computation of Schwarz-Christoffel Transformations for Multiply

Introduction Multiply connected SC

Map preview(unbounded)

−1 0 1 2 3

−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

2.5

−4 −2 0 2 4 6 8

−6

−4

−2

0

2

4

6

Given P, the numerical problem is to find centers cj , radii rj , andprevertices zk ,j = cj + rjeiθk,j , along with A and B such that the sidelengths, positions, and orientations of the polygons are correct underthis formula.

E. Kropf, et al. Efficient MCSC June 2013 10 / 36

Page 14: Efficient Numerical Computation of Schwarz-Christoffel Transformations ...dgcrowdy/KropfTalk.pdf · Efficient Numerical Computation of Schwarz-Christoffel Transformations for Multiply

Introduction Grid plotting

Orthogonal grid

0 2 4 6

−3

−2

−1

0

1

2

3

4

5

6

−4 −3 −2 −1 0 1 2 3 4

−4

−3

−2

−1

0

1

2

3

An orthogonal grid is plotted using the resultant map from the solutionof the parameter problem.

E. Kropf, et al. Efficient MCSC June 2013 11 / 36

Page 15: Efficient Numerical Computation of Schwarz-Christoffel Transformations ...dgcrowdy/KropfTalk.pdf · Efficient Numerical Computation of Schwarz-Christoffel Transformations for Multiply

Introduction Grid plotting

Polar grid

−6 −4 −2 0 2 4 6

−6

−4

−2

0

2

4

6

0 2 4 6

−3

−2

−1

0

1

2

3

4

5

6

Slit map from circle domain is constructed using Laurent seriesbased on boundary behavior.Polar grid is mapped to circle domain by numerical inversion.

E. Kropf, et al. Efficient MCSC June 2013 12 / 36

Page 16: Efficient Numerical Computation of Schwarz-Christoffel Transformations ...dgcrowdy/KropfTalk.pdf · Efficient Numerical Computation of Schwarz-Christoffel Transformations for Multiply

Numerics Parameter problem

Prevertices determine map

Consider the truncated integrand

p(ζ) =m∏

j=1

Kj∏k=1

N∏n=0

ν∈σn(j)

(ζ − zk ,νj

ζ − sνj

)βk,j

Write zk ,j = sj + rjeiθk,j .The map is then determined by

K1 + K2 + · · ·+ Km + 3m

unknown real parameters.

E. Kropf, et al. Efficient MCSC June 2013 13 / 36

Page 17: Efficient Numerical Computation of Schwarz-Christoffel Transformations ...dgcrowdy/KropfTalk.pdf · Efficient Numerical Computation of Schwarz-Christoffel Transformations for Multiply

Numerics Parameter problem

Prevertices determine map

Consider the truncated integrand

p(ζ) =m∏

j=1

Kj∏k=1

N∏n=0

ν∈σn(j)

(ζ − zk ,νj

ζ − sνj

)βk,j

Write zk ,j = sj + rjeiθk,j .

The map is then determined by

K1 + K2 + · · ·+ Km + 3m

unknown real parameters.

E. Kropf, et al. Efficient MCSC June 2013 13 / 36

Page 18: Efficient Numerical Computation of Schwarz-Christoffel Transformations ...dgcrowdy/KropfTalk.pdf · Efficient Numerical Computation of Schwarz-Christoffel Transformations for Multiply

Numerics Parameter problem

Prevertices determine map

Consider the truncated integrand

p(ζ) =m∏

j=1

Kj∏k=1

N∏n=0

ν∈σn(j)

(ζ − zk ,νj

ζ − sνj

)βk,j

Write zk ,j = sj + rjeiθk,j .The map is then determined by

K1 + K2 + · · ·+ Km + 3m

unknown real parameters.

E. Kropf, et al. Efficient MCSC June 2013 13 / 36

Page 19: Efficient Numerical Computation of Schwarz-Christoffel Transformations ...dgcrowdy/KropfTalk.pdf · Efficient Numerical Computation of Schwarz-Christoffel Transformations for Multiply

Numerics Parameter problem

Parameter countfurther determined by normalization

Relax normalization from

f (z) = z + O(1/z), z →∞

(determines circle domain uniquely (Henrici, 1986))

to

f (z) = Cz + D + O(1/z), z →∞

where C and D are determined implicitly

by setting c1 = 0, r1 = 1,and θ1,1 = 0 (one circle is fixed).

This leaves

(K1 − 1) + K2 + · · ·+ Km + (3m − 3) = K1 + · · ·+ Km + 3m − 4

real parameters to determine.

E. Kropf, et al. Efficient MCSC June 2013 14 / 36

Page 20: Efficient Numerical Computation of Schwarz-Christoffel Transformations ...dgcrowdy/KropfTalk.pdf · Efficient Numerical Computation of Schwarz-Christoffel Transformations for Multiply

Numerics Parameter problem

Parameter countfurther determined by normalization

Relax normalization to

f (z) = Cz + D + O(1/z), z →∞

where C and D are determined implicitly

by setting c1 = 0, r1 = 1,and θ1,1 = 0 (one circle is fixed).This leaves

(K1 − 1) + K2 + · · ·+ Km + (3m − 3) = K1 + · · ·+ Km + 3m − 4

real parameters to determine.

E. Kropf, et al. Efficient MCSC June 2013 14 / 36

Page 21: Efficient Numerical Computation of Schwarz-Christoffel Transformations ...dgcrowdy/KropfTalk.pdf · Efficient Numerical Computation of Schwarz-Christoffel Transformations for Multiply

Numerics Parameter problem

Parameter countfurther determined by normalization

Relax normalization to

f (z) = Cz + D + O(1/z), z →∞

where C and D are determined implicitly by setting c1 = 0, r1 = 1,and θ1,1 = 0 (one circle is fixed).

This leaves

(K1 − 1) + K2 + · · ·+ Km + (3m − 3) = K1 + · · ·+ Km + 3m − 4

real parameters to determine.

E. Kropf, et al. Efficient MCSC June 2013 14 / 36

Page 22: Efficient Numerical Computation of Schwarz-Christoffel Transformations ...dgcrowdy/KropfTalk.pdf · Efficient Numerical Computation of Schwarz-Christoffel Transformations for Multiply

Numerics Parameter problem

Parameter countfurther determined by normalization

Relax normalization to

f (z) = Cz + D + O(1/z), z →∞

where C and D are determined implicitly by setting c1 = 0, r1 = 1,and θ1,1 = 0 (one circle is fixed).This leaves

(K1 − 1) + K2 + · · ·+ Km + (3m − 3) = K1 + · · ·+ Km + 3m − 4

real parameters to determine.

E. Kropf, et al. Efficient MCSC June 2013 14 / 36

Page 23: Efficient Numerical Computation of Schwarz-Christoffel Transformations ...dgcrowdy/KropfTalk.pdf · Efficient Numerical Computation of Schwarz-Christoffel Transformations for Multiply

Numerics Parameter problem

Nonlinear conditionsThere are (K1 − 1) + K2 + · · ·+ Km side-length conditions,∣∣∣∣∣A

∫ zk+1,j

zk,j

p(ζ) dζ

∣∣∣∣∣ = |wk+1,j − wk ,j |, (k , j) 6= (1,1)

whereA :=

w2,1 − w1,1∫ z2,1z1,1

p(ζ) dζ

(this fixes one side length, and orientation of Γ1; setting B = w1,1fixes its position).

Note: for convenience we will write

f (zk+1,j)− f (zk ,j) = A∫ zk+1,j

zk,j

p(ζ) dζ.

E. Kropf, et al. Efficient MCSC June 2013 15 / 36

Page 24: Efficient Numerical Computation of Schwarz-Christoffel Transformations ...dgcrowdy/KropfTalk.pdf · Efficient Numerical Computation of Schwarz-Christoffel Transformations for Multiply

Numerics Parameter problem

Nonlinear conditionsThere are (K1 − 1) + K2 + · · ·+ Km side-length conditions,

|f (zk+1,j)− f (zk ,j)| = |wk+1,j − wk ,j |, (k , j) 6= (1,1)

There are 2(m-1) real equations

f (z1,j)− f (z1,1) = w1,j − w1,1, 2 ≤ j ≤ m

to determine the positions of polygons Γ2, . . . , Γm wrt Γ1.There are (m-1) real equations

arg(f (z2,j)− f (z1,j)) = arg(w2,j − w1,j)

to determine the orientation of polygons Γ2, . . . , Γm.Total of K1 + · · ·+ Km + 3m − 4 equations to match the parametercount.

E. Kropf, et al. Efficient MCSC June 2013 15 / 36

Page 25: Efficient Numerical Computation of Schwarz-Christoffel Transformations ...dgcrowdy/KropfTalk.pdf · Efficient Numerical Computation of Schwarz-Christoffel Transformations for Multiply

Numerics Parameter problem

Nonlinear conditionsThere are (K1 − 1) + K2 + · · ·+ Km side-length conditions,

|f (zk+1,j)− f (zk ,j)| = |wk+1,j − wk ,j |, (k , j) 6= (1,1)

There are 2(m-1) real equations

f (z1,j)− f (z1,1) = w1,j − w1,1, 2 ≤ j ≤ m

to determine the positions of polygons Γ2, . . . , Γm wrt Γ1.

There are (m-1) real equations

arg(f (z2,j)− f (z1,j)) = arg(w2,j − w1,j)

to determine the orientation of polygons Γ2, . . . , Γm.Total of K1 + · · ·+ Km + 3m − 4 equations to match the parametercount.

E. Kropf, et al. Efficient MCSC June 2013 15 / 36

Page 26: Efficient Numerical Computation of Schwarz-Christoffel Transformations ...dgcrowdy/KropfTalk.pdf · Efficient Numerical Computation of Schwarz-Christoffel Transformations for Multiply

Numerics Parameter problem

Nonlinear conditionsThere are (K1 − 1) + K2 + · · ·+ Km side-length conditions,

|f (zk+1,j)− f (zk ,j)| = |wk+1,j − wk ,j |, (k , j) 6= (1,1)

There are 2(m-1) real equations

f (z1,j)− f (z1,1) = w1,j − w1,1, 2 ≤ j ≤ m

to determine the positions of polygons Γ2, . . . , Γm wrt Γ1.There are (m-1) real equations

arg(f (z2,j)− f (z1,j)) = arg(w2,j − w1,j)

to determine the orientation of polygons Γ2, . . . , Γm.

Total of K1 + · · ·+ Km + 3m − 4 equations to match the parametercount.

E. Kropf, et al. Efficient MCSC June 2013 15 / 36

Page 27: Efficient Numerical Computation of Schwarz-Christoffel Transformations ...dgcrowdy/KropfTalk.pdf · Efficient Numerical Computation of Schwarz-Christoffel Transformations for Multiply

Numerics Parameter problem

Nonlinear conditionsThere are (K1 − 1) + K2 + · · ·+ Km side-length conditions,

|f (zk+1,j)− f (zk ,j)| = |wk+1,j − wk ,j |, (k , j) 6= (1,1)

There are 2(m-1) real equations

f (z1,j)− f (z1,1) = w1,j − w1,1, 2 ≤ j ≤ m

to determine the positions of polygons Γ2, . . . , Γm wrt Γ1.There are (m-1) real equations

arg(f (z2,j)− f (z1,j)) = arg(w2,j − w1,j)

to determine the orientation of polygons Γ2, . . . , Γm.Total of K1 + · · ·+ Km + 3m − 4 equations to match the parametercount.

E. Kropf, et al. Efficient MCSC June 2013 15 / 36

Page 28: Efficient Numerical Computation of Schwarz-Christoffel Transformations ...dgcrowdy/KropfTalk.pdf · Efficient Numerical Computation of Schwarz-Christoffel Transformations for Multiply

Numerics Parameter problem

Integration paths

0 2 4 6

−3

−2

−1

0

1

2

3

4

5

6

objective function call #152

(m−1)−1/4

= 0.7071 ∆ = 0.7319

−4 −3 −2 −1 0 1 2 3 4

−4

−3

−2

−1

0

1

2

3

Evaluating the side length, position, and orientation conditions involvesintegrating around and between the circles.

E. Kropf, et al. Efficient MCSC June 2013 16 / 36

Page 29: Efficient Numerical Computation of Schwarz-Christoffel Transformations ...dgcrowdy/KropfTalk.pdf · Efficient Numerical Computation of Schwarz-Christoffel Transformations for Multiply

Numerics Parameter problem

Transformationto unconstrained coordinates

The prevertex angles must satisfy the constraintsθ1,j < θ2,j < · · · < θKj ,j , and

∑Kjk=1(θk+1 − θk ) = 2π where

θKj+1,j = θ1,j + 2π.

Following Reppe (1979) we

I set φk,j = θk+1,j − θk,j , k = 1, . . . ,Kj ,I and ψk,j = log φk+1,j

φ1,j, k = 1, . . . ,Kj − 1.

I Given θ1,j , we have θk,j = θ1,j + 2π1+

∑k−2µ=1 eψµ,j

1+∑Kj−1

µ=1 eψµ,j.

The unconstrained angle variables are ψ1,1, . . . , ψK1−1,1 andθ1,j , ψ1,j , . . . , ψKj−1,1 for 2 ≤ j ≤ m.Since also rj > 0, the unconstrained radii are log rj .

E. Kropf, et al. Efficient MCSC June 2013 17 / 36

Page 30: Efficient Numerical Computation of Schwarz-Christoffel Transformations ...dgcrowdy/KropfTalk.pdf · Efficient Numerical Computation of Schwarz-Christoffel Transformations for Multiply

Numerics Parameter problem

Transformationto unconstrained coordinates

The prevertex angles must satisfy the constraintsθ1,j < θ2,j < · · · < θKj ,j , and

∑Kjk=1(θk+1 − θk ) = 2π where

θKj+1,j = θ1,j + 2π.Following Reppe (1979) we

I set φk,j = θk+1,j − θk,j , k = 1, . . . ,Kj ,

I and ψk,j = log φk+1,jφ1,j

, k = 1, . . . ,Kj − 1.

I Given θ1,j , we have θk,j = θ1,j + 2π1+

∑k−2µ=1 eψµ,j

1+∑Kj−1

µ=1 eψµ,j.

The unconstrained angle variables are ψ1,1, . . . , ψK1−1,1 andθ1,j , ψ1,j , . . . , ψKj−1,1 for 2 ≤ j ≤ m.Since also rj > 0, the unconstrained radii are log rj .

E. Kropf, et al. Efficient MCSC June 2013 17 / 36

Page 31: Efficient Numerical Computation of Schwarz-Christoffel Transformations ...dgcrowdy/KropfTalk.pdf · Efficient Numerical Computation of Schwarz-Christoffel Transformations for Multiply

Numerics Parameter problem

Transformationto unconstrained coordinates

The prevertex angles must satisfy the constraintsθ1,j < θ2,j < · · · < θKj ,j , and

∑Kjk=1(θk+1 − θk ) = 2π where

θKj+1,j = θ1,j + 2π.Following Reppe (1979) we

I set φk,j = θk+1,j − θk,j , k = 1, . . . ,Kj ,I and ψk,j = log φk+1,j

φ1,j, k = 1, . . . ,Kj − 1.

I Given θ1,j , we have θk,j = θ1,j + 2π1+

∑k−2µ=1 eψµ,j

1+∑Kj−1

µ=1 eψµ,j.

The unconstrained angle variables are ψ1,1, . . . , ψK1−1,1 andθ1,j , ψ1,j , . . . , ψKj−1,1 for 2 ≤ j ≤ m.Since also rj > 0, the unconstrained radii are log rj .

E. Kropf, et al. Efficient MCSC June 2013 17 / 36

Page 32: Efficient Numerical Computation of Schwarz-Christoffel Transformations ...dgcrowdy/KropfTalk.pdf · Efficient Numerical Computation of Schwarz-Christoffel Transformations for Multiply

Numerics Parameter problem

Transformationto unconstrained coordinates

The prevertex angles must satisfy the constraintsθ1,j < θ2,j < · · · < θKj ,j , and

∑Kjk=1(θk+1 − θk ) = 2π where

θKj+1,j = θ1,j + 2π.Following Reppe (1979) we

I set φk,j = θk+1,j − θk,j , k = 1, . . . ,Kj ,I and ψk,j = log φk+1,j

φ1,j, k = 1, . . . ,Kj − 1.

I Given θ1,j , we have θk,j = θ1,j + 2π1+

∑k−2µ=1 eψµ,j

1+∑Kj−1

µ=1 eψµ,j.

The unconstrained angle variables are ψ1,1, . . . , ψK1−1,1 andθ1,j , ψ1,j , . . . , ψKj−1,1 for 2 ≤ j ≤ m.Since also rj > 0, the unconstrained radii are log rj .

E. Kropf, et al. Efficient MCSC June 2013 17 / 36

Page 33: Efficient Numerical Computation of Schwarz-Christoffel Transformations ...dgcrowdy/KropfTalk.pdf · Efficient Numerical Computation of Schwarz-Christoffel Transformations for Multiply

Numerics Parameter problem

Transformationto unconstrained coordinates

The prevertex angles must satisfy the constraintsθ1,j < θ2,j < · · · < θKj ,j , and

∑Kjk=1(θk+1 − θk ) = 2π where

θKj+1,j = θ1,j + 2π.Following Reppe (1979) we

I set φk,j = θk+1,j − θk,j , k = 1, . . . ,Kj ,I and ψk,j = log φk+1,j

φ1,j, k = 1, . . . ,Kj − 1.

I Given θ1,j , we have θk,j = θ1,j + 2π1+

∑k−2µ=1 eψµ,j

1+∑Kj−1

µ=1 eψµ,j.

The unconstrained angle variables are ψ1,1, . . . , ψK1−1,1 andθ1,j , ψ1,j , . . . , ψKj−1,1 for 2 ≤ j ≤ m.

Since also rj > 0, the unconstrained radii are log rj .

E. Kropf, et al. Efficient MCSC June 2013 17 / 36

Page 34: Efficient Numerical Computation of Schwarz-Christoffel Transformations ...dgcrowdy/KropfTalk.pdf · Efficient Numerical Computation of Schwarz-Christoffel Transformations for Multiply

Numerics Parameter problem

Transformationto unconstrained coordinates

The prevertex angles must satisfy the constraintsθ1,j < θ2,j < · · · < θKj ,j , and

∑Kjk=1(θk+1 − θk ) = 2π where

θKj+1,j = θ1,j + 2π.Following Reppe (1979) we

I set φk,j = θk+1,j − θk,j , k = 1, . . . ,Kj ,I and ψk,j = log φk+1,j

φ1,j, k = 1, . . . ,Kj − 1.

I Given θ1,j , we have θk,j = θ1,j + 2π1+

∑k−2µ=1 eψµ,j

1+∑Kj−1

µ=1 eψµ,j.

The unconstrained angle variables are ψ1,1, . . . , ψK1−1,1 andθ1,j , ψ1,j , . . . , ψKj−1,1 for 2 ≤ j ≤ m.Since also rj > 0, the unconstrained radii are log rj .

E. Kropf, et al. Efficient MCSC June 2013 17 / 36

Page 35: Efficient Numerical Computation of Schwarz-Christoffel Transformations ...dgcrowdy/KropfTalk.pdf · Efficient Numerical Computation of Schwarz-Christoffel Transformations for Multiply

Numerics Parameter problem

System of equations

The above conditions, in terms of the transformed variables, areexpressed as a nonlinear system of equations, F (x) = 0.We use the numerical continuation algorithm (homotopy method)CONTUP, program 3, from a book by Allgower and Georg to solvethis system.In testing, this algorithm was shown to be more robust – lesssensitive to the initial guess – than the nonlinear equation solversin MATLAB.

E. Kropf, et al. Efficient MCSC June 2013 18 / 36

Page 36: Efficient Numerical Computation of Schwarz-Christoffel Transformations ...dgcrowdy/KropfTalk.pdf · Efficient Numerical Computation of Schwarz-Christoffel Transformations for Multiply

Using Series Finite product

Reflection complexity

C2

C3

C1

C21

C23

C32

C31

C13

C12

C121

C123

C132

C131

Note that for m boundary circles and N levels of reflection, there are atotal of

∑Nn=1 m(m − 1)n reflected circles!

E. Kropf, et al. Efficient MCSC June 2013 19 / 36

Page 37: Efficient Numerical Computation of Schwarz-Christoffel Transformations ...dgcrowdy/KropfTalk.pdf · Efficient Numerical Computation of Schwarz-Christoffel Transformations for Multiply

Using Series Finite product

MCSC factors

Write the MCSC map as a finite product of factors

f (z) = A∫ z m∏

j=1

Kj∏k=1

(fk ,j(ζ)

)βk,j dζ + B

where

fk ,j(z) =∞∏

n=0ν∈σn(j)

(z − zk ,νj

z − sνj

).

We will consider evaluating fk ,j without using reflections.

E. Kropf, et al. Efficient MCSC June 2013 20 / 36

Page 38: Efficient Numerical Computation of Schwarz-Christoffel Transformations ...dgcrowdy/KropfTalk.pdf · Efficient Numerical Computation of Schwarz-Christoffel Transformations for Multiply

Using Series Finite product

Boundary behavior

In general let aj be a point (prevertex) on a boundary circle Cj andwrite

faj (z) :=∞∏

n=0ν∈σn(j)

(z − aνj

z − sνj

)

It can be shown this function satisfies the boundary conditions

I∂

∂θarg faj (z) = −1

2for z = cj + rjeiθ ∈ Cj .

I arg faj (z) = const. for z ∈ Cp, p 6= j , and

E. Kropf, et al. Efficient MCSC June 2013 21 / 36

Page 39: Efficient Numerical Computation of Schwarz-Christoffel Transformations ...dgcrowdy/KropfTalk.pdf · Efficient Numerical Computation of Schwarz-Christoffel Transformations for Multiply

Using Series Finite product

Boundary behavior

In general let aj be a point (prevertex) on a boundary circle Cj andwrite

faj (z) :=∞∏

n=0ν∈σn(j)

(z − aνj

z − sνj

)

It can be shown this function satisfies the boundary conditions

I∂

∂θarg faj (z) = −1

2for z = cj + rjeiθ ∈ Cj .

I arg faj (z) = const. for z ∈ Cp, p 6= j , and

E. Kropf, et al. Efficient MCSC June 2013 21 / 36

Page 40: Efficient Numerical Computation of Schwarz-Christoffel Transformations ...dgcrowdy/KropfTalk.pdf · Efficient Numerical Computation of Schwarz-Christoffel Transformations for Multiply

Using Series Finite product

Example MCSC factor

0 0.5 1 1.5 2

−1

−0.5

0

0.5

1

An example of faj computed with N = 5 levels of reflection.Maps the prevertex to the origin and the point at infinity to 1.

E. Kropf, et al. Efficient MCSC June 2013 22 / 36

Page 41: Efficient Numerical Computation of Schwarz-Christoffel Transformations ...dgcrowdy/KropfTalk.pdf · Efficient Numerical Computation of Schwarz-Christoffel Transformations for Multiply

Using Series Finite product

Example MCSC factor

0 0.5 1 1.5 2 2.5

−1

−0.5

0

0.5

1

Note these factors are not maps to canonical slit domains.

E. Kropf, et al. Efficient MCSC June 2013 23 / 36

Page 42: Efficient Numerical Computation of Schwarz-Christoffel Transformations ...dgcrowdy/KropfTalk.pdf · Efficient Numerical Computation of Schwarz-Christoffel Transformations for Multiply

Using Series Construction

Series representationGiven

faj (z) :=∞∏

n=0ν∈σn(j)

(z − aνj

z − sνj

)

writelog faj (z) = log(z − aj)− log(z − sj) + g(z)

where

g(z) =m∑

j=1

∞∑n=1

dn,j

(z − sj)n

(sum of Laurent expansions around each circle).

Thenfaj (z) =

z − aj

z − sjeg(z)

gives faj (aj) = 0 and faj (∞) = 1 as required.

E. Kropf, et al. Efficient MCSC June 2013 24 / 36

Page 43: Efficient Numerical Computation of Schwarz-Christoffel Transformations ...dgcrowdy/KropfTalk.pdf · Efficient Numerical Computation of Schwarz-Christoffel Transformations for Multiply

Using Series Construction

Series representationGiven

faj (z) :=∞∏

n=0ν∈σn(j)

(z − aνj

z − sνj

)

writelog faj (z) = log(z − aj)− log(z − sj) + g(z)

where

g(z) =m∑

j=1

∞∑n=1

dn,j

(z − sj)n

(sum of Laurent expansions around each circle).Then

faj (z) =z − aj

z − sjeg(z)

gives faj (aj) = 0 and faj (∞) = 1 as required.

E. Kropf, et al. Efficient MCSC June 2013 24 / 36

Page 44: Efficient Numerical Computation of Schwarz-Christoffel Transformations ...dgcrowdy/KropfTalk.pdf · Efficient Numerical Computation of Schwarz-Christoffel Transformations for Multiply

Using Series Construction

Boundary conditionImage of Cj (outer boundary)

Consider z = sj + rjeiθ, then

∂θarg faj (z) =

∂θIm

log faj (z)

= Re

z − sj

z − aj− 1 + (z − sj)g′(z)

= −1

2,

and for aj = sj + rjeiθj ,

Re

z − sj

z − aj

= Re

eiθ

eiθ − eiθj

= Re

12− i cot

θ − θj

2

=

12.

E. Kropf, et al. Efficient MCSC June 2013 25 / 36

Page 45: Efficient Numerical Computation of Schwarz-Christoffel Transformations ...dgcrowdy/KropfTalk.pdf · Efficient Numerical Computation of Schwarz-Christoffel Transformations for Multiply

Using Series Construction

Boundary conditionImage of Cj (outer boundary)

Consider z = sj + rjeiθ, then

∂θarg faj (z) =

∂θIm

log faj (z)

= Re

z − sj

z − aj− 1 + (z − sj)g′(z)

= −1

2,

and for aj = sj + rjeiθj ,

Re

z − sj

z − aj

= Re

eiθ

eiθ − eiθj

= Re

12− i cot

θ − θj

2

=

12.

E. Kropf, et al. Efficient MCSC June 2013 25 / 36

Page 46: Efficient Numerical Computation of Schwarz-Christoffel Transformations ...dgcrowdy/KropfTalk.pdf · Efficient Numerical Computation of Schwarz-Christoffel Transformations for Multiply

Using Series Construction

Boundary conditionImage of Cj (outer boundary)

Then, for z ∈ Cj ,∂

∂θarg faj (z) = −1

2becomes

Re

(z − sj)g′(z)

= 0.

E. Kropf, et al. Efficient MCSC June 2013 26 / 36

Page 47: Efficient Numerical Computation of Schwarz-Christoffel Transformations ...dgcrowdy/KropfTalk.pdf · Efficient Numerical Computation of Schwarz-Christoffel Transformations for Multiply

Using Series Construction

Boundary conditionImage of Cp, p 6= j (radial slit)

For z ∈ Cp, p 6= j ,

arg faj (z) = argz − aj

z − sj+ Im g(z) = const.

This gives

Im g(z) = const.− argz − aj

z − sj.

E. Kropf, et al. Efficient MCSC June 2013 27 / 36

Page 48: Efficient Numerical Computation of Schwarz-Christoffel Transformations ...dgcrowdy/KropfTalk.pdf · Efficient Numerical Computation of Schwarz-Christoffel Transformations for Multiply

Using Series Construction

Boundary conditions

Thus in terms of g we have, for

faj (z) =z − aj

z − sjeg(z),

the boundary conditionsI Re

(z − sj )g′(z)

= 0 for z ∈ Cj , and

I Im g(z) = const.− argz − aj

z − sjfor z ∈ Cp, p 6= j .

E. Kropf, et al. Efficient MCSC June 2013 28 / 36

Page 49: Efficient Numerical Computation of Schwarz-Christoffel Transformations ...dgcrowdy/KropfTalk.pdf · Efficient Numerical Computation of Schwarz-Christoffel Transformations for Multiply

Using Series Construction

Discretization

Truncate: g(z) ≈m∑

k=1

N∑n=1

dn,k

(z − sk )n

Pick M points z on each boundary circleDefine

x = [ dn,k ]mN×1

Using z to determine rows and the double sum in g to determinecolumns, based on g define

Fp = [ (z − sk )−n ]M×mN for k = 1, . . . ,m; z ∈ Cp, p 6= j

and based on g′ define

G = [−n(z − sj)(z − sk )−n−1 ]M×mN for z ∈ Cj .

E. Kropf, et al. Efficient MCSC June 2013 29 / 36

Page 50: Efficient Numerical Computation of Schwarz-Christoffel Transformations ...dgcrowdy/KropfTalk.pdf · Efficient Numerical Computation of Schwarz-Christoffel Transformations for Multiply

Using Series Construction

Discretization

Truncate: g(z) ≈m∑

k=1

N∑n=1

dn,k

(z − sk )n

Pick M points z on each boundary circle

Definex = [ dn,k ]mN×1

Using z to determine rows and the double sum in g to determinecolumns, based on g define

Fp = [ (z − sk )−n ]M×mN for k = 1, . . . ,m; z ∈ Cp, p 6= j

and based on g′ define

G = [−n(z − sj)(z − sk )−n−1 ]M×mN for z ∈ Cj .

E. Kropf, et al. Efficient MCSC June 2013 29 / 36

Page 51: Efficient Numerical Computation of Schwarz-Christoffel Transformations ...dgcrowdy/KropfTalk.pdf · Efficient Numerical Computation of Schwarz-Christoffel Transformations for Multiply

Using Series Construction

Discretization

Truncate: g(z) ≈m∑

k=1

N∑n=1

dn,k

(z − sk )n

Pick M points z on each boundary circleDefine

x = [ dn,k ]mN×1

Using z to determine rows and the double sum in g to determinecolumns, based on g define

Fp = [ (z − sk )−n ]M×mN for k = 1, . . . ,m; z ∈ Cp, p 6= j

and based on g′ define

G = [−n(z − sj)(z − sk )−n−1 ]M×mN for z ∈ Cj .

E. Kropf, et al. Efficient MCSC June 2013 29 / 36

Page 52: Efficient Numerical Computation of Schwarz-Christoffel Transformations ...dgcrowdy/KropfTalk.pdf · Efficient Numerical Computation of Schwarz-Christoffel Transformations for Multiply

Using Series Construction

Discretization

Truncate: g(z) ≈m∑

k=1

N∑n=1

dn,k

(z − sk )n

Pick M points z on each boundary circleDefine

x = [ dn,k ]mN×1

Using z to determine rows and the double sum in g to determinecolumns, based on g define

Fp = [ (z − sk )−n ]M×mN for k = 1, . . . ,m; z ∈ Cp, p 6= j

and based on g′ define

G = [−n(z − sj)(z − sk )−n−1 ]M×mN for z ∈ Cj .

E. Kropf, et al. Efficient MCSC June 2013 29 / 36

Page 53: Efficient Numerical Computation of Schwarz-Christoffel Transformations ...dgcrowdy/KropfTalk.pdf · Efficient Numerical Computation of Schwarz-Christoffel Transformations for Multiply

Using Series Construction

Approximateboundary conditions

ConsiderI Fp = FRp + iFIp ,

I G = GR + iGI , and

I x = xR + ixI .

This givesI Im g(z) ≈ FIp xR + FRp xI

I Re

(z − sj )g′(z)≈ GRxR −GIxI

E. Kropf, et al. Efficient MCSC June 2013 30 / 36

Page 54: Efficient Numerical Computation of Schwarz-Christoffel Transformations ...dgcrowdy/KropfTalk.pdf · Efficient Numerical Computation of Schwarz-Christoffel Transformations for Multiply

Using Series Construction

Approximateboundary conditions

ConsiderI Fp = FRp + iFIp ,

I G = GR + iGI , and

I x = xR + ixI .

This givesI Im g(z) ≈ FIp xR + FRp xI

I Re

(z − sj )g′(z)≈ GRxR −GIxI

E. Kropf, et al. Efficient MCSC June 2013 30 / 36

Page 55: Efficient Numerical Computation of Schwarz-Christoffel Transformations ...dgcrowdy/KropfTalk.pdf · Efficient Numerical Computation of Schwarz-Christoffel Transformations for Multiply

Using Series Construction

Linear systembasis matrices

In light of FIpxR + FRpxI and GRxR −GIxI , define

A =

FI1 FR1...

...FIj−1 FRj−1

GR −GIFIj+1 FRj+1

......

FIm FRm

mM×2mN

E. Kropf, et al. Efficient MCSC June 2013 31 / 36

Page 56: Efficient Numerical Computation of Schwarz-Christoffel Transformations ...dgcrowdy/KropfTalk.pdf · Efficient Numerical Computation of Schwarz-Christoffel Transformations for Multiply

Using Series Construction

Constant argumentfor radial slits

Im g(z) = const.− argz − aj

z − sj

For the images of radial slits, that is for any two z1, z2 ∈ Cp, p 6= j ,we can say Im

faj (z2)− faj (z1)

= 0.

So define

P =

−1 1

−1 1. . . . . .

−1 1

(M−1)×M

E. Kropf, et al. Efficient MCSC June 2013 32 / 36

Page 57: Efficient Numerical Computation of Schwarz-Christoffel Transformations ...dgcrowdy/KropfTalk.pdf · Efficient Numerical Computation of Schwarz-Christoffel Transformations for Multiply

Using Series Construction

Constant argumentfor radial slits

Im g(z) = const.− argz − aj

z − sj

For the images of radial slits, that is for any two z1, z2 ∈ Cp, p 6= j ,we can say Im

faj (z2)− faj (z1)

= 0.

So define

P =

−1 1

−1 1. . . . . .

−1 1

(M−1)×M

E. Kropf, et al. Efficient MCSC June 2013 32 / 36

Page 58: Efficient Numerical Computation of Schwarz-Christoffel Transformations ...dgcrowdy/KropfTalk.pdf · Efficient Numerical Computation of Schwarz-Christoffel Transformations for Multiply

Using Series Construction

Linear systemmultiplier

Define also

E =

P. . .

PI

P. . .

P

(M(m−1)+1)×mM

where I is in the j th block-row.

E. Kropf, et al. Efficient MCSC June 2013 33 / 36

Page 59: Efficient Numerical Computation of Schwarz-Christoffel Transformations ...dgcrowdy/KropfTalk.pdf · Efficient Numerical Computation of Schwarz-Christoffel Transformations for Multiply

Using Series Construction

Linear system

Then

EA[xRxI

]= −E

arg z−ajz−sj...0...

arg z−ajz−sj

mM×1

gives the coefficients of g.This linear system must be solved for each prevertex,fk ,j(z) =

z−zk,jz−sj

eg(z), which seems like a lot of work, but. . .

E. Kropf, et al. Efficient MCSC June 2013 34 / 36

Page 60: Efficient Numerical Computation of Schwarz-Christoffel Transformations ...dgcrowdy/KropfTalk.pdf · Efficient Numerical Computation of Schwarz-Christoffel Transformations for Multiply

Using Series Construction

10-connected example

−2 0 2 4 6

−4

−2

0

2

4

6

−6 −4 −2 0 2 4 6

−4

−2

0

2

4

6

Takes over 5 hours using the reflection method, N = 4.Done in around 5 minutes using the series method.

E. Kropf, et al. Efficient MCSC June 2013 35 / 36

Page 61: Efficient Numerical Computation of Schwarz-Christoffel Transformations ...dgcrowdy/KropfTalk.pdf · Efficient Numerical Computation of Schwarz-Christoffel Transformations for Multiply

Conclusion

Questions?

E. Kropf, et al. Efficient MCSC June 2013 36 / 36