You are on page 1of 25

10/28/2019

Advanced Computation:
Computational Electromagnetics

Plane Wave Expansion Method


(PWEM)
1

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

Formulation of the Basic


3D Eigen‐Value Problem

Slide 3

Block Matrix Form


We start with the Fourier‐space Maxwell’s equations in matrix form.
K y u z  K z u y  jk0  r  s x K y s z  K z s y  jk0  r  u x
K z u x  K x u z  jk0  r  s y K z s x  K x s z  jk0  r  u y
K xu y  K y u x  jk0  r  s z K x s y  K y s x  jk0  r  u z

These can be written in block matrix form as

 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

Compact Block Matrix Notation


These equations can be written even more compactly as...
 0 K z K y  u x   r  0 0  s x    

 Kz 0
 
K x  u y   jk0  0  r  
0  s y  K  u  jk0  r  s
 
 K y
 Kx 
0   u z   0
 0  r  s z 

 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

Eliminate the Magnetic Field


Start with the following equations.
     
K  s  jk0  r  u K  u  jk0  r  s
   
Solve for the magnetic field 𝐮

 1 1  
u  r  K  s
jk0

Substitute expression for 𝐮 into second equation.

  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

The 3D Eigen‐Value Problem


The 3D eigen‐value problem in terms of the electric field is
 1   
K   r  K  s  k02  r  s
   
 0  r 1 0 0   r 
K z Ky    0 0  s x 
   1 1     
K    K z
  0 K x   r    0  r  0   r    0  r  0  s  s y 
 K y  
 Kx 0   0 0
1
 r    0 0  r   s z 

This has the form of a generalized eigen‐value problem


 1 
Ax   Bx A  K    r   K 
[V,D] = eig(A,B); B   r  Notes:
1. It is possible to reduce this to a 2×2 block matrix

xs equation. See PWEM Extras lecture.
2. It is more common to see this expressed in terms
  k02 of the magnetic field because it is an ordinary
eigen‐value problem.
Slide 7

Visualizing the Data


Ax  k02 x

 r  K 
   k02 
Eigen‐values are some
property of the modes.
x  Here, it is frequency.

    y  k0 
1
k0
2
k0
3
 k0 N 

  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

Consequences of 𝑘 Being the Eigen‐Value


The quantity k02 is really just frequency scaled by the speed of light.

k0 
c0
In the present formulation, k0 is the eigen‐value so it is the unknown quantity.

k0 is not known when constructing the eigen‐value problem.

Since frequency is not known, it is not possible to build frequency‐dependent material


properties (i.e. dispersion) into the simulation without modifying the basic PWEM algorithm.

The basic PWEM cannot incorporate material dispersion.


It must be modified to account for this. See PWEM Extras.
Slide 9

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.

infinite and uniform


z
y

Slide 11

11

Representing Slab Photonic Crystals


neff,1 neff,2 Step 1 – Analyze vertical cross sections of
photonic crystal slab as slab waveguides.
Calculate the effective refractive index of each
1D Slab Waveguide Analysis cross section.

Step 2 – Build a 2D representation of the photonic


crystal slab using just the effective refractive
indices from Step 1.

3D Slab Photonic Crystal


Be careful to consider the polarization. The
alignment of the electric field must be consistent.

2D Representation
neff,2
neff,1
Slide 12
12

6
10/28/2019

Reduction to Two Dimensions


For the 2D devices described on the previous slide where the waves
are restricted to the plane of the device, the wave has no vector
components in the z‐direction.

Maxwell’s equations reduce to


Kz  0
K y u z  K z u y  jk0  r  s x K y s z  K z s y  jk0  r  u x
K z u x  K x u z  jk0  r  s y K z s x  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

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

Two Distinct Modes


After inspecting the remaining equations, it can be seen that Maxwell’s equations have split
into two independent sets of equations. These correspond to two possible electromagnetic
modes.
E‐Mode
K y u z  jk0  r  s x
K x u z  jk0  r  s y
K x u y  K y u x  jk0  r  s z

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

Two Distinct Modes


After inspecting the remaining equations, it can be seen that Maxwell’s equations have split
into two independent sets of equations. These correspond to two possible electromagnetic
modes.
E‐Mode
K y u z  jk0  r  s x K x u y  K y u x  jk0  r  s z
K x u z  jk0  r  s y K y s z  jk0  r  u x
K x u y  K y u x  jk0  r  s z K xs z  jk0  r  u y

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

Note: For non‐magnetic materials, this mode calculates slower. Slide 16

16

8
10/28/2019

Solution in Homogeneous Unit Cell


For homogeneous unit cells, the A and B matrices of the generalized eigen‐value problem are diagonal. In this
case, the modes have a closed form solution.

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

Interpreting the Eigen‐Vectors


An eigen‐vector contains the complex amplitudes of all the spatial harmonics (i.e. plane waves in the expansion)
for that mode.
The numbers are complex to reflect both magnitude and phase of the spatial harmonics.

 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

PWEM from a User’s Perspective


Given the unit cell of an infinitely periodic lattice and the Bloch wave vector (i.e. wave
direction and spatial period), the PWEM calculates all the modes with these conditions. The
eigen‐values contain the frequencies and the eigen‐vectors contain the fields.

k0,2 i  Eigen-values

Si  Eigen-vectors
2𝜋 i  1 
𝛽⃗
𝜆
Slide 20

20

10
10/28/2019

Choosing the Number of Spatial Harmonics


The only true way to determine the correct number of spatial harmonics is to test for
convergence.
There are, however, some rules of thumb to follow in order to make a good initial guess.
10a
M For each direction.
min
Here are some examples…

M=1 M=1 M=7 M = 15 M = 15 M=7 M = 11


N=7 N = 15 N=1 N=1 N = 15 N=7 N=7

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

Normalizing the Frequency


The eigen‐value problem was derived so that 𝑘 (frequency) is the eigen‐value.
1
K z  r  K z s  k02  r  s

Think of 𝑘 as frequency because it is frequency  divided by a constant c0.



k0 
c0

It is very useful when designing devices to scale the eigen‐value to 𝑎/𝜆 .


a a a
n   k02 
0 2 2 c0

Given a/0, a design can be easily scaled to operate at any frequency that is desired.

Slide 22

22

11
10/28/2019

Block Diagram of 2D Analysis


Start

 's Finish

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

Record Data Slide 23

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

Animation of the Construction of a Band Diagram

Slide 27

27

List of Bloch Wave Vectors


To calculate a band diagram, it is necessary to generate an array of Bloch wave vectors that
march around the perimeter of the IBZ.
M


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

Animation of Band Calculation & Bloch Waves

Slide 29

29

Calculation of
Isofrequency Contours

Slide 30

30

15
10/28/2019

The Band Diagram is Missing Information

Direct lattice: This lattice has an array


y of air holes in a dielectric with 𝑛 3.0.

x
M

Reciprocal lattice: Construct the band


diagram by marching around the perimeter y 
X
of the irreducible Brillouin zone.
  x

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

The Complete Band Diagram


The Full Brillouin Zone
 a

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

IFCs From Second‐Order Band

Index ellipsoids are “isofrequency contours” in k‐space.


Slide 33

33

IFCs From First‐Order Band

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

Calculating and Visualizing the IFCs


Full Band Data wn Isofrequency Contours from Full Band Data wn

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

Standard View of IFCs

ya

xa

Slide 36

36

18
10/28/2019

Example –
Band Diagram for a 2D EBG
with Square Symmetry

Slide 37

37

Define the Lattice


Extended Lattice 2D Unit Cell

a
r
r

a 1
r  0.35a
 r  9.0
Slide 38

38

19
10/28/2019

Build Lattice on a High‐Resolution Grid


Unit Cell High Resolution Grid
512
a
9’s
r
r
512
1’s

a 1
r  0.35a
 r  9.0
Slide 39

39

Construct Convolution Matrices


r(x,y) or UR  r or URC
URC = convmat(UR,P,Q)

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

Compute the Reciprocal Lattice

Direct Lattice Reciprocal Lattice

2 a
a
 2
T2  yˆ
 a
t2  aŷ

t1  ax̂  2
T1  xˆ
a

Slide 41

41

Construct the Brillouin Zone


T2


T1

Slide 42

42

21
10/28/2019

Identify the Irreducible Brillouin Zone


1. Start with the full Brillouin zone. 2. Lattice has left/right symmetry.

3. Lattice has up/down symmetry. 4. Lattice has 90 rotational symmetry.

IBZ

Slide 43

43

Identify the Key Points of Symmetry


M The key points of symmetry are
calculated from a linear
combination of the reciprocal
lattice vectors.

T2  X 0 
 
0 

X  0.5T1
 
 M  0.5T1  0.5T2
T1
Formulas for calculating the key points of symmetry along with their naming convention
can be found in [M. Lax, Symmetry Principles in Solid State and Molecular Physics,
(Dover, New York, 1974). See supplemental notes for Lecture 6 “Periodic Structures.”
Slide 44

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

For Each , Construct KX and KY


Compute kx and ky wave vector expansions along the x and y axes respectively.
2 p
k x  p    x ,i  p    P 2  , , 1, 0,1, ,  P 2 
a kx = bx - 2*pi*p/a;
2 q ky = by - 2*pi*q/a;
k y  q    y ,i  q   Q 2  , , 1, 0,1, , Q 2 
a

Compute wave vector meshgrid() expansion.


k x  p, q  k y  p, q  [ky,kx] = meshgrid(ky,kx);

Form diagonal matrices KX and KY.

Kx Ky KX = diag(sparse(kx(:)));
KY = diag(sparse(ky(:)));

Slide 47

47

Solve Eigen‐Value Problem for Each 


The eigen‐values calculated from this problem are:

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

Plot Eigen‐Values Vs. 

k02


Array index of Bloch wave vector 
Slide 49

49

Generate a Professional Looking Plot


Given a
meaningful title
The frequency axis
has been normalized Band Diagram of a Square Lattice
for easy scaling.

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

You might also like