List of figures |
|
xv | |
List of tables |
|
xxiv | |
Preface |
|
xxv | |
Acknowledgements |
|
xxviii | |
1 Introduction to FDTD |
|
1 | (32) |
|
1.1 The finite-difference time-domain method basic equations |
|
|
2 | (2) |
|
1.2 Approximation of derivatives by finite differences |
|
|
4 | (9) |
|
1.3 FDTD updating equations for three-dimensional problems |
|
|
13 | (10) |
|
1.4 FDTD updating equations for two-dimensional problems |
|
|
23 | (4) |
|
1.5 FDTD updating equations for one-dimensional problems |
|
|
27 | (5) |
|
|
32 | (1) |
2 Numerical stability and dispersion |
|
33 | (10) |
|
|
33 | (4) |
|
2.1.1 Stability in time-domain algorithm |
|
|
33 | (2) |
|
2.1.2 CFL condition for the FDTD method |
|
|
35 | (2) |
|
|
37 | (4) |
|
|
41 | (2) |
3 Building objects in the Yee grid |
|
43 | (28) |
|
3.1 Definition of objects |
|
|
43 | (7) |
|
3.1.1 Defining the problem space parameters |
|
|
45 | (3) |
|
3.1.2 Defining the objects in the problem space |
|
|
48 | (2) |
|
3.2 Material approximations |
|
|
50 | (2) |
|
3.3 Subcell averaging schemes for tangential and normal components |
|
|
52 | (3) |
|
3.4 Defining objects snapped to the Yee grid |
|
|
55 | (3) |
|
3.4.1 Defining zero-thickness PEC objects |
|
|
57 | (1) |
|
3.5 Creation of the material grid |
|
|
58 | (8) |
|
3.6 Improved eight-subcell averaging |
|
|
66 | (1) |
|
|
66 | (5) |
4 Active and passive lumped elements |
|
71 | (72) |
|
4.1 FDTD updating equations for lumped elements |
|
|
71 | (15) |
|
|
72 | (2) |
|
4.1.2 Hard voltage source |
|
|
74 | (1) |
|
|
75 | (1) |
|
|
76 | (1) |
|
|
77 | (1) |
|
|
78 | (1) |
|
4.1.7 Lumped elements distributed over a surface or within a volume |
|
|
79 | (2) |
|
|
81 | (4) |
|
|
85 | (1) |
|
4.2 Definition, initialization, and simulation of lumped elements |
|
|
86 | (46) |
|
4.2.1 Definition of lumped elements |
|
|
86 | (3) |
|
4.2.2 Initialization of FDTD parameters and arrays |
|
|
89 | (1) |
|
4.2.3 Initialization of lumped element components |
|
|
90 | (7) |
|
4.2.4 Initialization of updating coefficients |
|
|
97 | (11) |
|
4.2.5 Sampling electric and magnetic fields, voltages, and currents |
|
|
108 | (3) |
|
4.2.6 Definition and initialization of output parameters |
|
|
111 | (8) |
|
4.2.7 Running an FDTD simulation: The time-marching loop |
|
|
119 | (10) |
|
4.2.8 Displaying FDTD simulation results |
|
|
129 | (3) |
|
|
132 | (9) |
|
4.3.1 A resistor excited by a sinusoidal voltage source |
|
|
132 | (3) |
|
4.3.2 A diode excited by a sinusoidal voltage source |
|
|
135 | (2) |
|
4.3.3 A capacitor excited by a unit-step voltage source |
|
|
137 | (4) |
|
|
141 | (2) |
5 Source waveforms and time to frequency domain transformation |
|
143 | (26) |
|
5.1 Common source waveforms for FDTD simulations |
|
|
143 | (8) |
|
5.1.1 Sinusoidal waveform |
|
|
144 | (1) |
|
|
145 | (3) |
|
5.1.3 Normalized derivative of a Gaussian waveform |
|
|
148 | (3) |
|
5.1.4 Cosine-modulated Gaussian waveform |
|
|
151 | (1) |
|
5.2 Definition and initialization of source waveforms for FDTD simulations |
|
|
151 | (4) |
|
5.3 Transformation from time domain to frequency domain |
|
|
155 | (3) |
|
|
158 | (9) |
|
5.4.1 Recovering a time waveform from its Fourier transform |
|
|
160 | (2) |
|
5.4.2 An RLC circuit excited by a cosine-modulated Gaussian waveform |
|
|
162 | (5) |
|
|
167 | (2) |
6 S-Parameters |
|
169 | (16) |
|
6.1 Scattering parameters |
|
|
169 | (1) |
|
6.2 S-Parameter calculations |
|
|
170 | (9) |
|
|
179 | (5) |
|
6.3.1 Quarter-wave transformer |
|
|
179 | (5) |
|
|
184 | (1) |
7 Perfectly matched layer absorbing boundary |
|
185 | (44) |
|
|
185 | (6) |
|
7.1.1 Theory of PML at the vacuum—PML interface |
|
|
185 | (3) |
|
7.1.2 Theory of PML at the PML—PML interface |
|
|
188 | (3) |
|
7.2 PML equations for three-dimensional problem space |
|
|
191 | (1) |
|
|
192 | (2) |
|
7.4 FDTD updating equations for PML and MATLAB® implementation |
|
|
194 | (21) |
|
7.4.1 PML updating equations — two-dimensional TEz case |
|
|
194 | (3) |
|
7.4.2 PML updating equations — two-dimensional TMz case |
|
|
197 | (2) |
|
7.4.3 MATLAB® implementation of the two-dimensional FDTD method with PML |
|
|
199 | (16) |
|
|
215 | (12) |
|
7.5.1 Validation of PML performance |
|
|
215 | (5) |
|
7.5.2 Electric field distribution |
|
|
220 | (5) |
|
7.5.3 Electric field distribution using DFT |
|
|
225 | (2) |
|
|
227 | (2) |
8 Advanced PML formulations |
|
229 | (50) |
|
|
229 | (5) |
|
8.1.1 PML in stretched coordinates |
|
|
229 | (1) |
|
8.1.2 Complex stretching variables in CFS-PML |
|
|
230 | (1) |
|
8.1.3 The matching conditions at the PML—PML interface |
|
|
231 | (1) |
|
8.1.4 Equations in the time domain |
|
|
231 | (1) |
|
8.1.5 Discrete convolution |
|
|
231 | (1) |
|
8.1.6 The recursive convolution method |
|
|
232 | (2) |
|
|
234 | (3) |
|
8.2.1 Updating equations for CPML |
|
|
235 | (1) |
|
8.2.2 Addition of auxiliary CPML terms at respective regions |
|
|
236 | (1) |
|
8.3 CPML parameter distribution |
|
|
237 | (1) |
|
8.4 MATLAB® implementation of CPML in the three-dimensional FDTD method |
|
|
238 | (11) |
|
|
239 | (1) |
|
8.4.2 Initialization of CPML |
|
|
240 | (6) |
|
8.4.3 Application of CPML in the FDTD time-marching loop |
|
|
246 | (3) |
|
|
249 | (15) |
|
8.5.1 Microstrip low-pass filter |
|
|
249 | (1) |
|
8.5.2 Microstrip branch line coupler |
|
|
250 | (8) |
|
8.5.3 Characteristic impedance of a microstrip line |
|
|
258 | (6) |
|
8.6 CPML in the two-dimensional FDTD method |
|
|
264 | (3) |
|
8.7 MATLAB® implementation of CPML in the two-dimensional FDTD method |
|
|
267 | (6) |
|
|
268 | (1) |
|
8.7.2 Initialization of CPML |
|
|
268 | (1) |
|
8.7.3 Application of CPML in the FDTD time-marching loop |
|
|
269 | (2) |
|
8.7.4 Validation of CPML performance |
|
|
271 | (2) |
|
8.8 Auxiliary differential equation PML |
|
|
273 | (2) |
|
8.8.1 Derivation of the ADE-PML formulation |
|
|
273 | (2) |
|
8.8.2 MATLAB® implementation of the ADE-PML formulation |
|
|
275 | (1) |
|
|
275 | (4) |
9 Near-field to far-field transformation |
|
279 | (44) |
|
9.1 Implementation of the surface equivalence theorem |
|
|
281 | (4) |
|
9.1.1 Surface equivalence theorem |
|
|
281 | (1) |
|
9.1.2 Equivalent surface currents in FDTD simulation |
|
|
282 | (3) |
|
9.1.3 Antenna on infinite ground plane |
|
|
285 | (1) |
|
9.2 Frequency domain near-field to far-field transformation |
|
|
285 | (4) |
|
9.2.1 Time-domain to frequency-domain transformation |
|
|
285 | (1) |
|
9.2.2 Vector potential approach |
|
|
286 | (1) |
|
9.2.3 Polarization of radiation field |
|
|
287 | (2) |
|
9.2.4 Radiation efficiency |
|
|
289 | (1) |
|
9.3 MATLAB® implementation of near-field to far-field transformation |
|
|
289 | (20) |
|
9.3.1 Definition of NF—FF parameters |
|
|
289 | (1) |
|
9.3.2 Initialization of NF—FF parameters |
|
|
290 | (3) |
|
9.3.3 NF—FF DFT during time-marching loop |
|
|
293 | (4) |
|
9.3.4 Postprocessing for far-field calculation |
|
|
297 | (12) |
|
|
309 | (11) |
|
|
309 | (6) |
|
9.4.2 Strip-fed rectangular dielectric resonator antenna |
|
|
315 | (5) |
|
|
320 | (3) |
10 Thin-wire modeling |
|
323 | (22) |
|
10.1 Thin-wire formulation |
|
|
323 | (4) |
|
10.2 MATLAB® implementation of the thin-wire formulation |
|
|
327 | (3) |
|
|
330 | (5) |
|
10.3.1 Thin-wire dipole antenna |
|
|
330 | (5) |
|
10.4 An improved thin-wire model |
|
|
335 | (4) |
|
10.5 MATLAB® implementation of the improved thin-wire formulation |
|
|
339 | (1) |
|
|
339 | (2) |
|
|
341 | (4) |
11 Scattered field formulation |
|
345 | (36) |
|
11.1 Scattered field basic equations |
|
|
345 | (1) |
|
11.2 The scattered field updating equations |
|
|
346 | (4) |
|
11.3 Expressions for the incident plane waves |
|
|
350 | (4) |
|
11.4 MATLAB® implementation of the scattered field formulation |
|
|
354 | (11) |
|
11.4.1 Definition of the incident plane wave |
|
|
354 | (1) |
|
11.4.2 Initialization of the incident fields |
|
|
355 | (3) |
|
11.4.3 Initialization of the updating coefficients |
|
|
358 | (1) |
|
11.4.4 Calculation of the scattered fields |
|
|
359 | (2) |
|
11.4.5 Postprocessing and simulation results |
|
|
361 | (4) |
|
|
365 | (15) |
|
11.5.1 Scattering from a dielectric sphere |
|
|
365 | (5) |
|
11.5.2 Scattering from a dielectric cube |
|
|
370 | (6) |
|
11.5.3 Reflection and transmission coefficients of a dielectric slab |
|
|
376 | (4) |
|
|
380 | (1) |
12 Total field/scattered field formulation |
|
381 | (16) |
|
|
381 | (5) |
|
12.2 MATLAB® implementation of the TF/SF formulation |
|
|
386 | (7) |
|
12.2.1 Definition and initialization of incident fields |
|
|
386 | (3) |
|
12.2.2 Updating incident fields |
|
|
389 | (1) |
|
12.2.3 Updating fields on both sides of the TF/SF boundary |
|
|
390 | (3) |
|
|
393 | (3) |
|
12.3.1 Fields in an empty problem space |
|
|
394 | (1) |
|
12.3.2 Scattering from a dielectric sphere |
|
|
395 | (1) |
|
|
396 | (1) |
13 Dispersive material modeling |
|
397 | (16) |
|
13.1 Modeling dispersive media using ADE technique |
|
|
398 | (4) |
|
13.1.1 Modeling Debye medium using ADE technique |
|
|
398 | (2) |
|
13.1.2 Modeling Lorentz medium using ADE technique |
|
|
400 | (1) |
|
13.1.3 Modeling Drude medium using ADE technique |
|
|
401 | (1) |
|
13.2 MATLAB® implementation of ADE algorithm for Lorentz medium |
|
|
402 | (8) |
|
13.2.1 Definition of Lorentz material parameters |
|
|
402 | (1) |
|
13.2.2 Material grid construction for Lorentz objects |
|
|
403 | (3) |
|
13.2.3 Initialization of updating coefficients |
|
|
406 | (2) |
|
13.2.4 Field updates in time-marching loop |
|
|
408 | (2) |
|
|
410 | (2) |
|
13.3.1 Scattering from a dispersive sphere |
|
|
410 | (2) |
|
|
412 | (1) |
14 Analysis of periodic structures |
|
413 | (34) |
|
14.1 Periodic boundary conditions |
|
|
413 | (4) |
|
14.2 Constant horizontal wavenumber method |
|
|
417 | (5) |
|
|
422 | (2) |
|
14.4 Reflection and transmission coefficients |
|
|
424 | (5) |
|
14.4.1 TE mode reflection and transmission coefficients |
|
|
425 | (2) |
|
14.4.2 TM mode reflection and transmission coefficients |
|
|
427 | (1) |
|
14.4.3 TEM mode reflection and transmission coefficients |
|
|
428 | (1) |
|
14.5 MATLAB® implementation of PBC FDTD algorithm |
|
|
429 | (13) |
|
14.5.1 Definition of a PBC simulation |
|
|
429 | (2) |
|
14.5.2 Initialization of PBC |
|
|
431 | (3) |
|
14.5.3 PBC updates in time-marching loop |
|
|
434 | (8) |
|
|
442 | (5) |
|
14.6.1 Reflection and transmission coefficients of a dielectric slab |
|
|
442 | (1) |
|
14.6.2 Reflection and transmission coefficients of a dipole FSS |
|
|
443 | (1) |
|
14.6.3 Reflection and transmission coefficients of a Jarusalem-cross FSS |
|
|
444 | (3) |
15 Nonuniform grid |
|
447 | (24) |
|
|
447 | (1) |
|
15.2 Transition between fine and coarse grid subregions |
|
|
447 | (5) |
|
15.3 FDTD updating equations for the nonuniform grids |
|
|
452 | (2) |
|
15.4 Active and passive lumped elements |
|
|
454 | (3) |
|
15.5 Defining objects snapped to the electric field grid |
|
|
457 | (1) |
|
15.6 MATLAB® implementation of nonuniform grids |
|
|
458 | (8) |
|
15.6.1 Definition of subregions |
|
|
459 | (1) |
|
15.6.2 Initialization of subregions |
|
|
460 | (4) |
|
15.6.3 Initialization of updating coefficients |
|
|
464 | (2) |
|
15.6.4 Initialization of time step duration |
|
|
466 | (1) |
|
|
466 | (5) |
|
15.7.1 Microstrip patch antenna |
|
|
466 | (1) |
|
15.7.2 Three-pole microstrip low-pass filter |
|
|
467 | (4) |
16 Graphics processing unit acceleration of finite-difference time-domain method |
|
471 | (20) |
|
16.1 GPU programming using CUDA |
|
|
472 | (5) |
|
|
472 | (2) |
|
|
474 | (2) |
|
|
476 | (1) |
|
16.1.4 Performance optimization in CUDA |
|
|
477 | (1) |
|
16.1.5 Achieving parallelism |
|
|
477 | (1) |
|
16.2 CUDA implementation of two-dimensional FDTD |
|
|
477 | (10) |
|
16.2.1 Coalesced global memory access |
|
|
479 | (2) |
|
16.2.2 Thread to cell mapping |
|
|
481 | (5) |
|
16.2.3 Use of shared memory |
|
|
486 | (1) |
|
16.2.4 Optimization of number of threads |
|
|
487 | (1) |
|
16.3 Performance of two-dimensional FDTD on CUDA |
|
|
487 | (4) |
Appendix A One-dimensional FDTD code |
|
491 | (4) |
Appendix B Convolutional perfectly-matched layer regions and associated field updates for three-dimensional domain |
|
495 | (10) |
Appendix C MATLAB® code for plotting far-field patterns |
|
505 | (4) |
Appendix D MATLAB® GUI for project template |
|
509 | (2) |
References |
|
511 | (8) |
About the authors |
|
519 | (4) |
Index |
|
523 | |