Professional Documents
Culture Documents
Slice Absorption Method: Computational Electromagnetics (CEM)
Slice Absorption Method: Computational Electromagnetics (CEM)
Slice Absorption Method: Computational Electromagnetics (CEM)
Instructor
Dr. Raymond Rumpf
(915) 747‐6958
rcrumpf@utep.edu
EE 5337
Computational Electromagnetics (CEM)
Lecture #25
Slice Absorption Method
These notes may contain copyrighted material obtained under fair use rules. Distribution of these materials is strictly prohibited
Lecture 25 Slide 1
Outline
• Three‐Dimensional FDFD
• Matrix Ordering
• Slice Absorption Method
• Plane Wave Source
• Transparent Boundary Condition
• Field Solution
• Fourier‐Space SAM
• Example Simulations
• Dispersion Analysis Using the SAM
Lecture 25 Slide 2
1
9/15/2017
Three‐Dimensional
FDFD
Lecture 25 Slide 3
Matrix Form of Maxwell’s Equations
i , j , k 1
Ezi , j 1, k Ezi , j , k E y E yi , j , k Deye z Deze y μ xxh x
Ez E y xx H x xxi , j , k H xi , j , k
y z y z
Exi , j , k 1 Exi , j , k Ezi 1, j , k Ezi , j , k
Ex Ez yy H y i, j,k i, j,k
yy Hy Deze x Dexe z μ yy h y
z x z x
E yi 1, j , k E yi , j , k Exi , j 1, k Exi , j , k
Ey Ex zz H z zzi , j , k H zi , j , k Dexe y Deye x μ zz h z
x y x y
H zi , j , k H zi , j 1, k H y H y
i, j,k i , j , k 1
Dhyh z Dhzh y ε xxe x
Hz H y xx Ex xxi , j , k Exi , j , k
y z y z
H xi , j , k H xi , j , k 1 H zi , j , k H zi 1, j , k
Hx H z yy E y yy
i, j,k i, j,k
Ey Dhzh x Dhxh z ε yy e y
z x z x
H yi , j , k H yi 1, j , k H xi , j , k H xi , j 1, k
Hy H x zz Ez zzi , j , k Ezi , j , k Dhxh y Dhyh x ε zz e z
x y x y
Lecture 25 Slide 4
2
9/15/2017
Block Matrix Form
We can write our matrix equations in block matrix form.
Lecture 25 Slide 5
Three‐Dimensional FDFD
Block Matrix Form Matrix Wave Equations
Ce e μ h
Chh ε e
1
Ce ε Ch μ h 0
h x e x
C μ
h 1
C ε e 0
e
h h y
e e y
h z
e z Ωe 0
μ xx 0 0 ε xx 0 0
μ 0 μ yy 0 ε 0 ε yy 0 For 3D analysis, is
0 0 μ zz usually too big to solve by
0 0 ε zz
0 Dhz Dhy simple means.
0 Dez Dey
Ch Dhz 0 Dhx C Dez
e
0 Dex
Dhy Dhx 0 Dey Dex 0
Lecture 25 Slide 6
3
9/15/2017
Grid to Matrix Scaling & Memory
Typical grid required to model a Number of points in grid: 40,000 points
3D device. Complex #’s for ex, ey, and ez: 120,000 complex #’s
Real #’s for ex, ey, and ez: 240,000 real floating‐point #’s
Size of ex: 40k complex numbers
N x 20 Memory for ex: 625 kb
N y 20
Size of full Dx: 40k 40k complex numbers
N z 100 Memory for full Dx: 23.8 Gb
Density of Dx: 0.005% non zero elements
Memory for sparse Dx: 1.5 Mb
Memory for direct solution: 110 Gb
Lecture 25 Slide 7
Matrix Ordering
Lecture 25 Slide 8
4
9/15/2017
Standard FDFD Order
Matrix Wave Equation
E1,1,1
x
E1,1,1
y
E1,1,1
z
2,1,1 2,1,1 2,1,1
Ωe 0
Ex Ey Ez
Ω C h μ Ce ε
1
N x ,1,1 N x ,1,1 N x ,1,1
Ex Ey Ez
E1,2,1 E1,2,1 E1,2,1
x2,2,1 2,2,1y
z2,2,1
Matrix Order Ex Ey Ez
Ω xx Ω xy Ω xz e x 0 ex ey ez
ExN x ,2,1 E yN x ,2,1 EzN x ,2,1
Ω yx Ω yy Ω yz e y 0
Ω zx
Ω zy Ω zz e z 0
E N x , N y ,1 E N x , N y ,1 E N x , N y ,1
x 1,1,2 y 1,1,2 z 1,1,2
Ex Ey Ez
E Nx ,N y ,Nz E Nx ,N y ,Nz E Nx ,N y ,Nz
x y z
Raster first along x, then y, and then z.
Lecture 25 Slide 9
Reorder Operation
The matrix equation is reordered in a manner that groups E1,1,1
x
all fields located within the same slices into adjacent 1,1,1
Ey
rows and/or columns. E1,1,1
1,1,1
Ex
z
2,1,1
0 Ex
Ωe E 2,1,1
reorder Ω E Nx ,Ny ,Nz y
Ω x
Ez
2,1,1
E1,1,1
e reorder e
y
e e E N x ,1,1
x
E Nx ,Ny ,Nz N x ,1,1
y 1,1,1 y E
Ez EzN x ,1,1
Ω Ω
pq pq
p 1 N x N y N z mod 3 p 1 p 1 3 E Nx ,Ny ,Nz E Nx ,Ny ,Nz
z
x
q 1 N x N y N z mod 3 q 1 q 1 3
E Nx ,Ny ,Nz
y
Ez
Nx ,Ny ,Nz
We still raster first along x, then y, and then z, but we group
the x, y, and z components together instead of separate.
Lecture 25 Slide 10
5
9/15/2017
Visual Interpretation of Reordered Equation
A
The matrix now has a very important “block tridiagonal” symmetry. Each slice
through the grid corresponds to a row in the block matrix equation composed of
three square matrices a, b, and c and a column vector f that is usually all zeros.
Ω e f
Slice Equations
We can think of the block tridiagonal matrix equation on the previous
slide as the block matrix form of the following set of matrix equations.
These “slice equations” relate fields in immediately adjacent slices.
B1e1 C1e2 f1
A 2e1 B 2e 2 C2e3 f 2
A 3e 2 B3e3 C3e4 f3
A N 2e N 3 B N 2e N 2 C N 2e N 1 f N 2
A N 1e N 2 B N 1e N 1 C N 1e N f N 1
A N e N 1 B N e N fN
Lecture 25 Slide 12
6
9/15/2017
Slice Absorption Method
Lecture 25 Slide 13
Steps to Calculate Slice Data for a Single Slice
Step 1: Build a grid containing three slices where the
center slice is the slice for which to calculate the
slice data. Simple Dirichlet boundary conditions can
be used for the z‐axis boundaries because only
Slice 2 is of interest here.
reorder Ω
Ω
Step 3: Reorder the data 123 123
B1 C1 0 e1 f1
A B2 C2 e 2 f 2
Step 4: Extract the slice data from the middle 2
0 B3 e3 f3
row of the block matrix equation. A3
Lecture 25 Slide 14
7
9/15/2017
Absorbing a Slice (1 of 5)
Three Slice Equations
We can write the slice equations for three adjacent slices. The center slice is the ith slice.
Lecture 25 Slide 15
Absorbing a Slice (2 of 5)
We solve the middle equation for ei.
Lecture 25 Slide 16
8
9/15/2017
Absorbing a Slice (3 of 5)
Substitute New Expression into First and Third Equation
We eliminate ei from these equations by substituting our new expression into the
first and third equations.
Lecture 25 Slide 17
Absorbing a Slice (4 of 5)
Revised Slice Equations for Slice i‐1 and i+1
These are the equations after the substitution.
Lecture 25 Slide 18
9
9/15/2017
Absorbing a Slice (5 of 5)
Revised Slice Equations for Slice i‐1 and i+1
We expand the equations and collect the coefficients on common electric field terms. This
puts the remaining two slice equations back into their original form, but with revised slice
data.
Lecture 25 Slide 19
Absorbing a Slice (Summary)
Three slice equations Algebraically eliminate ei
A i 1ei 2 Bi 1ei 1 Ci 1ei fi 1 Ai 1ei 2 Bi 1ei 1 Ci 1ei 1 fi1
A i ei 1 Bi ei Ci ei 1 fi Ai 1ei 1 Bi 1ei 1 Ci 1ei 2 fi1
A i 1ei Bi 1ei 1 Ci 1ei 2 fi 1
Ai 1 A i 1 Ai 1 A i 1Bi1A i
Bi 1 Bi 1 Ci 1Bi1A i Bi 1 Bi 1 A i 1Bi1Ci
Ci 1 Ci 1Bi1Ci Ci 1 Ci 1
fi1 fi 1 Ci 1Bi1fi fi1 fi 1 Ai 1Bi1fi
Lecture 25 Slide 20
10
9/15/2017
Forward Absorption from Top
Two slice equations Algebraically eliminate E1
Lecture 25 Slide 21
Backward Absorption from Bottom
Two slice equations Algebraically eliminate E1
Lecture 25 Slide 22
11
9/15/2017
Slice Absorption Procedure
Using the slice absorption procedure described on the previous slide,
we can methodically progress through a large stack of slices, one slice
at a time, and reduce the entire stack to just two adjacent slices by
“absorbing” all interior slices.
Lecture 25 Slide 23
Animation of Slice Absorption Method
Lecture 25 Slide 24
12
9/15/2017
Cascading and Doubling
Given two outer slices describing the unit cell of a periodic structure,
we can perform an efficient cascading and doubling procedure to
quickly describe large stacks.
Note: This can also be used to
efficiently model very thick
homogeneous layers in a device.
Lecture 25 Slide 25
Plane Wave Source
Lecture 25 Slide 26
13
9/15/2017
Total‐Field/Scattered‐Field Framework
Grid Strategy
Spacer Region The grid strategy for
SAM is just like FDFD.
For doubly‐periodic
Device Region devices, an absorbing
boundary is only
needed at the z‐axis
boundaries.
Spacer Region
Lecture 25 Slide 27
Slice Equations at TF/SF Interface
For simplicity, we’ll call the TF/SF
interface slices 1 and 2.
Lecture 25 Slide 28
14
9/15/2017
TF/SF Corrections (1 of 2)
A 2 e1 B 2e 2 C2e3 0 Eq. (2)
Eq. (1) exists in the SF region, but e2 is a TF quantity.
The source in slice 2 must be subtracted from it to
make it look like a SF quantity.
A 2 e1 f1,src B 2e 2 C2e3 0
Lecture 25 Slide 29
TF/SF Corrections (2 of 2)
From the above equations, we make the
following observations:
• The slice data can be calculated without considering
the source or TF/SF framework.
• We must calculate the source function into two
adjacent planes.
• The TF/SF source is easily incorporated through the
right hand side of the above equations.
f1 C1f2,src f 2 A 2f1,src
Lecture 25 Slide 30
15
9/15/2017
Calculating the Source Terms
j k x ,inc x k y ,inc y
px e
j k x ,inc x k y ,inc y
f1,src reorder p y e
j kx ,inc x k y ,inc y
pz e
Lecture 25 Slide 31
Transparent Boundary
Condition
Lecture 25 Slide 32
16
9/15/2017
Notes on the TBC
• Requires homogeneous materials where TBC is
implemented (can be generalized)
• Energy can only be propagating in a single
direction (ensured by TF/SF)
• TBC handles evanescent fields naturally so no
spacer layer is needed.
– Smaller matrices
– More efficient simulations
• FFT operators are slow to construct, but there
may be a better way
Lecture 25 Slide 33
Matrix Tilt Operator
Given the field in a slice ei, we need a matrix operator T that will
remove the phase tilt across the grid giving just the periodic
envelope term from Bloch’s theorem.
ai Tei
This is calculated as
T 0 0
jk xk y
T reorder 0 T 0 T diag e x ,inc y ,inc
0 0 T
Lecture 25 Slide 34
17
9/15/2017
Matrix 2D‐FFT Operator
Given the amplitude component ai of the field in a slice, we need
another matrix operator F that will calculate a 2D FFT in order to
calculate the amplitudes of the spatial harmonics in that slice.
si Fai
The 2D‐FFT is defined as
mp nq
j 2
H m, n h p, q e M N From this, we can construct F’.
p q
h Fh
m, p 0,1, , N x n, p 0,1, , N y
The full‐vector 2D‐FFT matrix operator is then
F 0 0
F reorder 0 F 0
0 0 F
Lecture 25 Slide 35
Matrix Phase Operator
Given the spatial harmonics, we need an operator that will add the
correct phase to each spatial harmonic to propagate them across one
slice.
si 1 Zi si
This is calculated as
Z 0 0 e jkz 1,1z 0
Z reorder 0 Z 0 Z
0 0 Z jk z M , N z
0 e
k z m, n k02 r r k x2 m k y2 n
Lecture 25 Slide 36
18
9/15/2017
Overall Matrix Propagators
We need to calculate a single matrix operator that will calculate the
field in an adjacent slice.
ei 1 Pi ei
1. Remove phase tilt. T ei
2. FFT the field to transform to Fourier‐space. F T ei
3. Add phase to the spatial harmonics. Z i F T ei
1
4. Inverse‐FFT the field to transform to real‐space. F Z i F T ei
5. Reincorporate the phase tilt. T F 1 Z i F T ei
1
The overall propagator is therefore
Pi T1F 1Zi FT FT Zi FT
1
Lecture 25 Slide 37
TBC at Top of Grid
The slice equation for the top slice (slice #1) can be written as
A1 e0 B1e1 C1e 2 f1
The term e0 does not exist because it resides outside of the grid.
Assuming the field at the top of the grid is only moving outward
(bottom to top), we can calculate e0 from e1 using the matrix
propagator calculated in the reflection region.
e0 Pref e1
Substituting this into the original slice equation yields
19
9/15/2017
TBC at Bottom of Grid
The slice equation for the bottom slice (slice N) can be written as
A N e N 1 B N e N C N e N 1 f N
The term eN+1 does not exist because it resides outside of the grid.
Assuming the field at the bottom of the grid is only moving outward
(top to bottom), we can calculate eN+1 from eN using the matrix
propagator calculated in the transmission region.
e N 1 Ptrn e N
Substituting this into the original slice equation yields
Field Solution
Lecture 25 Slide 40
20
9/15/2017
Final Matrix Problem
The slice absorption method algorithm is implemented
until only two slices remain. These are usually the
reflection and transmission record planes. A final
matrix equation is constructed from the remaining two Recall that A1
and CN are no
slice equations. longer needed
because these
described
coupling to
A1e0 B1e1 C1e2 f1 slices from
outside of the
grid.
Field Solution
The fields in the record planes are calculated as
1
e ref e1 B1 C1 f1
e e A B N f N
trn N N
We can recover the vector components of the field in each slice as
follows.
e x ,ref e x ,trn
e y ,ref reorder eref e y ,trn reorder e trn
1 1
e z ,ref e z ,trn
Lecture 25 Slide 42
21
9/15/2017
Calculating Diffraction Efficiencies
The amplitudes of the spatial harmonics are calculated as
s ref FT e ref s trn FT e trn
Assuming the incident wave is given unit amplitude, the diffraction
efficiencies are calculate as usual.
2 Re k z ,ref m, n r,inc
RDE m, n Sref m, n These equations
Re k z ,inc r,inc assume the source was
given unit amplitude.
2 Re k z ,trn m, n r,trn
TDE m, n S trn m, n
Sinc 1
Re k z ,inc r,inc
Lecture 25 Slide 43
Fourier‐Space SAM
Lecture 25 Slide 44
22
9/15/2017
Comparison to Real‐Space SAM
Ω e f
Lecture 25 Slide 45
Formulation of Fourier‐Space SAM
Lecture 25 Slide 46
23
9/15/2017
Example Simulations
Lecture 25 Slide 47
Photonic Crystals Fabricated by Multi‐Photon
Direct Laser Writing
This is a scanning electron microscope image of a photonic
crystal designed to operate in the infrared.
R. C. Rumpf, A. Tal, S. M. Kuebler, “Rigorous electromagnetic analysis of volumetrically complex media using the slice absorption
method,” J. Opt. Soc. Am. A 24(10), 3123‐3134, 2007.
Lecture 25 Slide 48
24
9/15/2017
Fourier Transform Infrared Spectrometer
Samples are illuminated by a hollow
Gaussian beam produced by a
Cassegrain optic.
Reflected infrared energy at near
normal reflection angle is collected and
measured.
R. C. Rumpf, A. Tal, S. M. Kuebler, “Rigorous electromagnetic analysis of volumetrically complex media using the slice absorption
method,” J. Opt. Soc. Am. A 24(10), 3123‐3134, 2007.
Lecture 25 Slide 49
Predicting Accurate Geometry
To predict the geometry of the photonic crystal more accurately, the
DLW process was simulated in MATLAB.
Idealized Geometry Realistic Geometry
Lecture 25 Slide 50
25
9/15/2017
Numerical Representation of Device
R. C. Rumpf, A. Tal, S. M. Kuebler, “Rigorous electromagnetic analysis of volumetrically complex media using the slice absorption
method,” J. Opt. Soc. Am. A 24(10), 3123‐3134, 2007.
Lecture 25 Slide 51
Results from SAM
There is am important lesson here in terms of the importance of incorporating realistic
geometry into your models.
R. C. Rumpf, A. Tal, S. M. Kuebler, “Rigorous electromagnetic analysis of volumetrically complex media using the slice absorption
method,” J. Opt. Soc. Am. A 24(10), 3123‐3134, 2007.
Lecture 25 Slide 52
26
9/15/2017
Metallo‐Dielectric Photonic Crystals
Before copper plating After copper plating
A. Tal, Y.‐S. Chen, H. E. Williams, R. C. Rumpf, S. M. Kuebler, “Fabrication and characterization of three‐dimensional copper
metallodielectric photonic crystals,” Optics Express 15(26), 18283‐18293, 2007.
Lecture 25 Slide 53
“State‐of‐the‐Art” Simulation of Reflectance
V. Mizeikis, S. Juodkazis, R. Tarozaite, J. Juodkazyte, K. Juodkazis, H. Misawa, “Fabrication and properties of metalo-dielectric photonic
crystal structures for infrared spectral region,” Opt. Express 15, 8454-8464 (2007)
Lecture 25 Slide 54
27
9/15/2017
A Better Simulation of Reflectance
A. Tal, Y. -S. Chen, H. E. Williams, R. C. Rumpf, and S. M. Kuebler, "Fabrication and characterization of three-dimensional copper
metallodielectric photonic crystals," Opt. Express 15, 18283-18293 (2007)
Lecture 25 Slide 55
Side‐by‐Side Comparison
V. Mizeikis, S. Juodkazis, R. Tarozaite, J. Juodkazyte, K. Juodkazis, H. A. Tal, Y. -S. Chen, H. E. Williams, R. C. Rumpf, and S. M. Kuebler,
Misawa, “Fabrication and properties of metalo-dielectric photonic crystal "Fabrication and characterization of three-dimensional copper metallodielectric
structures for infrared spectral region,” Opt. Express 15, 8454-8464 (2007) photonic crystals," Opt. Express 15, 18283-18293 (2007)
Lecture 25 Slide 56
28
9/15/2017
What Was Their Big Mistake?
Below 10 m (or so), this photonic crystal
is a diffracting structure.
The optical configuration inside the FTIR cuts
off the higher order modes. Essentially, it is
only the zero‐order diffracted mode that gets
detected.
Lecture 25 Slide 57
Dispersion Analysis
Using the SAM
Lecture 25 Slide 58
29
9/15/2017
Starting Point
Using the standard SAM algorithm, it is possible to reduce a unit cell
to two slice equations, one at each boundary of the unit cell.
A N e1 B N e N C N e N 1 0
Lecture 25 Slide 59
Derivation of the Eigen‐Value Problem (1 of 3)
Assuming the unit cell is infinitely periodic in the z direction,
boundary conditions allow e0 and eN+1 to be written in terms of slices
contained in the unit cell.
e0 e j z z e N
e N 1 e j z z e1
Lecture 25 Slide 60
30
9/15/2017
Derivation of the Eigen‐Value Problem (2 of 3)
Substituting the new expressions into the slice equations gives
A1e0 B1e1 C1e N 0 A N e1 B N e N C N e N 1 0
jz z
e0 e eN e N 1 e j z z e1
After some algebraic manipulation to get ejzz on the right‐hand side
of the equations, we get
Lecture 25 Slide 61
Derivation of the Eigen‐Value Problem (3 of 3)
Our last two equations can be written in block matrix form as
B1e1 C1e N e j z z A1e N B1 C1 e1 0 A1 e1
C e j z z
C N e1 e jz z
A N e1 e jz z
BN eN N 0 e N A
N B N e N
This has the form of a generalized eigen‐value problem
Ax vBx
B C1 0 A1 e
A 1 B x 1 v e jz z
C N 0 AN B N e N
Lecture 25 Slide 62
31
9/15/2017
Parameter Retrieval
The effective parameters of the unit cell can be determined one of
two ways:
1. Field Averaging – The eigen‐vectors give the field values at the
boundary slices. From these, the fields in all interior slices can
be calculated. After all the fields are known, the field averaging
technique can be implemented.
2. T‐Matrix Parameter Retrieval – The effective properties of the
unit cell can be retrieved from the eigen‐value following the
T‐matrix parameter retrieval method.
ln v 2 m
e j z z neff m branch # no Re neff
k0 z
Im neff
Lecture 25 Slide 63
32