Lecture 6b Plane Wave Expansion Method
Lecture 6b Plane Wave Expansion Method
Lecture 6b Plane Wave Expansion Method
Advanced Computation:
Computational Electromagnetics
Outline
• Formulation of the Basic Eigen‐Value Problem
• 3D
• 2D
• Implementation
• Calculation of Band Diagrams
• Calculation of Isofrequency Contours
• Example – Computing the band diagram for an EBG material with
square symmetry
Slide 2
1
10/28/2019
Slide 3
0 K z K y u x r 0 0 s x 0 K z K y s x r 0 0 u x
Kz 0 K x u y jk0 0 r 0 s y Kz 0 K x s y jk0 0 r 0 u y
K y Kx 0 u z 0 0 r s z K y Kx 0 s z 0 0 r u z
Slide 4
2
10/28/2019
0 K z K y s x r 0 0 u x
K x s y jk0 0 r
0 u y K s jk0 r u
Kz
K y
0
Kx 0 s z 0 0 r u z
u x
s x
u u y
s s y
u z
s z
0 K z Ky r 0 0 r 0 0
K K z
0 K x r 0 r 0 r 0 r 0
K y Kx 0 0 0 r 0 0 r
Slide 5
1 1
u r K s
jk0
1 1
jk r K s jk0 r s
K
0
Simplify
1
K r K s k02 r s
Slide 6
3
10/28/2019
z
Eigen‐vectors are
r A V x1 x 2 pictures of the modes.
V
Intermediate
Inputs to PWEM Data Outputs of PWEM Slide 8
4
10/28/2019
Formulation of Efficient 2D
Plane Wave Expansion Method
Slide 10
10
5
10/28/2019
Two‐Dimensional Devices
For 2D problems, the device is uniform and infinite in the z‐direction and wave propagation
is restricted to the x‐y plane.
Slide 11
11
2D Representation
neff,2
neff,1
Slide 12
12
6
10/28/2019
K yu z jk0 r s x K ys z jk0 r u x
K xu z jk0 r s y K x s z jk0 r u y
K x u y K y u x jk0 r s z K x s y K y s x jk0 r u z
Slide 13
13
H‐Mode
K y s z jk0 r u x
K x s z jk0 r u y
K x s y K y s x jk0 r u z
Slide 14
14
7
10/28/2019
H‐Mode
K y s z jk0 r u x K xs y K y s x jk0 r u z
K x s z jk0 r u y K y u z jk0 r s x
K x s y K y s x jk0 r u z K x u z jk0 r s y
Slide 15
15
2D Eigen‐Value Problems
Two eigen‐value problems can now be derived for two dimensional photonic crystals.
E‐Mode
j 1 j 1
K x u y K y u x jk0 r s z K x r K xs z K y r K y s z jk0 r s z
j k0 k0
K y s z jk0 r u x ux
1
r K y s z
k0
K x s z jk0 r u y
j
K
1
uy
k0
r K xs z x r
1 1
K x K y r K y s z k02 r s z
H‐Mode
j 1 j 1
K x s y K y s x jk0 r u z K x r K x u z K y r K y u z jk0 r u z
j
k
0 0k
K y u z jk0 r s x sx
1
r K y u z
k0
K x u z jk0 r s y
j
K
1
sy
k0
r K xu z x r
1 1
K x K y r K y u z k02 r u z
16
8
10/28/2019
Av Bv 1
V I
A K 2x K 2y r r
B r r I λ B 1A
When solved numerically, the columns of the eigen‐modes may be scrambled.
V V
numerical closed form
Slide 17
17
v1
v
2
v3 v1 v2 v3 v4 v5
v4
v5
v6
v
7
v6 v7 v8 v9 v10
v8
v
9
v10
v11
v12
v v13 v11 v12 v13 v14 v15
v
14
v15
v
16
v17
v18
v16 v17 v18 v19 v20
v19
v20
v21
v22
v
23
v21 v22 v23 v24 v25
v24
v
25 Slide 18
18
9
10/28/2019
Implementation
Slide 19
19
k0,2 i Eigen-values
Si Eigen-vectors
2𝜋 i 1
𝛽⃗
𝜆
Slide 20
20
10
10/28/2019
M = 15 M=1 M=7 M = 21 M = 21 M = 31 M = 21
N=7 N = 25 N=7 N = 21 N = 21 N = 31 N = 13
Slide 21
21
Given a/0, a design can be easily scaled to operate at any frequency that is desired.
Slide 22
22
11
10/28/2019
Define Problem
Calculate Wave
r r , r r Vector Expansion
k pq pT1 qT2
K y , K x diag meshgrid k y , pq , k x , pq
Build Unit Cell on
High Resolution Grid
r x, y and r x, y Build Eigen‐Value Problem 𝐀𝐱 𝑘 𝐁𝐱
1 1
E Mode: A K x r K x K y r K y , B r
1 1
H Mode: A K x r K x K y r K y , B r
Compute
Convolution Matrices
ERC = convmat(ER,P,Q); Solve Generalized Eigen‐Value Problem
URC = convmat(UR,P,Q);
[V,D] = eig(A,B)
Compute List of
Bloch Wave Vectors Scale Eigen‐Value k0
a a
's n k2
0 2 0
23
Calculation of
Photonic Band Diagrams
Slide 24
24
12
10/28/2019
Band Diagrams (1 of 2)
Band diagrams are a compact, but incomplete, means of characterizing the electromagnetic
properties of a periodic structure. Along the horizontal axis is a list of Bloch wave vectors
(direction and period of the Bloch wave). Vertically above each Bloch vector are all of the
frequencies which have a mode with that Bloch wave vector.
Slide 25
25
Band Diagrams (2 of 2)
To construct a band diagram, make small steps around the perimeter of the irreducible Brillouin zone (IBZ) and
compute the eigen‐values at each step. Plot all these eigen‐values as a function of and the points line up to
form continuous “bands.”
CAUTION:
When solved numerically, the order of the
modes will be different for different values of .
For this reason, it is difficult to plot the bands
as continuous lines.
Slide 26
26
13
10/28/2019
Slide 27
27
T2 X
T1
X M
0 0.01 3.13 3.14 3.14 3.14 3.14 3.13 0.01 0
0 0 0 0 0.01 3.13 3.14 3.13 0.01 0
• Use more points in parts of this array that cover longer distances.
• Do not repeat adjacent points. Slide 28
28
14
10/28/2019
Slide 29
29
Calculation of
Isofrequency Contours
Slide 30
30
15
10/28/2019
x
M
The band extremes “almost” always occur at the key points of symmetry.
Information is missing from inside the Brilluoin zone. Perhaps something important is being missed?
Slide 31
31
a
2 c0
ky 0
a
a 0 a
kx
There is an infinite set of eigen‐frequencies a
associated with each point in the Brillouin zone. a 0
0 a x
These form “sheets” as shown at right. y a
Slide 32
32
16
10/28/2019
33
a a
2 c0 2 c0
a a
a 0 a 0
0 a x 0 a x
y a y a
Slide 34
34
17
10/28/2019
a a
y y
0 0
x x
for nby = 1 : NBY
for nbx = 1 : NBX
b = [ Bx(nbx,nby) ; By(nbx,nby) ];
pcolor() k0 = pwem2d(...);
contour()
wn(nbx,nby) = a*k0/(2*pi);
end
end
Slide 35
35
ya
xa
Slide 36
36
18
10/28/2019
Example –
Band Diagram for a 2D EBG
with Square Symmetry
Slide 37
37
a
r
r
a 1
r 0.35a
r 9.0
Slide 38
38
19
10/28/2019
a 1
r 0.35a
r 9.0
Slide 39
39
1’s
r(x,y) or ER r or ERC
9’s
ERC = convmat(ER,P,Q)
1’s
Slide 40
40
20
10/28/2019
2 a
a
2
T2 yˆ
a
t2 aŷ
t1 ax̂ 2
T1 xˆ
a
Slide 41
41
T2
T1
Slide 42
42
21
10/28/2019
IBZ
Slide 43
43
44
22
10/28/2019
The Numbers
Typically the lattice constant is normalized to the value of 1.0.
a 1
The direct and reciprocal lattice vectors are then
1 6.28
t1 T1
0 0
0 0
t2 T2
1 6.28
From these, the key points of symmetry are calculated to be
0 3.14 3.14
X M
0 0 3.14
Slide 45
45
Generate List of ’s
Next, an array of Bloch wave vectors is generated that march around the perimeter of the IBZ.
M
T2 X X M
T1
X M
0 0.01 3.13 3.14 3.14 3.14 3.14 3.13 0.01 0
0 0 0 0 0.01 3.13 3.14 3.13 0.01 0
• Use more points in parts of this array that cover longer distances.
• Do not repeat adjacent points. Slide 46
46
23
10/28/2019
Kx Ky KX = diag(sparse(kx(:)));
KY = diag(sparse(ky(:)));
Slide 47
47
k02
0.00 0.01 3.13 3.14 3.14 3.14 3.14 3.13 0.01 0.00
0.00 0.00 0.00 0.00 0.01 3.13 3.14 3.13 0.01 0.00
X M Slide 48
48
24
10/28/2019
k02
Array index of Bloch wave vector
Slide 49
49
a
n how it is labeled
2 c0
a
how it is used
0
a
k02 how it is calculated
2
2
1
X M
Horizontal axis is labeled with the key points of symmetry. Bloch wave vector
Notice the spacing between key points is consistent with
A picture of the lattice unit cell, Brillouin zone, IBZ,
the segment lengths around the perimeter of the IBZ.
and key points of symmetry should be shown.
Slide 50
50
25