25
10/28/2019 1 Advanced Computation: Computational Electromagnetics Plane Wave Expansion Method (PWEM) Outline Formulation of the Basic EigenValue 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 2

Plane Wave Expansion (PWEM)...URC = convmat(UR,P,Q); [V,D] = eig(A,B) Slide 24 Calculation of Photonic Band Diagrams 23 24 10/28/2019 13 Band Diagrams (1 of 2) Slide 25 Band diagrams

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

10/28/2019

1

Advanced Computation:

Computational Electromagnetics

Plane Wave Expansion Method (PWEM)

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

2

10/28/2019

2

Slide 3

Formulation of the Basic 3D Eigen‐Value Problem

Block Matrix Form

Slide 4

0 r

0 r

0 r

y z z y x

z x x z y

x y y x z

jk

jk

jk

K u K u s

K u K u s

K u K u s

0 r

0 r

0 r

y z z y x

z x x z y

x y y x z

jk

jk

jk

K s K s u

K s K s u

K s K s u

We start with the Fourier‐space Maxwell’s equations in matrix form.

These can be written in block matrix form as

r

0 r

r

z y x x

z x y y

y x z z

jk

0 K K u 0 0 s

K 0 K u 0 0 s

K K 0 u 0 0 s

r

0 r

r

z y x x

z x y y

y x z z

jk

0 K K s 0 0 u

K 0 K s 0 0 u

K K 0 s 0 0 u

3

4

10/28/2019

3

Compact Block Matrix Notation

Slide 5

These equations can be written even more compactly as...

0 rjk K u s

r

0 r

r

z y x x

z x y y

y x z z

jk

0 K K s 0 0 u

K 0 K s 0 0 u

K K 0 s 0 0 u

r

0 r

r

z y x x

z x y y

y x z z

jk

0 K K u 0 0 s

K 0 K u 0 0 s

K K 0 u 0 0 s

r

r r

r

0 0

0 0

0 0

0 rjk K s u

z y

z x

y x

0 K K

K K 0 K

K K 0

x

y

z

s

s s

s

x

y

z

u

u u

u

r

r r

r

0 0

0 0

0 0

Eliminate the Magnetic Field

Slide 6

Start with the following equations.

0 rjk K u s 0 rjk K s u

Solve for the magnetic field 𝐮

1

r0

1

jk

u K s

Substitute expression for 𝐮 into second equation.

1

r 0 r0

1jk

jk

K K s s

1 2r 0 rk

K K s s

Simplify

5

6

10/28/2019

4

The 3D Eigen‐Value Problem

Slide 7

The 3D eigen‐value problem in terms of the electric field is

1 2r 0 rk

K K s s

z y

z x

y x

0 K K

K K 0 K

K K 0

1

r

1 1

r r

1

r

0 0

0 0

0 0

x

y

z

s

s s

s

This has the form of a generalized eigen‐value problem

Ax Bx[V,D] = eig(A,B);

1

r

r

20k

A K K

B

x s

Notes: 1. It is possible to reduce this to a 2×2 block matrix 

equation.  See PWEM Extras lecture.2. It is more common to see this expressed in terms 

of the magnetic field because it is an ordinary eigen‐value problem.

r

r r

r

0 0

0 0

0 0

Visualizing the Data

Slide 8

20kAx x

r

r

x

y

z

Inputs to PWEM

K

A

Intermediate Data

20k

1 2V x x

10k

20k

30k

0Nk

Eigen‐values are some property of the modes.  Here, it is frequency.

Eigen‐vectors are pictures of the modes.

V

Outputs of PWEM

7

8

10/28/2019

5

Consequences of 𝑘 Being the Eigen‐Value

Slide 9

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

00

kc

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 10

Formulation of Efficient 2DPlane Wave Expansion Method

9

10

10/28/2019

6

Two‐Dimensional Devices

Slide 11

For 2D problems, the device is uniform and infinite in the z‐direction and wave propagation is restricted to the x‐y plane. 

x

y

z

infin

ite an

d unifo

rm

Representing Slab Photonic Crystals

Slide 12

eff,1n eff,2n

eff,1n eff,2n

3D Slab Photonic Crystal

2D Representation

1D Slab Waveguide Analysis

Step 1 – Analyze vertical cross sections of photonic crystal slab as slab waveguides.  Calculate the effective refractive index of each cross section.

Step 2 – Build a 2D representation of the photonic crystal slab using just the effective refractive indices from Step 1.

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

11

12

10/28/2019

7

0 r

0 r

0 r

y z x

x z y

x y y x z

jk

jk

jk

K s u

K s u

K s K s u

0 r

0 r

0 r

y z x

x z y

x y y x z

jk

jk

jk

K u s

K u s

K u K u s

Reduction to Two Dimensions

Slide 13

y z z yK u K u 0 r x

z x

jk s

K u

0 r

0 r

x z y

x y y x z

jk

jk

K u s

K u K u s

y z z yK s K s 0 r x

z x

jk u

K s

0 r

0 r

x z y

x y y x z

jk

jk

K s u

K s K s u

z K 0Maxwell’s equations reduce to

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. 

0 rx y y x zjk K s K s u

0 ry z xjk K u s

Two Distinct Modes

Slide 14

E‐Mode

H‐Mode

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.

0 rx z yjk K u s

0 rx y y x zjk K u K u s

0 rx z yjk K s u

0 ry z xjk K s u

13

14

10/28/2019

8

0 rx y y x zjk K s K s u

0 ry z xjk K u s

Two Distinct Modes

Slide 15

0 r

0 r

0 r

x y y x z

y z x

x z y

jk

jk

jk

K s K s u

K u s

K u s

0 r

0 r

0 r

x y y x z

y z x

x z y

jk

jk

jk

K u K u s

K s u

K s u

E‐Mode

H‐Mode

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.

0 rx z yjk K u s

0 rx y y x zjk K u K u s

0 rx z yjk K s u

0 ry z xjk K s u

2D Eigen‐Value Problems

Slide 16

Two eigen‐value problems can now be derived for two dimensional photonic crystals.

0 r

0 r

0 r

x y y x z

y z x

x z y

jk

jk

jk

K u K u s

K s u

K s u

1 1 2r r 0 rx x y y z zk K K K K s s

H‐Mode

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

E‐Mode

1

r0

x y z

j

k u K s

1

r0

y x z

j

k u K s

1 1

r r 0 r0 0

x x z y y z z

j jjk

k k

K K s K K s s

0 r

0 r

0 r

x y y x z

y z x

x z y

jk

jk

jk

K s K s u

K u s

K u s

1 1 2r r 0 rx x y y z zk K K K K u u

1

r0

x y z

j

k s K u

1

r0

y x z

j

k s K u

1 1

r r 0 r0 0

x x z y y z z

j jjk

k k

K K u K K u u

15

16

10/28/2019

9

V

V

Solution in Homogeneous Unit Cell

Slide 17

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

2 2r r

1r r

1

x y

Av BvV I

A K K

B I λ B A

When solved numerically, the columns of the eigen‐modes may be scrambled.

closed formnumerical

Interpreting the Eigen‐Vectors

Slide 18

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.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

v

v

v

v

v

v

v

v

v

v

v

v

v

v

v

v

v

v

v

v

v

v

v

v

v

v v1 v2 v3 v4 v5

v6 v7 v8 v9 v10

v11 v12 v13 v14 v15

v16 v17 v18 v19 v20

v21 v22 v23 v24 v25

17

18

10/28/2019

10

Slide 19

Implementation

PWEM from a User’s Perspective

Slide 20

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.

20, Eigen-values

Eigen-vectors

1

i

i

k

S

i

𝛽

2𝜋𝜆

19

20

10/28/2019

11

Choosing the Number of Spatial Harmonics

Slide 21

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.

min

10aM

For each direction.

Here are some examples…

M = 1N = 7

M = 1N = 15

M = 7N = 1

M = 15N = 1

M = 15N = 15

M = 7N = 7

M = 11N = 7

M = 15N = 7

M = 1N = 25

M = 7N = 7

M = 21N = 21

M = 21N = 21

M = 31N = 31

M = 21N = 13

Normalizing the Frequency

Slide 22

The eigen‐value problem was derived so that 𝑘 (frequency) is the eigen‐value.

1

r2

r 0z z k K K s s

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

00

kc

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

n0 0

202 2k

a a a

c

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

21

22

10/28/2019

12

Block Diagram of 2D Analysis

Slide 23

Define Problem

r r,r r

Compute Convolution Matrices

's

Calculate Wave Vector Expansion

1 2

, ,, diag meshgrid ,

pq

y x y pq x pq

k pT qT

k k

K K

1 1

r r r

1 1

r r r

E Mode: ,

H Mode: ,

x x y y

x x y y

A K K K K B

A K K K K B

Build Eigen‐Value Problem 𝐀𝐱 𝑘 𝐁𝐱

Solve Generalized Eigen‐Value Problem

Start

Finish

Compute List of Bloch Wave Vectors

' s

Scale Eigen‐Value k0

Record Data

20

0 2n

a ak

Build Unit Cell on High Resolution Grid

r r, and ,x y x y

ERC = convmat(ER,P,Q);URC = convmat(UR,P,Q); [V,D] = eig(A,B)

Slide 24

Calculation of Photonic Band Diagrams

23

24

10/28/2019

13

Band Diagrams (1 of 2)

Slide 25

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.  

Band Diagrams (2 of 2)

Slide 26

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.

25

26

10/28/2019

14

Animation of the Construction of a Band Diagram

Slide 27

List of Bloch Wave Vectors

Slide 28

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

2T

1T

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

X M

• Use more points in parts of this array that cover longer distances.• Do not repeat adjacent points.

27

28

10/28/2019

15

Animation of Band Calculation & Bloch Waves

Slide 29

Slide 30

Calculation of Isofrequency Contours

29

30

10/28/2019

16

The Band Diagram is Missing Information

Slide 31

x

y

y

x

M

X

Direct lattice: This lattice has an array of air holes in a dielectric with 𝑛 3.0.

Reciprocal lattice: Construct the band diagram by marching around the perimeter 

of the irreducible Brillouin zone.

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?

The Complete Band Diagram

Slide 32

02

a

c

aa

a

a0

0

y x

The Full Brillouin Zone

yk

a

a

0

a 0 a

xkThere is an infinite set of eigen‐frequencies associated with each point in the Brillouin zone.  These form “sheets” as shown at right.

31

32

10/28/2019

17

IFCs From Second‐Order Band

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

IFCs From First‐Order Band

Slide 34

02

a

c

aa

a

a0

0

y x

02

a

c

aa

a

a0

0

y x

33

34

10/28/2019

18

Calculating and Visualizing the IFCs

Slide 35

Full Band Data wn Isofrequency Contours from Full Band Data wn

y

x

0

a

0

a

y

xfor nby = 1 : NBY

for nbx = 1 : NBXb = [ Bx(nbx,nby) ; By(nbx,nby) ];k0 = pwem2d(...);wn(nbx,nby) = a*k0/(2*pi);

endend

pcolor() contour()

Standard View of IFCs

Slide 36

xa

ya

35

36

10/28/2019

19

Slide 37

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

Define the Lattice

Slide 38

rr

a

r

1

0.35

9.0

a

r a

Extended Lattice 2D Unit Cell

37

38

10/28/2019

20

Build Lattice on a High‐Resolution Grid

Slide 39

rr

a

r

1

0.35

9.0

a

r a

Unit Cell High Resolution Grid

9’s

1’s

512

512

Construct Convolution Matrices

Slide 40

9’s

1’s

1’s

r(x,y) or UR

r(x,y) or ER

URC = convmat(UR,P,Q)

ERC = convmat(ER,P,Q)

or URC

or ERC

r

r

39

40

10/28/2019

21

Compute the Reciprocal Lattice

Slide 41

Direct Lattice Reciprocal Lattice

a

2 a

1 xt a

2 yt a

1

2ˆT x

a

2

2ˆT y

a

Construct the Brillouin Zone

Slide 42

2T

1T

41

42

10/28/2019

22

Identify the Irreducible Brillouin Zone

Slide 43

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

Identify the Key Points of Symmetry

Slide 44

2T

1T

X

M

1

1 2

0

0

0.5

0.5 0.5

X T

M T T

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

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

43

44

10/28/2019

23

The Numbers

Slide 45

0 3.14 3.14

0 0 3.14X M

Typically the lattice constant is normalized to the value of 1.0.

1a

The direct and reciprocal lattice vectors are then

1

2

1

0

0

1

t

t

1

2

6.28

0

0

6.28

T

T

From these, the key points of symmetry are calculated to be

Generate List of  ’s

Slide 46

X M

Next, an array of Bloch wave vectors is generated that march around the perimeter of the IBZ.

2T

1T

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

X M

• Use more points in parts of this array that cover longer distances.• Do not repeat adjacent points.

45

46

10/28/2019

24

For Each , Construct KX and KY

Slide 47

Compute kx and ky wave vector expansions along the x and y axes respectively.

,

,

2 2 , , 1,0,1, , 2

2 2 , , 1,0,1, , 2

x x i

y y i

pk p p P P

aq

k q q Q Qa

Compute wave vector meshgrid() expansion.

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

,xk p q

Form diagonal matrices KX and KY.

kx = bx - 2*pi*p/a;ky = by - 2*pi*q/a;

[ky,kx] = meshgrid(ky,kx);

x yK K

,yk p q

Solve Eigen‐Value Problem for Each 

Slide 48

The eigen‐values calculated from this problem are:

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

20k

47

48

10/28/2019

25

Plot Eigen‐Values Vs. 

Slide 49

20k

Array index of Bloch wave vector

Generate a Professional Looking Plot

Slide 50

Bloch wave vector

The frequency axis has been normalized for easy scaling.

Horizontal axis is labeled with the key points of symmetry.  Notice the spacing between key points is consistent with the segment lengths around the perimeter of the IBZ.

A picture of the lattice unit cell, Brillouin zone, IBZ, and key points of symmetry should be shown.

Band Diagram of a Square Lattice

Given a meaningful title

n0

0

20

how it is labeled2

how it is used

how it is calculated2

a

c

a

ak

12

X M

49

50