Foreword |
|
xiii | |
Preface |
|
xv | |
Acknowledgments |
|
xvii | |
Introduction |
|
xix | |
References |
|
xxii | |
|
Chapter 1 MATLAB Preliminaries |
|
|
1 | (32) |
|
1.1 Basic Structure of an FDFD Program in MATLAB |
|
|
1 | (2) |
|
1.1.1 MATLAB Code for Ideal Structure of a Program |
|
|
2 | (1) |
|
1.2 MATLAB and Linear Algebra |
|
|
3 | (5) |
|
|
6 | (2) |
|
|
8 | (1) |
|
1.3 Setting Up a Grid in MATLAB |
|
|
8 | (7) |
|
1.3.1 MATLAB Array Indexing |
|
|
8 | (2) |
|
1.3.2 Parameters Describing a Grid in MATLAB |
|
|
10 | (1) |
|
1.3.3 Calculating the Grid Parameters |
|
|
11 | (4) |
|
1.4 Building Geometries onto Grids |
|
|
15 | (10) |
|
1.4.1 Adding Rectangles to a Grid |
|
|
16 | (1) |
|
1.4.2 The Centering Algorithm |
|
|
17 | (2) |
|
|
19 | (1) |
|
1.4.4 Adding Circles and Ellipses to a Grid |
|
|
20 | (2) |
|
|
22 | (1) |
|
|
23 | (2) |
|
1.5 Three-Dimensional Grids |
|
|
25 | (2) |
|
1.6 Visualization Techniques |
|
|
27 | (6) |
|
1.6.1 Visualizing Data on Grids |
|
|
27 | (2) |
|
1.6.2 Visualizing Three-Dimensional Data |
|
|
29 | (2) |
|
1.6.3 Visualizing Complex Data |
|
|
31 | (1) |
|
1.6.4 Animating the Fields Calculated by FDFD |
|
|
32 | (1) |
|
|
32 | (1) |
|
Chapter 2 Electromagnetic Preliminaries |
|
|
33 | (38) |
|
|
33 | (4) |
|
2.2 The Constitutive Parameters |
|
|
37 | (5) |
|
2.2.1 Anisotropy, Tensors, and Rotation Matrices |
|
|
37 | (2) |
|
2.2.2 Rotation Matrices and Tensor Rotation |
|
|
39 | (3) |
|
2.3 Expansion of Maxwell's Curl Equations in Cartesian Coordinates |
|
|
42 | (1) |
|
2.4 The Electromagnetic Wave Equation |
|
|
43 | (2) |
|
2.5 Electromagnetic Waves in LHI Media |
|
|
45 | (4) |
|
|
46 | (3) |
|
2.6 The Dispersion Relation for LHI Media |
|
|
49 | (1) |
|
2.7 Scattering at an Interface |
|
|
49 | (6) |
|
2.7.1 Reflectance and Transmittance |
|
|
52 | (3) |
|
2.8 What is a Two-Dimensional Simulation? |
|
|
55 | (1) |
|
2.9 Diffraction from Gratings |
|
|
56 | (6) |
|
2.9.1 The Grating Equation |
|
|
57 | (2) |
|
2.9.2 Diffraction Efficiency |
|
|
59 | (1) |
|
2.9.3 Generalization to Crossed Gratings |
|
|
60 | (2) |
|
2.10 Waveguides and Transmission Lines |
|
|
62 | (6) |
|
2.10.1 Waveguide Modes and Parameters |
|
|
63 | (3) |
|
2.10.2 Transmission Line Parameters |
|
|
66 | (2) |
|
2.11 Scalability of Maxwell's Equations |
|
|
68 | (1) |
|
2.12 Numerical Solution to Maxwell's Equations |
|
|
69 | (2) |
|
|
70 | (1) |
|
Chapter 3 The Finite-Difference Method |
|
|
71 | (24) |
|
|
71 | (1) |
|
3.2 Finite-Difference Approximations |
|
|
72 | (8) |
|
3.2.1 Deriving Expressions for Finite-Difference Approximations |
|
|
73 | (3) |
|
3.2.2 Example #1---Interpolations and Derivatives from Three Points |
|
|
76 | (2) |
|
3.2.3 Example #2---Interpolations and Derivatives from Two Points |
|
|
78 | (1) |
|
3.2.4 Example #3---Interpolations and Derivatives from Four Points |
|
|
79 | (1) |
|
3.3 Numerical Differentiation |
|
|
80 | (1) |
|
3.4 Numerical Boundary Conditions |
|
|
81 | (1) |
|
3.4.1 Dirichlet Boundary Conditions |
|
|
81 | (1) |
|
3.4.2 Periodic Boundary Conditions |
|
|
82 | (1) |
|
|
82 | (3) |
|
3.6 Finite-Difference Approximation of Differential Equations |
|
|
85 | (2) |
|
3.7 Solving Matrix Differential Equations |
|
|
87 | (2) |
|
3.7.1 Example---Solving a Single-Variable Differential Equation |
|
|
87 | (2) |
|
3.8 Multiple Variables and Staggered Grids |
|
|
89 | (6) |
|
3.8.1 Example---Solving a Multivariable Problem |
|
|
92 | (2) |
|
|
94 | (1) |
|
Chapter 4 Finite-Difference Approximation of Maxwell's Equations |
|
|
95 | (46) |
|
4.1 Introduction to the Yee Grid Scheme |
|
|
95 | (2) |
|
4.2 Preparing Maxwell's Equations for FDFD Analysis |
|
|
97 | (2) |
|
4.3 Finite-Difference Approximation of Maxwell's Curl Equations |
|
|
99 | (4) |
|
4.4 Finite-Difference Equations for Two-Dimensional FDFD |
|
|
103 | (4) |
|
4.4.1 Derivation of E Mode Equations When Frequency Is Not Known |
|
|
105 | (1) |
|
4.4.2 Derivation of H Mode Equations When Frequency Is Not Known |
|
|
105 | (1) |
|
4.4.3 Derivation of E Mode Equations When Frequency Is Known |
|
|
106 | (1) |
|
4.4.4 Derivation of H Mode Equations When Frequency Is Known |
|
|
106 | (1) |
|
4.5 Derivative Matrices for Two-Dimensional FDFD |
|
|
107 | (13) |
|
4.5.1 Derivative Matrices Incorporating Dirichlet Boundary Conditions |
|
|
108 | (4) |
|
4.5.2 Periodic Boundary Conditions |
|
|
112 | (3) |
|
4.5.3 Derivative Matrices Incorporating Periodic Boundary Conditions |
|
|
115 | (4) |
|
4.5.4 Relationship Between the Derivative Matrices |
|
|
119 | (1) |
|
4.6 Derivative Matrices for Three-Dimensional FDFD |
|
|
120 | (4) |
|
4.6.1 Relationship Between the Derivative Matrices |
|
|
123 | (1) |
|
4.7 Programming the yeeder2d() Function in MATLAB |
|
|
124 | (4) |
|
4.7.1 Using the yeeder2d() Function |
|
|
126 | (2) |
|
4.8 Programming the yeeder3d() Function in MATLAB |
|
|
128 | (3) |
|
4.8.1 Using the yeeder3d() Function |
|
|
129 | (2) |
|
4.9 The 2x Grid Technique |
|
|
131 | (3) |
|
4.10 Numerical Dispersion |
|
|
134 | (7) |
|
|
139 | (2) |
|
Chapter 5 The Perfectly Matched Layer Absorbing Boundary |
|
|
141 | (20) |
|
5.1 The Absorbing Boundary |
|
|
141 | (2) |
|
5.2 Derivation of the UPML Absorbing Boundary |
|
|
143 | (3) |
|
5.3 Incorporating the UPML into Maxwell's Equations |
|
|
146 | (1) |
|
5.4 Calculating the UPML Parameters |
|
|
147 | (2) |
|
5.5 Implementation of the UPML in MATLAB |
|
|
149 | (4) |
|
5.5.1 Using the addupml2d() Function |
|
|
150 | (3) |
|
5.6 The SCPML Absorbing Boundary |
|
|
153 | (8) |
|
5.6.1 MATLAB Implementation of calcpml3d() |
|
|
155 | (1) |
|
5.6.2 Using the calcpml3d() Function |
|
|
155 | (4) |
|
|
159 | (2) |
|
Chapter 6 FDFD for Calculating Guided Modes |
|
|
161 | (38) |
|
6.1 Formulation for Rigorous Hybrid Mode Calculation |
|
|
161 | (5) |
|
6.2 Formulation for Rigorous Slab Waveguide Mode Calculation |
|
|
166 | (5) |
|
6.2.1 Formulation of E Mode Slab Waveguide Analysis |
|
|
167 | (1) |
|
6.2.2 Formulation of H Mode Slab Waveguide Analysis |
|
|
168 | (1) |
|
6.2.3 Formulations for Slab Waveguides in Other Orientations |
|
|
168 | (1) |
|
6.2.4 The Effective Index Method |
|
|
169 | (2) |
|
6.3 Implementation of Waveguide Mode Calculations |
|
|
171 | (21) |
|
6.3.1 MATLAB Implementation of Rib Waveguide Analysis |
|
|
172 | (7) |
|
6.3.2 MATLAB Implementation of Slab Waveguide Analysis |
|
|
179 | (6) |
|
6.3.3 Animating the Slab Waveguide Mode |
|
|
185 | (2) |
|
|
187 | (1) |
|
6.3.5 MATLAB Implementation for Calculating SPPs |
|
|
188 | (4) |
|
6.4 Implementation of Transmission Line Analysis |
|
|
192 | (7) |
|
|
197 | (2) |
|
Chapter 7 FDFD for Calculating Photonic Bands |
|
|
199 | (16) |
|
7.1 Photonic Bands for Rectangular Lattices |
|
|
199 | (2) |
|
7.2 Formulation for Rectangular Lattices |
|
|
201 | (2) |
|
7.3 Implementation of Photonic Band Calculation |
|
|
203 | (12) |
|
7.3.1 Description of MATLAB Code for Calculating Photonic Band Diagrams |
|
|
205 | (5) |
|
7.3.2 Description of MATLAB Code for Calculating IFCs |
|
|
210 | (4) |
|
|
214 | (1) |
|
Chapter 8 FDFD for Scattering Analysis |
|
|
215 | (40) |
|
8.1 Formulation of FDFD for Scattering Analysis |
|
|
215 | (2) |
|
8.1.1 Matrix Wave Equations for Two-Dimensional Analysis |
|
|
215 | (2) |
|
8.2 Incorporating Sources |
|
|
217 | (9) |
|
8.2.1 Derivation of the QAAQ Equation |
|
|
218 | (2) |
|
8.2.2 Calculating the Source Field FSRC (x,y) |
|
|
220 | (2) |
|
8.2.3 Calculating the SF Masking Matrix Q |
|
|
222 | (2) |
|
8.2.4 Compensating for Numerical Dispersion |
|
|
224 | (2) |
|
8.3 Calculating Reflection and Transmission for Periodic Structures |
|
|
226 | (2) |
|
8.4 Implementation of the FDFD Method for Scattering Analysis |
|
|
228 | (27) |
|
8.4.1 Standard Sequence of Simulations for a Newly Written FDFD Code |
|
|
231 | (2) |
|
8.4.2 FDFD Analysis of a Sawtooth Diffraction Grating |
|
|
233 | (6) |
|
8.4.3 FDFD Analysis of a Self-Collimating Photonic Crystal |
|
|
239 | (7) |
|
8.4.4 FDFD Analysis of an OIC Directional Coupler |
|
|
246 | (6) |
|
|
252 | (3) |
|
Chapter 9 Parameter Sweeps with FDFD |
|
|
255 | (14) |
|
9.1 Introduction to Parameter Sweeps |
|
|
255 | (2) |
|
9.2 Modifying FDFD for Parameter Sweeps |
|
|
257 | (9) |
|
9.2.1 Generic MATLAB Function to Simulate Periodic Structures |
|
|
258 | (2) |
|
9.2.2 Main MATLAB Program to Simulate the GMRF |
|
|
260 | (2) |
|
9.2.3 Main MATLAB Programs to Analyze a Metal Polarizer |
|
|
262 | (4) |
|
9.3 Identifying Common Problems in FDFD |
|
|
266 | (3) |
|
|
267 | (2) |
|
Chapter 10 FDFD Analysis of Three-Dimensional and Anisotropic Devices |
|
|
269 | (36) |
|
10.1 Formulation of Three-Dimensional FDFD |
|
|
269 | (8) |
|
10.1.1 Finite-Difference Approximation of Maxwell's Curl Equations |
|
|
270 | (3) |
|
10.1.2 Maxwell's Equations in Matrix Form |
|
|
273 | (1) |
|
10.1.3 Interpolation Matrices |
|
|
274 | (1) |
|
10.1.4 Three-Dimensional Matrix Wave Equation |
|
|
275 | (2) |
|
10.2 Incorporating Sources into Three-Dimensional FDFD |
|
|
277 | (1) |
|
10.3 Iterative Solution for FDFD |
|
|
278 | (2) |
|
10.4 Calculating Reflection and Transmission for Doubly Periodic Structures |
|
|
280 | (2) |
|
10.5 Implementation of Three-Dimensional FDFD and Examples |
|
|
282 | (23) |
|
10.5.1 Standard Sequence of Simulations for a Newly Written Three-Dimensional FDFD Code |
|
|
282 | (3) |
|
10.5.2 Generic Three-Dimensional FDFD Function to Simulate Periodic Structures |
|
|
285 | (2) |
|
10.5.3 Simulation of a Crossed-Grating GMRF |
|
|
287 | (3) |
|
10.5.4 Simulation of a Frequency Selective Surface |
|
|
290 | (4) |
|
10.5.5 Parameter Retrieval for a Left-Handed Metamaterial |
|
|
294 | (6) |
|
10.5.6 Simulation of an Invisibility Cloak |
|
|
300 | (3) |
|
|
303 | (2) |
|
|
|
A.1 Best Practices for Building Devices onto Yee Grids |
|
|
305 | (3) |
|
|
308 | (5) |
List of Acronyms and Abbreviations |
|
313 | (2) |
About the Author |
|
315 | (2) |
Index |
|
317 | |