The Finite-Difference Time-Domain Method for Electromagnetics with MATLAB® Simulations

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

This book introduces the powerful Finite-Difference Time-Domain method to students and interested researchers and readers. An effective introduction is accomplished using a step-by-step process that builds competence and confidence in developing complete working codes for the design and analysis of various antennas and microwave devices. This book will serve graduate students, researchers, and those in industry and government who are using other electromagnetics tools and methods for the sake of performing independent numerical confirmation. No previous experience with finite-difference methods is assumed of readers.

Key features

  • Presents the fundamental techniques of the FDTD method at a graduate level, taking readers from conceptual understanding to actual program development.
  • Full derivations are provided for final equations.
  • Includes 3D illustrations to aid in visualization of field components and fully functional MATLAB® code examples.
  • Completely revised and updated for this second edition, including expansion into advanced techniques such as total field/scattered field formulation, dispersive material modeling, analysis of periodic structures, non-uniform grid, and graphics processing unit acceleration of finite-difference time-domain method.

Author(s): Atef Z. Elsherbeni, Veysel Demir
Series: Electromagnetic Waves
Edition: 2
Publisher: Scitech Publishing
Year: 2015

Language: English
Pages: 559
City: Edison

Cover
Title
Copyright
Contents
List of figures
List of tables
Preface
Acknowledgements
1 Introduction to FDTD
1.1 The finite-difference time-domain method basic equations
1.2 Approximation of derivatives by finite differences
1.3 FDTD updating equations for three-dimensional problems
1.4 FDTD updating equations for two-dimensional problems
1.5 FDTD updating equations for one-dimensional problems
1.6 Exercises
2 Numerical stability and dispersion
2.1 Numerical stability
2.1.1 Stability in time-domain algorithm
2.1.2 CFL condition for the FDTD method
2.2 Numerical dispersion
2.3 Exercises
3 Building objects in the Yee grid
3.1 Definition of objects
3.1.1 Defining the problem space parameters
3.1.2 Defining the objects in the problem space
3.2 Material approximations
3.3 Subcell averaging schemes for tangential and normal components
3.4 Defining objects snapped to the Yee grid
3.4.1 Defining zero-thickness PEC objects
3.5 Creation of the material grid
3.6 Improved eight-subcell averaging
3.7 Exercises
4 Active and passive lumped elements
4.1 FDTD updating equations for lumped elements
4.1.1 Voltage source
4.1.2 Hard voltage source
4.1.3 Current source
4.1.4 Resistor
4.1.5 Capacitor
4.1.6 Inductor
4.1.7 Lumped elements distributed over a surface or within a volume
4.1.8 Diode
4.1.9 Summary
4.2 Definition, initialization, and simulation of lumped elements
4.2.1 Definition of lumped elements
4.2.2 Initialization of FDTD parameters and arrays
4.2.3 Initialization of lumped element components
4.2.4 Initialization of updating coefficients
4.2.5 Sampling electric and magnetic fields, voltages, and currents
4.2.6 Definition and initialization of output parameters
4.2.7 Running an FDTD simulation: The time-marching loop
4.2.8 Displaying FDTD simulation results
4.3 Simulation examples
4.3.1 A resistor excited by a sinusoidal voltage source
4.3.2 A diode excited by a sinusoidal voltage source
4.3.3 A capacitor excited by a unit-step voltage source
4.4 Exercises
5 Source waveforms and time to frequency domain transformation
5.1 Common source waveforms for FDTD simulations
5.1.1 Sinusoidal waveform
5.1.2 Gaussian waveform
5.1.3 Normalized derivative of a Gaussian waveform
5.1.4 Cosine-modulated Gaussian waveform
5.2 Definition and initialization of source waveforms for FDTD simulations
5.3 Transformation from time domain to frequency domain
5.4 Simulation examples
5.4.1 Recovering a time waveform from its Fourier transform
5.4.2 An RLC circuit excited by a cosine-modulated Gaussian waveform
5.5 Exercises
6 S-Parameters
6.1 Scattering parameters
6.2 S-Parameter calculations
6.3 Simulation examples
6.3.1 Quarter-wave transformer
6.4 Exercises
7 Perfectly matched layer absorbing boundary
7.1 Theory of PML
7.1.1 Theory of PML at the vacuum–PML interface
7.1.2 Theory of PML at the PML–PML interface
7.2 PML equations for three-dimensional problem space
7.3 PML loss functions
7.4 FDTD updating equations for PML and MATLAB® implementation
7.4.1 PML updating equations – two-dimensional TE[sub(z)] case
7.4.2 PML updating equations – two-dimensional TM[sub(z)] case
7.4.3 MATLAB® implementation of the two-dimensional FDTD method with PML
7.5 Simulation examples
7.5.1 Validation of PML performance
7.5.2 Electric field distribution
7.5.3 Electric field distribution using DFT
7.6 Exercises
8 Advanced PML formulations
8.1 Formulation of CPML
8.1.1 PML in stretched coordinates
8.1.2 Complex stretching variables in CFS-PML
8.1.3 The matching conditions at the PML–PML interface
8.1.4 Equations in the time domain
8.1.5 Discrete convolution
8.1.6 The recursive convolution method
8.2 The CPML algorithm
8.2.1 Updating equations for CPML
8.2.2 Addition of auxiliary CPML terms at respective regions
8.3 CPML parameter distribution
8.4 MATLAB® implementation of CPML in the three-dimensional FDTD method
8.4.1 Definition of CPML
8.4.2 Initialization of CPML
8.4.3 Application of CPML in the FDTD time-marching loop
8.5 Simulation examples
8.5.1 Microstrip low-pass filter
8.5.2 Microstrip branch line coupler
8.5.3 Characteristic impedance of a microstrip line
8.6 CPML in the two-dimensional FDTD method
8.7 MATLAB® implementation of CPML in the two-dimensional FDTD method
8.7.1 Definition of CPML
8.7.2 Initialization of CPML
8.7.3 Application of CPML in the FDTD time-marching loop
8.7.4 Validation of CPML performance
8.8 Auxiliary differential equation PML
8.8.1 Derivation of the ADE-PML formulation
8.8.2 MATLAB® implementation of the ADE-PML formulation
8.9 Exercises
9 Near-field to far-field transformation
9.1 Implementation of the surface equivalence theorem
9.1.1 Surface equivalence theorem
9.1.2 Equivalent surface currents in FDTD simulation
9.1.3 Antenna on infinite ground plane
9.2 Frequency domain near-field to far-field transformation
9.2.1 Time-domain to frequency-domain transformation
9.2.2 Vector potential approach
9.2.3 Polarization of radiation field
9.2.4 Radiation efficiency
9.3 MATLAB® implementation of near-field to far-field transformation
9.3.1 Definition of NF–FF parameters
9.3.2 Initialization of NF–FF parameters
9.3.3 NF–FF DFT during time-marching loop
9.3.4 Postprocessing for far-field calculation
9.4 Simulation examples
9.4.1 Inverted-F antenna
9.4.2 Strip-fed rectangular dielectric resonator antenna
9.5 Exercises
10 Thin-wire modeling
10.1 Thin-wire formulation
10.2 MATLAB® implementation of the thin-wire formulation
10.3 Simulation examples
10.3.1 Thin-wire dipole antenna
10.4 An improved thin-wire model
10.5 MATLAB® implementation of the improved thin-wire formulation
10.6 Simulation example
10.7 Exercises
11 Scattered field formulation
11.1 Scattered field basic equations
11.2 The scattered field updating equations
11.3 Expressions for the incident plane waves
11.4 MATLAB® implementation of the scattered field formulation
11.4.1 Definition of the incident plane wave
11.4.2 Initialization of the incident fields
11.4.3 Initialization of the updating coefficients
11.4.4 Calculation of the scattered fields
11.4.5 Postprocessing and simulation results
11.5 Simulation examples
11.5.1 Scattering from a dielectric sphere
11.5.2 Scattering from a dielectric cube
11.5.3 Reflection and transmission coefficients of a dielectric slab
11.6 Exercises
12 Total field/scattered field formulation
12.1 Introduction
12.2 MATLAB® implementation of the TF/SF formulation
12.2.1 Definition and initialization of incident fields
12.2.2 Updating incident fields
12.2.3 Updating fields on both sides of the TF/SF boundary
12.3 Simulation examples
12.3.1 Fields in an empty problem space
12.3.2 Scattering from a dielectric sphere
12.4 Exercises
13 Dispersive material modeling
13.1 Modeling dispersive media using ADE technique
13.1.1 Modeling Debye medium using ADE technique
13.1.2 Modeling Lorentz medium using ADE technique
13.1.3 Modeling Drude medium using ADE technique
13.2 MATLAB® implementation of ADE algorithm for Lorentz medium
13.2.1 Definition of Lorentz material parameters
13.2.2 Material grid construction for Lorentz objects
13.2.3 Initialization of updating coefficients
13.2.4 Field updates in time-marching loop
13.3 Simulation examples
13.3.1 Scattering from a dispersive sphere
13.4 Exercises
14 Analysis of periodic structures
14.1 Periodic boundary conditions
14.2 Constant horizontal wavenumber method
14.3 Source excitation
14.4 Reflection and transmission coefficients
14.4.1 TE mode reflection and transmission coefficients
14.4.2 TM mode reflection and transmission coefficients
14.4.3 TEM mode reflection and transmission coefficients
14.5 MATLAB® implementation of PBC FDTD algorithm
14.5.1 Definition of a PBC simulation
14.5.2 Initialization of PBC
14.5.3 PBC updates in time-marching loop
14.6 Simulation examples
14.6.1 Reflection and transmission coefficients of a dielectric slab
14.6.2 Reflection and transmission coefficients of a dipole FSS
14.6.3 Reflection and transmission coefficients of a Jarusalem-cross FSS
15 Nonuniform grid
15.1 Introduction
15.2 Transition between fine and coarse grid subregions
15.3 FDTD updating equations for the nonuniform grids
15.4 Active and passive lumped elements
15.5 Defining objects snapped to the electric field grid
15.6 MATLAB® implementation of nonuniform grids
15.6.1 Definition of subregions
15.6.2 Initialization of subregions
15.6.3 Initialization of updating coefficients
15.6.4 Initialization of time step duration
15.7 Simulation examples
15.7.1 Microstrip patch antenna
15.7.2 Three-pole microstrip low-pass filter
16 Graphics processing unit acceleration of finite-difference time-domain method
16.1 GPU programming using CUDA
16.1.1 Host and device
16.1.2 Thread hierarchy
16.1.3 Memory hierarchy
16.1.4 Performance optimization in CUDA
16.1.5 Achieving parallelism
16.2 CUDA implementation of two-dimensional FDTD
16.2.1 Coalesced global memory access
16.2.2 Thread to cell mapping
16.2.3 Use of shared memory
16.2.4 Optimization of number of threads
16.3 Performance of two-dimensional FDTD on CUDA
APPENDIX A: One-dimensional FDTD code
APPENDIX B: Convolutional perfectly-matched layer regions and associated field updates for a three-dimensional domain
APPENDIX C: MATLAB® code for plotting far-field patterns
APPENDIX D: MATLAB® GUI for project template
References
About the authors
Index
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
Y
Z
Back Cover