Вы находитесь на странице: 1из 31

1/8/2018

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

EE 5337
Computational Electromagnetics (CEM)

Lecture #1

Introduction to CEM
 These notes may contain copyrighted material obtained under fair use rules.  Distribution of these materials is strictly prohibited  
Lecture 1 Slide 1

Outline
• What is CEM?
• CEM wisdom
• General concepts in CEM
• Classification of methods
• Overview of methods

Lecture 1 Slide 2

1
1/8/2018

What is CEM?

Lecture 1 Slide 3

Computational Electromagnetics
Definition
Computational electromagnetics (CEM) is the procedure we must follow to model and 
simulate the behavior of electromagnetic fields in devices or around structures.
Most often, CEM implies using numerical techniques to solve Maxwell’s equations instead 
of obtaining analytical solutions.

Why is this needed?
Very often, exact analytical solutions, or even good approximate solutions, are not 
available.  Using a numerical technique offers the ability to solve virtually any 
electromagnetic problem of interest.

  r 
Zc  cosh 1  out  Zc  ?
2  rin 

Lecture 1 Slide 4

2
1/8/2018

Popular Numerical Techniques
• Transfer matrix method
• Scattering matrix method
• Finite‐difference frequency‐domain
• Finite‐difference time‐domain
• Transmission line modeling method
• Beam propagation method
• Method of lines
• Rigorous coupled‐wave analysis
• Plane wave expansion method
• Slice absorption method
• Finite element analysis
• Method of moments
• Boundary element method
• Spectral domain method
• Discontinuous Galerkin method

Lecture 1 Slide 5

CEM Wisdom

Lecture 1 Slide 6

3
1/8/2018

The Key to Computation is Visualization
Is there anything wrong?  If so, what is it?
i , j , k 1
Ezi , j 1,k  Ezi , j ,k E y  E yi , j ,k
   xxi , j ,k H xi , j ,k
y  z 
 xyi , j ,k H yi , j ,k   xyi 1, j ,k H yi 1, j ,k   xyi , j 1,k H yi , j 1,k   xyi 1, j 1,k H yi 1, j 1,k

4
 xzi , j ,k H zi , j ,k   xzi , j ,k 1 H zi , j ,k 1   xzi 1, j ,k 1 H zi 1, j ,k 1   xzi 1, j ,k H zi 1, j ,k

4

Exi , j ,k 1  Exi , j ,k Ezi 1, j ,k  E zi , j ,k  yx H x   yx


i 1, j , k  i 1, j , k
i , j ,k i , j ,k
Hx   yxi , j 1,k H xi , j 1,k   yxi 1, j 1,k H xi 1, j 1,k
 
z  x  4
  yyi , j ,k H yi , j ,k
 yzi , j ,k H zi , j ,k   yzi , j ,k 1 H zi , j ,k 1   yzi , j 1,k 1 H zi , j 1,k 1   yzi, j 1,k H zi, j 1,k

4

E yi 1, j ,k  E yi , j ,k Exi , j 1,k  E xi , j ,k  zxi , j ,k H xi , j ,k   zxi 1, j ,k H xi 1, j ,k   zxi 1, j ,k 1 H xi 1, j ,k 1   zxi , j ,k 1 H xi , j ,k 1
 
x y  4
 i , j ,k H yi , j ,k   zyi , j 1,k H yi , j 1,k   zyi , j 1,k 1 H yi , j 1, k 1   zyi, j ,k 1 H yi , j ,k 1
 zy
4

Response
i , j ,k  i , j ,k
  zz H z

H zi , j ,k  H zi , j 1,k H y  H y
i, j,k i , j , k 1

   xxi , j , k Exi , j ,k
y  z 
 xyi , j ,k E yi , j ,k   xyi , j 1,k E yi , j 1, k   xyi 1, j 1,k E yi 1, j 1, k   xyi 1, j , k E yi 1, j ,k

4
 xzi , j ,k Ezi , j ,k   xzi , j , k 1 Ezi , j ,k 1   xzi 1, j , k 1 Ezi 1, j ,k 1   xzi 1, j , k Ezi 1, j ,k

4

H xi , j ,k  H xi , j ,k 1 H zi , j , k  H zi 1, j , k  yx Ex   yx   yxi 1, j 1,k Exi 1, j 1, k   yxi 1, j ,k Exi 1, j ,k
i , j ,k i , j ,k i , j 1, k i , j 1, k
Ex
 
z  x  4
  yyi , j , k E yi , j ,k
 yzi , j ,k Ezi , j ,k   yzi , j , k 1 Ezi , j ,k 1   yzi , j 1, k 1 Ezi , j 1,k 1   yzi , j 1, k Ezi , j 1,k

4

H yi , j ,k  H yi 1, j ,k H xi , j , k  H xi , j 1, k  zxi , j , k Exi , j ,k   zxi 1, j ,k Exi 1, j , k   zxi 1, j ,k 1 Exi 1, j , k 1   zxi , j ,k 1 Exi , j ,k 1
 
x  y  4
 zyi , j ,k E yi , j ,k   zyi , j 1,k E yi , j 1, k   zyi , j 1,k 1 E yi , j 1,k 1   zyi , j ,k 1 E yi , j ,k 1

4
  zzi , j , k Ezi , j ,k

Lecture 1 Slide 7

Golden Rule #1

All numbers should equal 1.
Why?

(1.234567…) + (0.0123456…) = Lost two digits of accuracy!!

Solution:  NORMALIZE EVERYTHING!!!
  
E 0E x  k0 x
0
0
0  or y   k0 y
1 m
 0 
H H z   k0 z
0

Lecture 1 Slide 8

4
1/8/2018

Golden Rule #2

Never perform calculations.
Why?
1. Golden Rule #1.
2. Finite floating point precision introduces round‐off errors.

Solution:  MINIMIZE NUMBER OF COMPUTATIONS!!!
1. Take problems as far analytically as possible.
2. Avoid unnecessary computations.

r  x2  y 2 R  x2  y 2
 r2   R 
g  r   exp   2  g  R   exp   2 
  
  

Lecture 1 Slide 9

Golden Rule #3

Write clean code.
• Well organized • Compact
• Well commented • No junk code
Why?
1. It will run faster and more reliably.
2. Easier to catch mistakes.
3. Easier to troubleshoot.
4. Easier to pick up again at a later date.
5. Easier to modify.

Solution
1. Outline your code before writing it.
2. Delete obsolete code.
3. Comment every step.
4. Use meaningful variable names.

Lecture 1 Slide 10

5
1/8/2018

The CEM Process

There is a rhythm to 
computational electromagnetics 
and it repeats itself constantly.

Starts with Maxwell’s equations and derives all the necessary 
equations to implement the algorithm in MATLAB.
• Equations everywhere!  Only a few are needed.
• Implementation does not resemble the formulation.

Organizes the equations derived in the formulation and 
considers other numerical details.
• Consider all numerical best practices.
• Should end with a detailed block diagram.

Actually implements the algorithm in computer code.
• Implementation should be simple and minimal.
• The “art” of simulation begins here.
• Practice, practice, practice!
Lecture 1 Slide 11

Don’t Be Lazy
A little extra time making your program more efficient or simulating a 
device in a more intelligent manner can save you lots of time, energy, 
and aggravation.

Lecture 1 Slide 12

6
1/8/2018

Formulation Wisdom
• Derive equations as far and as simple as possible.
• Build big/complicated matrices from small/simple 
matrices.
– This usually requires converting to matrix form early in 
the formulation.
• Make your formulation documents very detailed.
• A good understanding of the formulation gives 
you the ability to modify your algorithm or to 
add/subtract features.

Lecture 1 Slide 13

Implementation Wisdom
• Make a detailed block diagram!
• In the block diagram, include only the equations 
you will incorporate into your code.
• Add all other steps to your block diagram.
– Sources
– Building devices
– Extracting information
– Post‐processing data
– Etc.

Lecture 1 Slide 14

7
1/8/2018

Coding Wisdom
• Work hard to write clean, simple, and well 
commented code.
– Indent code inside loops, if statements, etc.
– Let linear algebra do the work for you.
– Use lots of comments.
• Match your code to your formulation.
– Try to use the same variables.
• Do not fix your code with incorrect equations.
– Changing signs arbitrarily is a common way to make 
things work, but you are hiding a problem and possibly 
creating more.

Lecture 1 Slide 15

Simulation Wisdom #1
Simulate devices in multiple steps using models of 
increasing complexity.

Avoid the temptation to jump straight to the big, bad, and ugly 3D 
simulation in all of its glorious complexity.
Model your device with slowly increasing levels of complexity.
You will get to your final answer much faster this way!

R. C. Rumpf, “Engineering the dispersion and anisotropy in periodic 
electromagnetic structures,” Solid State Physics 66, 2015.
Lecture 1 Slide 16

8
1/8/2018

Simulation Wisdom #2
It must be standard practice to ensure your results are 
converged.

w  2.0  m w
h  0.6  m nsup
nrib
Effective Refractive Index

a  0.25  m
ncore
nsup  1.0 a h
nrib  1.9
ncore  1.9 nsub
nsub  1.52

neff  1.750, t  1.1 sec neff  1.736, t  6.1 sec

Grid Resolution
Lecture 1 Slide 17

Simulation Wisdom #3

Those who simulate the most, 
trust the simulations the least.
Never trust your code or your results.
Benchmark. Benchmark. Benchmark.
Lecture 1 Slide 18

9
1/8/2018

Final Word of Wisdom

Do not EVER share your codes!
Only bad things will happen.

The best thing that can happen
is that you become useless.  

Instead, offer to simulate devices for
them and make yourself a collaborator.
Lecture 1 Slide 19

General Concepts in 
Computational EM

Lecture 1 Slide 20

10
1/8/2018

Physical Vs. Numerical Boundary Conditions

Physical Boundary Conditions
Tangential components 
Physical boundary conditions refer to the  are continuous
conditions that must be satisfied at the 
boundary between two materials.  These are 
derived from the integral form of Maxwell’s 
equations.

Numerical Boundary Conditions
Numerical boundary conditions refer to the what 
is done at the edge of a grid or mesh and how 
fields outside the grid are estimated.

Lecture 1 Slide 21

Full Vs. Sparse Matrices
Full Matrices Sparse Matrices
   
   
   
   
   
   
   
A  A 
   
   
   
   
   
   
   
Sparse matrices have most of their elements 
equal to zero.  They are often more than 99% 
Full matrices have all non‐zero elements. sparse.

They tend to look banded with the largest  It is most memory efficient to store only the non‐
numbers running down the main diagonal. zero elements in memory.
They tend to “banded” matrices with the largest 
numbers running down the main diagonal.
Lecture 1 Slide 22

11
1/8/2018

Integral Vs. Differential Equations (1 of 2)
Integral Equations
 f  x, x dx  g  x 

Integral equations calculate a quantity at a specific point using 
information from the entire domain.  They are usually written 
around boundaries and lead to formulations with full matrices.  They 
do not require boundary conditions.

Differential Equations
df  x 
 f  x  g  x
dx

Differential equations calculate a quantity at a specific point using 
only information from the local vicinity.  They are usually written for 
points distributed throughout a volume and lead to formulations 
with sparse matrices.  They require boundary conditions.
Lecture 1 Slide 23

Frequency‐Domain Vs. Time‐Domain

This is what a 
frequency‐domain 
code calculates.

This is what a time‐
domain code 
calculates.

Frequency‐domain solutions are at a single frequency.  Time‐domain solutions look 
different because there are inherently a broad range of frequencies involved.  
Lecture 1 Slide 24

12
1/8/2018

Definition of “Convergence”
Virtually all numerical methods have some sort of “resolution” 
parameter that when taken to infinity solves Maxwell’s equations 
exactly.  In practice, we cannot this arbitrarily far because a computer 
will run out of memory and simulations will take prohibitively long to 
run.

There are no equations to calculate what “resolution” is needed to 
obtain “accurate” results.  Instead, the user must look for 
convergence.  There are, however, some good rules of thumb to 
make an initial guess at resolution.

Convergence is the tendency of a calculated parameter to 
asymptotically approach some fixed value as the resolution of the 
model is increased.  A converged solution does not imply an 
accurate solution!!!
Lecture 1 Slide 25

Tips About Convergence
• Make checking for convergence a habit that you 
always perform.
• When checking a parameter for convergence, 
ensure that it is the only thing about the 
simulation that is changing.
• Simulations do not get more “accurate” as 
resolution is increased.  They only get more 
“converged.”

Lecture 1 Slide 26

13
1/8/2018

Conservation of Power
When electromagnetic wave is applied to a device, it can be absorbed 
(i.e. converted to another form of energy), reflected and/or 
transmitted.  Without a nuclear reaction, nothing else can happen.

A R T 1
Reflectance, R Transmittance, T Absorptance, A
Fraction of power from  Fraction of power from the  Fraction of power from 
the applied wave that is  applied wave that is transmitted  the applied wave that is 
reflected from the device. through the device. absorbed by the device.

Applied Wave
Transmitted Wave
Reflected Wave Absorbed Wave
Lecture 1 Slide 27

How Do You Know if Your Model Works?
In many cases, you may not know.  
1. BENCHMARK, BENCHMARK, BENCHMARK
2. Check for power conservation
3. CONVERGENCE, CONVERGENCE, CONVERGENCE

Common Sense – Check your model for simple things like conservation of power, 
magnitude of the numbers, consistency with the physics, etc.
Benchmark – You can verify your code is working by modeling a device with a 
known response.  Does your model predict that response?
Convergence – Your models will have certain parameters that you can adjust to 
improve “accuracy” usually at the cost of computer memory and run time.  Keep 
increasing “accuracy” until your answer does not change much any more.
When modeling  a new device, benchmark your model using as similar of a device 
as you can find which has a known response.  Compare your experimental results to 
the model.  Do they agree?  Reconcile any differences.

Lecture 1 Slide 28

14
1/8/2018

Tips for Matching Simulations to 
Experiments
1. Model the geometry of the device as accurately as possible.
2. Incorporate accurate material properties, including dispersion.
3. Ensure the source replicates the experimental source as closely as 
possible.
4. Ensure you detect power in your simulation in a way that is 
consistent with laboratory experiments.

Lecture 1 Slide 29

Classification of Methods

Lecture 1 Slide 30

15
1/8/2018

Classification by Size Scale
Low Frequency Methods High Frequency Methods

0  a 0  a
Structural dimensions are on the order  Structural dimensions much larger than 
of the wavelength or smaller. the wavelength.

Polarization and the vector nature of  Fields can be accurately treated as 
the field is important. scalar quantities.

• Finite‐difference time‐domain • Ray tracing
• Finite‐difference frequency‐domain • Geometric theory of diffraction
• Finite element analysis • Physical optics
• Method of moments • Physical theory of diffraction
• Rigorous coupled‐wave analysis • Shooting and bouncing rays
• Method of lines
• Beam propagation method
• Boundary element method
• Spectral domain method
• Plane wave expansion method
Lecture 1 Slide 31

Classification by Approximations
Rigorous Methods
A method is rigorous if there exists a “resolution” parameter that when taken to 
infinity, finds an exact solution to Maxwell’s equations.
• Finite‐difference time‐domain
• Finite‐difference frequency‐domain
• Finite element method
• Rigorous coupled‐wave analysis
• Method of lines

Full Wave Methods
A method is full wave if it accounts for the vector nature of the electromagnetic 
field.  A full wave method is not necessarily rigorous.
• Method of moments
• Boundary element method
• Beam propagation method

Scalar Methods
A method is scalar if the vector nature of the field is not accounted for.
• Ray tracing

Lecture 1 Slide 32

16
1/8/2018

Comparison of Method Types
Frequency‐Domain Time‐Domain
+ resolves sharp resonances ‐ scales at best NlogN + wideband simulations ‐ longitudinal periodicity
+ handles oblique incidence ‐ can miss sharp resonances + scales near linearly ‐ sharp resonances
+ longitudinal periodicity ‐ active & nonlinear devices + active & nonlinear devices ‐ memory requirements
+ can be very fast + easily locates resonances ‐ oblique incidence

Fully Numerical Semi‐Analytical
+ better convergence ‐ memory requirements + very fast & efficient ‐ convergence issues
+ scales better than SA ‐ long uniform sections + layered devices ‐ scales poorly
+ complex device geometry + less memory ‐ complex device geometry

Real‐Space Fourier‐Space
+ high index contrast ‐ slow for low index contrast + moderate index contrast ‐ field visualization
+ metals + periodic problems ‐ formulation difficult
+ resolving fine details + very fast and efficient ‐ resolving fine details
+ field visualization

Structured Grid Unstructured Grid
+ easy to implement ‐ less efficient + most efficient ‐ difficult to implement
+ rectangular structures ‐ curved surfaces + handles larger structures ‐ spurious solutions
+ easy for divergence free + conforms to curved surfaces

Differential Based Integral Based
+ sparse matrices ‐ volume mesh + surface mesh ‐ full matrices
+ easier to formulate ‐ spurious solutions + Very efficient for many structures ‐ more difficult to formulate
+ easier to implement ‐ more difficult to implement

Lecture 1 Slide 33

Multiphysics Simulations
A multiphysics simulation is one that accounts for multiple 
simultaneous physical mechanisms at the same time.

• Electromagnetic
• Thermal
• Fluids
• Motion
• Chemical
• Acoustic
• Optical

Lecture 1 Slide 34

17
1/8/2018

Any Method Can Do Anything

Any method can be 
made to do anything.
The real questions are:
• What devices and information is a 
particular method best suited for?
• How much of a “force fit” is it for that 
method?
Lecture 1 Slide 35

Overview of the Methods

Lecture 1 Slide 36

18
1/8/2018

Transfer Matrix Method (1 of 2)
Transfer matrices are derived that 
 E x ,trn   E x ,2 
relate the fields present at the   E   T3  E 
interfaces between the layers.  y ,trn   x ,2 
T3

 Ex ,2   Ex ,1   Ex ,trn 
 E   T2  E  E 
 x ,2   x ,1   y ,trn 
T2

 Ex ,1   E x ,ref   Ex ,2 
E 
 E   T1  E   x ,2 
 x ,1   y ,ref 
T1
Tglobal  T3T2 T1
 Ex ,1 
E   Ex ,trn   Ex ,ref 
 x ,1   E   Tglobal  E 
 y ,trn   y ,ref 
Transmission through all the layers 
 Ex ,ref  is described by multiplying all the 
E 
 y ,ref  individual transfer matrices.
Lecture 1 Slide 37

Transfer Matrix Method (2 of 2)
This method is good for…
1. Modeling transmission and reflection from layered devices.
2. Modeling layers of anisotropic materials.

Benefits Drawbacks
• Very fast and efficient • Limited number of geometries 
• Rigorous
• Near 100% accuracy it can model.
• Unconditionally stable • Only handles linear, 
• Robust
homogeneous and infinite 
• Simple to implement
• Thickness of layers can be anything slabs.
• Able to exploit longitudinal periodicity • Cannot account for diffraction 
• Easily incorporates material dispersion
effects
• Easily accounts for polarization and 
angle of incidence • Inefficient for transient analysis
• Excellent for anisotropic layered 
materials

Lecture 1 Slide 38

19
1/8/2018

Finite‐Difference Frequency‐Domain (1 of 2)
Space is converted to a grid and Maxwell’s 
equations are written for each point using 
the finite‐difference method.  
 y
  y
Ez E z x, y  2 , z  Ez x, y  2 , z


y y

This large set of equations is written in 
matrix form and solved to calculate the 
fields.
Ez E y
   j H x
y z D Ey e z  D Ez e y   jμ xx h x
Ex Ez source
   j H y
z x D Ez e x  D Ex e z   jμ yy h y
E y Ex
   j H z D Ex e y  D Ey e x   jμ zz h z Ax  b
x y
x  A 1b
H z H y
y

z
 j Ex D Hy h z  D Hz h y  jε xx e x
e x 
  jε e
x  e y 
H x H z D Hz h x  D Hx H
  j E y z yy y
z x
H y H x
  j Ez
D Hx h y  D Hy h x  jε zz e z  e z 
x y

Lecture 1 Slide 39

Finite‐Difference Frequency‐Domain (2 of 2)
This method is good for…
1. Modeling 2D devices with high volumetric complexity.
2. Visualizing the fields.
3. Fast and easily formulation of new numerical techniques.

Benefits Drawbacks
• Accurate and robust • Does not scale well to 3D
• Highly versatile
• Simple to implement
• Difficult to incorporate 
• Easily incorporates dispersion nonlinear materials
• Excellent for field visualization • Structured grid is inefficient
• Error mechanisms are well  • Difficult to resolve curved 
understood
• Good method for metal devices
surfaces
• Excellent for volumetrically  • Slow and memory innefficient
complex devices
• Good scaling compared to other 
frequency‐domain methods
Lecture 1 Slide 40

20
1/8/2018

Finite‐Difference Time‐Domain (1 of 2)
Fields are evolved by iterating Maxwell’s 
equations in small time steps.

Maxwell’s equations are enforced at each point at 
Reflection Plane each time step.
TF/SF Planes

Spacer Region

Unit cell of 
real device

Spacer Region

Transmission Plane

Lecture 1 Slide 41

Finite‐Difference Time‐Domain (2 of 2)
This method is good for…
1. Modeling big, bad and ugly problems.
2. Modeling devices with nonlinear material properties.
3. Simulating the transient response of devices.

Benefits Drawbacks
• Excellent for large‐scale simulations.  Easily 
parallelized. • Tedious to incorporate dispersion
• Excellent for transient analysis.
• Accurate, robust, rigorous, and mature
• Typically has a structured grid 
• Highly versatile which is less efficient and doesn’t 
• Intuitive to implement
• Easily incorporates nonlinear behavior
conform well to curved surfaces
• Excellent for field visualization and learning 
electromagnetics
• Difficult to resolve curved 
• Error mechanisms are well understood surfaces
• Good method for metal devices
• Excellent for volumetrically complex devices • Slow for small devices
• Scales near linearly • Very inefficient for highly 
• Able to simulate broad frequency response in one 
simulation resonant devices
• Great for resonance “hunting”

Lecture 1 Slide 42

21
1/8/2018

Transmission‐Line Modeling Method (1 of 2)
Space is interpreted as a giant 3D circuit.

Waves propagating through space are 
represented as current and voltage in 
extended circuits.

Also called transmission‐line matrix 
method (TLM).

Lecture 1 Slide 43

Transmission‐Line Modeling Method (2 of 2)
This method is good for…
1. Modeling big, bad and ugly problems.
2. Hybridizing models with microwave devices.
3. Representing digital waveforms.

Benefits Drawbacks
• Essentially the same benefits at  • Essentially the same drawbacks 
FDTD and FDFD. as FDTD and FDFD.
• Excellent for large‐scale 
simulations.  Easily parallelized.
• Excellent for transient analysis.
• No convergence criteria.
• Inherently stable.
• Time‐ and frequency‐domain 
implementations exist.
• Excellent fit with network theory 
in microwave engineering.
Lecture 1 Slide 44

22
1/8/2018

Beam Propagation Method (1 of 2)
The beam propagation method (BPM) is a simple method to simulate 
“forward” propagation through a device.  It calculates the field one 
plane at a time so it does not need to solve the entire solution space 
at once.

A i  μ xx ,i D Hx μ zz1,i D Ex  μ xx ,i ε yy ,i  neff
2
I
1
 j z    j z  i
eiy1   I  A i 1   I  Ai  e y
 4 neff   4 neff 

Lecture 1 Slide 45

Beam Propagation Method (2 of 2)
This method is good for…
1. Nonlinear optical devices.
2. Devices where reflections and abrupt changes in the 
field are negligible (i.e. forward only devices)

Benefits Drawbacks
• Simple to formulate and implement  • Not a rigorous method
(FFT‐BPM is easiest)
• Numerically efficient for faster  • Limited in the physics it can 
simulations handle
• Well established for nonlinear  • Typically uses paraxial 
materials (unique for frequency‐
domain method). approximation
• Easily incorporates dispersion • Typically neglects backward 
• Excellent for field visualization reflections
• Error mechanisms are well 
understood • FFT‐BPM is slower, less stable, 
• Well suited for waveguide circuit  and less versatile than FDM‐
simulation BPM

Lecture 1 Slide 46

23
1/8/2018

Method of Lines (1 of 2)

reflected
source
x

y BCs
The method of lines is a semi‐analytical 
method.

Modes are computed in the transverse plane 
for each layer and propagated analytically in 
BCs
the z-direction.

Boundary conditions are used to matched 
the fields at the interfaces between layers.
BCs
Transmission through the entire stack of 
layers is then known and transmitted and 
reflected fields can be computed.
transmitted

z BCs

Lecture 1 Slide 47

Method of Lines (2 of 2)
This method is good for…
1. Long devices.
2. Long devices with metals.

Benefits Drawbacks
• Excellent for longitudinally  • Scales very poorly in the 
periodic devices transverse direction
• Rigorous method • Cumbersome method for field 
• Excellent for devices with high  visualization
index contrast and metals
• Less efficient than RCWA for 
• Good for resonant structures dielectric structures.
• Less numerical dispersion than 
fully numerical methods • Rarely used in 3D analysis, but 
this may change with more 
• Easier field visualization than 
RCWA modern computers

Lecture 1 Slide 48

24
1/8/2018

Rigorous Coupled‐Wave Analysis (1 of 2)

Field in each layer is 
represented as a set of 
plane waves at 
different angles.

Plane waves describe 
propagation through 
each layer.

Layers are connected 
by the boundary 
conditions.

Lecture 1 Slide 49

Rigorous Coupled‐Wave Analysis (2 of 2)
This method is good for…
1. Modeling diffraction from periodic dielectric structures
2. Periodic devices with longitudinal periodicity

Benefits Drawbacks
• Excellent for modeling diffraction from  • Scales poorly in transverse 
periodic dielectric structures.
• Extremely fast and efficient for all‐dielectric  dimensions.
structures with low to moderate index 
contrast • Less efficient for high dielectric 
• Accurate and robust contrast and metals due to 
• Unconditionally stable Gibb’s phenomenon.
• Thickness of layers can be anything without 
numerical cost • Poor method for finite 
• Excellent for longitudinally periodic  structures.
structures.
• Excellent for structures large in the  • Slow convergence if fast 
longitudinal direction.
• Easily incorporates polarization and angle of 
Fourier factorization is not 
incidence. used.

Lecture 1 Slide 50

25
1/8/2018

Plane Wave Expansion Method (1 of 2)
The plane wave expansion method 
(PWEM) calculates modes that exist in 
an infinitely periodic lattice.  It 
represents the field in Fourier‐space as 
the sum of a large set of plane waves at 
different angles.

Lecture 1 Slide 51

Plane Wave Expansion Method (2 of 2)
This method is good for…
1. Analyzing unit cells
2. Calculating photonic band diagrams and effective material properties.

Benefits Drawbacks
• Excellent for all‐dielectric unit  • Scales poorly.
cells • Weak method for high 
• Fast even for 3D dielectric contrast and metals.
• Accurate and robust • Limited to modal analysis.
• Rigorous method • Cannot model scattering.
• Cannot incorporate dispersion.

Lecture 1 Slide 52

26
1/8/2018

Slice Absorption Method (1 of 2)
Virtually any method that converts Maxwell’s equations to a matrix equation can 
order the matrix to give it the following block tridiagonal form.

This allows the problem to be solved one slice at a time.

Lecture 1 Slide 53

Slice Absorption Method (2 of 2)
This method is good for…
1. Modeling structures with high volumetric complexity
2. Modeling finite size structures (i.e. not infinitely 
periodic)

Benefits Drawbacks
• Excellent for modeling devices  • New method and not well 
with high volumetric complexity
understood.
• Easily incorporates dispersion
• Easily incorporate polarization 
and oblique incidence
• Potential for transverse devices
• Excellent for finite size devices
• Excellent framework to hybridize 
different methods.
• Transverse sources
• Stacking in three dimensions.

Lecture 1 Slide 54

27
1/8/2018

Finite Element Method (1 of 2)
Step 1:  Describe Structure Step 2:  Mesh Structure
This is a VERY 
1  1.0
important and 
involved step.
r  1.50  2  2.5

Step 3:  Build Global Matrix Step 4:  Solve Matrix Equation
Incorporate a 
Iterate through  source.
each element to 
populate the 
Ax  b
global matrix. Calculate field.

Ax  0 x  A 1b

Lecture 1 Slide 55

Finite Element Method (2 of 2)
This method is good for…
1. Modeling volumetrically complex structures in the frequency‐
domain.

Benefits Drawbacks
• Very mature method • Tedious to implement
• Excellent representation of  • Requires a meshing step
curved surfaces
• Unstructured grid is highly 
efficient
• Unconditionally stable
• Scaling improved with domain 
decomposition

Lecture 1 Slide 56

28
1/8/2018

Method of Moments (1 of 2)

Lf  g
f   an v n  a Lv g Galerkin Method Integral Equation
n n
n n

a n
n v m , Lv n  v m , g
• Converts a linear  •Usually uses PEC approximation
 v1 , Lv1 v1 , Lv 2
 a   v , Lg
 1   1

equation to a matrix  •Usually based on current

   a1   v 2 , Lg 
 v 2 , Lv1 v 2 , Lv 2       equation

j L2
  2  e jkr

    
 aN   v N , Lg

 Ezinc  I z  z  k 2  2  dz 
 L 2
 z  4 r

The Method of Moments
 z11 z12 z13 z14 z15 z16 z17   i1   v1 
i1 z
i2 i3  21 z22 z23 z24 z25 z26 z27  i2  v2 
i4 i5 i6  z31 z32 z33 z34 z35 z36 z37  i3   v3 
i7     
v1 v2  z41 z42 z43 z44 z45 z46 z47  i4   v4 
v3  z51
v4 v5 z52 z53 z54 z55 z56 z57  i5   v5 
v6 v7     
 z61 z62 z63 z64 z65 z66 z67  i6   v6 
z z72 z73 z74 z75 z76 z77  i7  v7 
 71

Lecture 1 Slide 57

Method of Moments (2 of 2)
This method is good for…
1. Modeling metallic devices at radio frequencies
2. Modeling large‐scale metallic structures at radio frequencies

Benefits Drawbacks
• Extremely efficient analysis of  • Not a rigorous method
metallic devices
• Poor method for incorporating 
• Full wave
• Very fast dispersion and dielectrics
• Excellent scaling using the fast  • Long a tedious formulation
multipole method
• Inefficient for volumetrically 
• No boundary conditions
complex structures
• Simple implementation
• Mature method with lots of 
literature
• Can by hybridized with FEM

Lecture 1 Slide 58

29
1/8/2018

Boundary Element Method (1 of 2)
The boundary element method (BEM) is also called the Method of 
Moments, but is applied to 2D elements.  The most famous element is 
the Rao‐Wilton‐Glisson (RWG) edge element.

S. M. Rao, D. R. Wilton, A. W. Glisson, 
“Electromagnetic Scattering by Surfaces of 
Arbitrary Shape,” IEEE Trans. Antennas and 
Propagation, vol. AP‐30, no. 3, pp. 409‐418, 
1982.

Governing equation exists only at the boundary of a device so many 
fewer elements are needed.

5000 elements 400 elements

Lecture 1 Slide 59

Boundary Element Method (2 of 2)
This method is good for…
1. Modeling large devices with simple geometries.
2. Modeling scattering from homogeneous blobs.

Benefits Drawbacks
• Highly efficient when surface  • Tedious to implement
to volume ratio is low • Requires a meshing step
• Excellent representation of 
curved surfaces • Not usually a rigorous method
• Unstructured grid is highly  • Inefficient for volumetrically 
efficient complex geometries
• Unconditionally stable
• Can be hybridized with FEM
• Domain can extend to infinity
• Simpler meshing than FEM
Lecture 1 Slide 60

30
1/8/2018

Discontinuous Galerkin Method (1 of 2)
The discontinuous Galerkin method (DGM) combines features of the 
finite element and finite‐volume framework to solve differential 
equations.  

Lecture 1 Slide 61

Discontinuous Galerkin Method (2 of 2)
This method is good for…
1. Solving very complex equations.
2. Modeling very electrically large structures.
3. Time‐domain finite‐element method.

Benefits Drawbacks
• Mesh elements can have any  • Tedious to implement
arbitrary shape. • Requires a meshing step
• Fields may be collocated 
instead of staggered. • Not usually a rigorous method
• Inherently a parallel method. • Inefficient for volumetrically 
• Easily extended to higher‐order  complex geometries
of accuracy.
• Allows explicit time‐stepping
• Low memory consumption (no 
large matrices)
Lecture 1 Slide 62

31