Professional Documents
Culture Documents
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.
xs 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 k01 k0 2 k03 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.
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 = 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
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.
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