You are on page 1of 24

2/15/2018

Instructor
Dr. Raymond Rumpf
(915) 747‐6958
rcrumpf@utep.edu

EE 5337
Computational Electromagnetics

Lecture #19

Plane Wave Expansion 
Method (PWEM)
 These notes may contain copyrighted material obtained under fair use rules.  Distribution of these materials is strictly prohibited  
Lecture 19 Slide 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

Lecture 19 Slide 2

1
2/15/2018

Formulation of the Basic 
3D Eigen‐Value Problem

Lecture 19 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 xs z  jk0  r  u y
K x u y  K y u x  jk0  r  s z K xs 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 
    
 Kz 0 K x  u y   jk0  0  r  0  s y 
 K y
 Kx 0   u z   0
 0  r  s z 

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

Lecture 19 Slide 4

2
2/15/2018

Compact Notation
We can write our block matrix equations 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

0
 
 K y 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 
  
Lecture 19 Slide 5

Eliminate the Magnetic Field
We start with the following equations.
     
K  s  jk0  r  u K  u  jk0  r  s
   
Solve for the magnetic field u

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

Substitute expression for u into this equation.

  1 1   
 jk  r  K  s   jk0  r  s
 K    

 0 
Simplify
 1   
K    r  K  s  k02  r  s
   

Lecture 19 Slide 6

3
2/15/2018

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
Ax   Bx [V,D] = eig(A,B);
 1 
A   K   r  K  Notes: 
1. It is possible to reduce this to a 2×2 block 
B   r  matrix equation.  See PWEM Extras lecture.

xs 2. It is more common to see this expressed in 
terms of the magnetic field because it is an 
  k02 ordinary eigen‐value problem.
Lecture 19 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
Lecture 19 Slide 8

4
2/15/2018

k02
Consequences of       Being the Eigen‐Value
k02
The quantity       is really just frequency scaled by the speed of light.

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

We do not know k0 when constructing the eigen‐value problem.

Since we do not know the frequency, it is not possible to build in 
frequency‐dependent material properties (i.e. dispersion) without 
modifying the basic PWEM algorithm.

The basic PWEM cannot incorporate material dispersion.
It must be modified to account for this.  See PWEM Extras.

Lecture 19 Slide 9

Formulation of Efficient 2D
Plane Wave Expansion Method

Lecture 19 Slide 10

5
2/15/2018

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. 

z
y

infinite and uniform
x

Lecture 19 Slide 11

Representing Slab Photonic Crystals
neff,1 neff,2 Step 1 – Analyze vertical cross 
sections of photonic crystal slab as 
1D Slab  slab waveguides.  Calculate the
Waveguide  effective refractive index of each 
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

Lecture 19 Slide 12

6
2/15/2018

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. 
Kz  0
Maxwell’s equations reduce to
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  jk 0   r  u z
Maxwell’s equations have separated into two distinct modes.
E‐Mode H‐Mode
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 y s z  jk0  r  u x K y u z  jk0  r  s x
K xs z  jk0  r  u y K x u z  jk0  r  s y
Lecture 19 Slide 13

2D Eigen‐Value Problems
We can now derive two eigen‐value problems for two dimensional 
devices.

E‐Mode
K x u y  K y u x  jk0  r  s z

K y s z  jk0  r  u x  u x  
j
k0
1
 r  K ys z K  
x r
1 1
K x  K y  r  K y s z 
K x s z  jk0  r  u y  u y 
j
k0
1
 r  K xs z k 2
0  r s z
H‐Mode
K x s y  K y s x  jk0   r  u z

 K   
j 1
K y u z  jk0  r  s x  s x    r  K y u z 1 1
k0 x r K x  K y  r  K y u z
j
 r u z
1
K xu z  jk0  r  s y  s y   r  K xu z k 2
k0 0

Note:  For non‐magnetic materials, 
this mode calculates slower.
Lecture 19 Slide 14

7
2/15/2018

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 are scrambled.

   
   
   
   
   
V  V 
   
   
   
   
   
   
numerical closed form
Lecture 19 Slide 15

Interpreting the Eigen‐Vectors
An eigen‐vector contains the complex amplitudes of all the spatial harmonics (i.e. 
plane waves in our 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 

Lecture 19 Slide 16

8
2/15/2018

Implementation

Lecture 19 Slide 17

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.

 r  &  r 

Lecture 19 Slide 18

9
2/15/2018

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 you can follow to make a 
good 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
Lecture 19 Slide 19

Normalizing the Frequency
k0
We derived our eigen‐value problem so that      (frequency) is the 
eigen‐value.
1
K z  r  K z s  k02  r  s

k0
We think of      as frequency because it is frequency divided by a 
constant.

k0 
c0
It is very useful to scale the eigen‐value to a/0.
a a a
n   k02 
0 2 2 c0
Given a/0, we can easily scale our design to operate at any 
frequency that we want.
Lecture 19 Slide 20

10
2/15/2018

Block Diagram of 2D Analysis
Start

 's Finish

Define Problem
  Calculate Wave 
r  r  ,  r  r  Vector Expansion
k x , pq   x  2 p  x
k y , pq   y  2 q  y
K y , K x  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
E Mode: K   K  K   K  s  k  s
x r
1
x y r
1
y z
2
0 r z

H Mode:  1 1

K x  r  K x  K y  r  K y u z  k02  r  u z
Compute 
Convolution Matrices
ERC = convmat(ER,P,Q); Solve Generalized Eigen‐Value Problem
URC = convmat(UR,P,Q);
Ax  k02 Bx

Compute List of 
Bloch Wave Vectors Scale k0
 a a
 's n   k2
0 2 0

Record Data
Lecture 19 Slide 21

Calculation of 
Photonic Band Diagrams

Lecture 19 Slide 22

11
2/15/2018

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.  



Lecture 19 Slide 23

Band Diagrams (2 of 2)
To construct a band diagram, we make small steps around the perimeter of the 
irreducible Brillouin zone (IBZ) and compute the eigen‐values at each step.  
When we plot all these eigen‐values as a function of , 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 when 
they cross.

Lecture 19 Slide 24

12
2/15/2018

Animation of the Construction of a Band Diagram

Lecture 19 Slide 25

List of Bloch Wave Vectors
Next, we generate an array of Bloch wave vectors that march around 
the perimeter of the IBZ.


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.
Lecture 19
• Do not repeat adjacent points. Slide 26

13
2/15/2018

Animation of Band Calculation & Bloch Waves

Lecture 19 Slide 27

Calculation of 
Isofrequency Contours

Lecture 19 Slide 28

14
2/15/2018

The Band Diagram is Missing Information

Direct lattice: We have an array 
y of air holes in a dielectric with 
n=3.0.

x
M
Reciprocal lattice: We 
construct the band diagram 
by marching around the  y 
X
perimeter of the irreducible 
Brillouin zone.
 
x

The band extremes “almost’ always occur at the key points of symmetry.

But we are missing information from inside the Brilluoin zone.

Lecture 19 Slide 29

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

Lecture 19 Slide 30

15
2/15/2018

IFCs From Second‐Order Band

Index ellipsoids are “isofrequency contours” in k‐space.
Lecture 7 Slide 31

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

Lecture 19 Slide 32

16
2/15/2018

Calculating and Visualizing the IFCs
Isofrequency Contours 
Full Band Data wn from Full Band Data wn

a a
y y
0 0

x x

for nby = 1 : NBY


for nbx = 1 : NBX
pcolor() b = [ Bx(nbx,nby) ; By(nbx,nby) ];
contour()
k0 = pwem2d(...);
wn(nbx,nby) = a*k0/(2*pi);
end
end
Lecture 19 Slide 33

Standard View of IFCs

ya

xa

Lecture 19 Slide 34

17
2/15/2018

Example –
Band diagram for a 2D EBG 
with square symmetry

Lecture 19 Slide 35

Define the Lattice

Extended Lattice 2D Unit Cell

a
r
r

a 1
r  0.35a
 r  9.0

Lecture 19 Slide 36

18
2/15/2018

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

Lecture 19 Slide 37

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

Lecture 19 Slide 38

19
2/15/2018

Compute the Reciprocal Lattice

Direct Lattice Reciprocal Lattice

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

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

Lecture 19 Slide 39

Construct the Brillouin Zone


T2


T1

Lecture 19 Slide 40

20
2/15/2018

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

Lecture 19 Slide 41

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.”

Lecture 19 Slide 42

21
2/15/2018

The Numbers
Typically the lattice constant is normalized to the value of 1.0.
a 1
The direct and reciprocal lattice vectors are
 1   6.28
t1    T1   
0   0 
 0    0 
t2    T2   
1  6.28
The key points of symmetry are

0  3.14  3.14 
  X   M  
0   0  3.14 
Lecture 19 Slide 43

Generate List of  ’s
Next, we generate an array of Bloch wave vectors 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.
Lecture 19
• Do not repeat adjacent points. Slide 44

22
2/15/2018

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(:)));

Lecture 19 Slide 45

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 
Lecture 19 Slide 46

23
2/15/2018

Plot Eigen‐Values Vs. 

k02


Array index of Bloch wave vector 

Lecture 19 Slide 47

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  Bloch wave vector 
the key points of symmetry.  
A picture of the lattice unit cell, 
Notice the spacing between key 
Brillouin zone, IBZ, and key points 
points is consistent lengths 
of symmetry should be shown.
around perimeter of IBZ.
Lecture 19 Slide 48

24

You might also like