You are on page 1of 114

GUIA DE PREPARAÇÃO

DA DISSERTAÇÃO E RESUMO ALARGADO


PARA OS CURSOS DE MESTRADO NO IST

1. Development of Software for Antenna Analysis and


TRAMITAÇÃO DE DISSERTAÇÃO/PROJECTO .................................................................................. 2

2. Design
INFORMAÇÃO A INTRODUZIR using
NO SISTEMA FDTD
FÉNIX ........................................................................ 4

3. CONFIDENCIALIDADE ............................................................................................................................. 4

4. ESTRUTURA E FORMATO DA DISSERTAÇÃO.................................................................................. 5


4.1 Impressão da Dissertação
Henrique Manuel...............................................................................................................
Lindgrén Amaral Fernandes 5
4.2 Capa e Lombada............................................................................................................................... 5
4.3 Equações e Expressões................................................................................................................... 5
4.4 Referências e Bibliografia ................................................................................................................ 5
4.5 Tabelas e Figuras.............................................................................................................................. 5
5. ESTRUTURADissertação para a obtenção do Grau de Mestre em
DO RESUMO ALARGADO.............................................................................................. 5

6. ESTRUTURA DO CD................................................................................................................................. 6
Engenharia Electrotécnica e de Computadores
7. MODELO DE CAPA E LOMBADA........................................................................................................... 6

8. MODELO DE CAPA DE CD...................................................................................................................... 9

9. FICHA DE HOMOLOGAÇÃO de JÚRI.................................................................................................. 10

10. CONTEÚDO DE identificacao.pdf.......................................................................................................... 11

11. DECLARAÇÃO RESPEITANTE À DIVULGAÇÃO DA DISSERTAÇÃO.......................................... 13


Júri
12. EXEMPLO DE DECLARAÇÃO DE CONFIDENCIALIDADE ............................................................. 13
Presidente: Prof. Doutor António Rodrigues
Orientador: Prof. Doutor António Alves Moreira
Co-Orientador: Prof. Doutor Vitor Maló Machado
Vogais: Prof. Doutor Carlos Fernandes

Setembro 2007
1
Acknowledgments

First, I must thank Professor António Alves Moreira and Professor Vitor Maló Machado for the
excellent support and guidance they have given me during the execution of this work. I am very grateful for
their faith in me.

I would also like to thank Instituto de Telecomunicações for making available the commercial software
used for the validation of the obtained results, and the ACE network (Antenna Centre of Excellence) for
accepting the attendance, as a student, of the European Course on Time Domain Techniques for Antenna
Analysis, held in the university of Nice-Sophia Antipolis, 20-24 November 2006.

At last, my warmest thanks go to my parents, my brother and my girlfriend, not only for the
constant support and motivation, but also for the patience and understanding demonstrated during this work’s
execution. I dedicate this thesis to them.

i
Agradecimentos

Primeiro que tudo, gostaria de agradecer aos Professores António Alves Moreira e Vitor Maló
Machado pelo excelente apoio e orientação que me dispensaram na realização deste trabalho. Estou muito
grato pela confiança que em mim depositaram.

Agradeço também o apoio do Instituto de Telecomunicações, que facultou o software comercial uti-
lizado na validação dos resultados obtidos, e ao programa ACE (Antenna Centre of Excellence) pela aceitação,
como estudante, na frequência do “European Course on Time Domain Techniques for Antenna Analysis”,
realizado na universidade de Nice-Sophia Antipolis entre 20 e 24 de Novembro de 2006.

Finalmente, queria deixar um agradecimento especial aos meus pais, ao meu irmão e à minha
namorada, não só pelo apoio e incentivo constantes, mas também pela paciência e compreensão que demons-
traram durante a realização deste trabalho. É a eles que dedico esta dissertação.

ii
Abstract

This work presents the development of a complete software package for antenna analysis and design
using the Finite-Difference Time-Domain (FDTD) method. The formulation of the implemented FDTD algo-
rithm is described, as well as the analysis of its fundamental properties. A description of the complementary
techniques and algorithms that allow the effective implementation of a simulator for the analysis of problems
of engineering value is also presented. These include a Perfectly Matched Layer (PML) capable of terminat-
ing heterogeneous media, a thin-wire model, excitation source models and a near-to-far-field transformation.
The aforementioned techniques are implemented in a modular fashion and integrated into a graphical user
interface that, besides allowing the configuration and three-dimensional visualization of the structures being
analyzed, also features a non-uniform mesh generation algorithm that automatically performs the discretization
of the 3D objects. Different solutions for the visualization of simulation results have been developed, namely
three-dimensional radiation pattern plots and field animations.

The new software, named FDTD Antenna Simulator, has an open-source license and has been
entirely written in Java, which not only makes it compatible with the major operating systems, but also
facilitates its future expansion.

The effectiveness and flexibility of the developed software are illustrated by the analysis of different
types of antennas, namely dipoles, monopoles and printed and horn antennas. The obtained results are
compared with simulations and measurements published by other authors.

Keywords

FDTD methods, software packages, perfectly matched layers, mesh generation, antenna feed models,
graphical user interfaces.

iii
Resumo

Este trabalho descreve o desenvolvimento de uma ferramenta de software para projecto e análise
de antenas utilizando o método das diferenças finitas no domı́nio do tempo (FDTD). É apresentada a for-
mulação do algoritmo FDTD utilizado, bem como o estudo das suas principais caracterı́sticas. São descritas
as técnicas e algoritmos que, complementando o algoritmo FDTD, possibilitam a implementação de um si-
mulador para a análise de problemas de real interesse em engenharia. Destacam-se a implementação de uma
camada perfeitamente adaptada (Perfectly Matched Layer - PML) compatı́vel com meios heterogéneos, um
modelo de condutores finos, modelos de fontes de excitação e uma transformação de campos de zona-próxima
para zona-distante. Estas técnicas são implementadas de forma modular e integradas numa interface gráfica
cuidada que, além de permitir a configuração e visualização tridimensional das estruturas que compõem a
simulação, possui ainda um algoritmo de geração de malha não-uniforme que, de forma automática, efectua
a discretização dos objectos tridimensionais. O software possui diversas funcionalidades para a visualização
dos resultados de simulação, destacando-se a possibilidade de representar tridimensionalmente diagramas de
radiação e animações dos campos.

O novo programa, denominado FDTD Antenna Simulator, possui uma licença open-source e foi
totalmente desenvolvido em Java, o que além de o tornar compatı́vel com os principais sistemas operativos,
facilita a sua expansão futura.

A eficácia e flexibilidade do software desenvolvido são ilustradas pela análise de diferentes tipos
de antenas, nomeadamente dipolos, monopolos, antenas impressas e cornetas, sendo os resultados obtidos
comparados com simulações e medidas publicadas por outros autores.

Palavras chave

Método FDTD, pacotes de software, PML - camadas perfeitamente adaptadas, geração de malha,
modelos de excitação de antenas, interfaces gráficas.

iv
Contents

1 Introduction 1

1.1 Brief historical background of Computational Electromagnetics . . . . . . . . . . . . . . . . . 1

1.2 Currently available software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.3 Objectives of this work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.4 Why FDTD? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.4.1 Techniques in Computational Electromagnetics . . . . . . . . . . . . . . . . . . . . . 3

1.4.2 FDTD advantages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.5 List of implemented features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2 The Finite-Difference Time-Domain Method 6

2.1 Maxwell’s Equations in Three Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.2 The Yee Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.2.1 The Yee cell and the leapfrogging scheme . . . . . . . . . . . . . . . . . . . . . . . . 8

2.2.2 Discretization of Maxwell’s Equations using the Yee algorithm . . . . . . . . . . . . . 9

2.2.3 Computer Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.3 Numerical Dispersion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.3.1 Derivation of the numerical dispersion relation for three-dimensional wave propagation 15

2.3.2 Comparison with the ideal dispersion case and anisotropy of the numerical phase velocity 16

2.3.3 Choice of the spatial sampling density and other sources of numerical error . . . . . . 17

2.4 Numerical Stability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.4.1 The Courant stability criterion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.4.2 Other potential sources of instability . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.5 Extension to non-uniform Cartesian meshes . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.5.1 Benefits of non-uniform meshes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.5.2 Required modifications to the algorithm . . . . . . . . . . . . . . . . . . . . . . . . . 20

2.5.3 Numerical accuracy and stability for non-uniform FDTD . . . . . . . . . . . . . . . . 21

v
3 Absorbing Boundary Conditions 22

3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3.2 Bérenger’s Split-Field PML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3.3 Uniaxial PML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.3.1 UPML Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.3.2 Theoretical and Practical Performance of the UPML . . . . . . . . . . . . . . . . . . 28

3.3.3 Application to a Three-Dimensional Problem Space . . . . . . . . . . . . . . . . . . . 29

3.3.4 Implementation in FDTD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

3.3.5 Computer Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

3.3.6 UPML validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

4 Sub-cellular methods 35

4.1 FDTD Formulation using the Integral Form of Maxwell’s Equations . . . . . . . . . . . . . . 36

4.2 Thin-wire model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

4.3 Effective material parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

5 Antenna Feed Models 42

5.1 Excitation Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

5.2 Point Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

5.3 Resistive voltage source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

5.3.1 Model description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

5.3.2 Calculation of Impedance and S parameters . . . . . . . . . . . . . . . . . . . . . . . 46

5.4 Simple Waveguide Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

5.4.1 Model description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

5.4.2 Calculation of S parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

6 Near-to-Far-Field Transformation 51

6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

6.2 Frequency-Domain Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

6.2.1 Analytical expressions for the transformation . . . . . . . . . . . . . . . . . . . . . . . 52

6.2.2 Calculation of the equivalent M̄S and J¯S currents . . . . . . . . . . . . . . . . . . . . 55

6.2.3 ~ and H
Averaging of the E ~ fields on the virtual surface . . . . . . . . . . . . . . . . . 56

7 Mesh Generation Algorithm 57

7.1 Meshing Algorithm Structure and Architecture of the FDTD Simulator . . . . . . . . . . . . . 57

7.2 Spatial Discretization Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

vi
7.3 Material Mapping Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

8 Numerical Experiments and Results Validation 66

8.1 Dipole Interaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

8.2 Monopole Antenna on a Conducting Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

8.3 Microstrip Patch Antenna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

8.4 UWB Antenna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

8.5 Pyramidal Horn Antenna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

9 Conclusions 78

9.1 Suggestions for Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

A Finite-difference schemes and order of accuracy 81

A.1 Forward-differences approximation to the first derivative . . . . . . . . . . . . . . . . . . . . . 81

A.2 Backward-differences approximation to the first derivative . . . . . . . . . . . . . . . . . . . . 82

A.3 Central-differences approximation to the first derivative . . . . . . . . . . . . . . . . . . . . . 82

A.4 Central-differences approximation to the second derivative . . . . . . . . . . . . . . . . . . . 83

B Verification of Gauss’ laws for the Yee Algorithm 84

C Code Examples 87

C.1 Simple Three-Dimensional FDTD Update Algorithm . . . . . . . . . . . . . . . . . . . . . . . 87

C.2 Three-Dimensional FDTD Update Algorithm with the UPML . . . . . . . . . . . . . . . . . . 88

D UPML Update Equations and Coefficients 89

D.1 Update equations for the E-field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

D.2 Update equations for the H-field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

E Modeling of Thin Metalizations 92

F Other Experiments and Applications 94

F.1 Low-pass microstrip filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

F.2 SAR Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

vii
List of Figures

1.1 Categories within computational electromagnetics. . . . . . . . . . . . . . . . . . . . . . . . . 4

2.1 Position of the electric and magnetic field vector components about the cell(i,j,k) of the Yee
space lattice. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.2 Space-time chart that illustrates Yee algorithm’s use of central differences for the space deriva-
tives and leapfrogging for the time derivatives for a simplified one-dimensional case. . . . . . . 10

2.3 Variation of the numerical phase velocity along the grid’s axes and diagonals as a function of
the sampling density Nλ , for S = 0.5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2.4 (a) A circular metallic patch and (b) its meshed version where the staircased approximation of
the curved boundary can be observed. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.5 Comparison between (a) an uniform mesh and (b) a non-uniform mesh regarding the capability
to adapt to the geometry of multiple objects. . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2.6 Comparison between (a) an uniform mesh and (b) a non-uniform mesh regarding the capability
to use different levels of spatial resolution. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3.1 2D-cut of a three-dimensional FDTD grid employing the Berenger PML ABC. . . . . . . . . . 25

3.2 Reflection error versus frequency for different values of the UPML thickness. . . . . . . . . . . 32

3.3 Geometry of the microstrip line and computational domain used to assess UPML’s capacity for
terminating heterogeneous media. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

3.4 Return loss of the microstrip line terminated with a 10 cell UPML. . . . . . . . . . . . . . . . 34

4.1 Integration contours Ci and associated surfaces Si used for the derivation of the Yee algorithm
using the integral form of Maxwell’s equations. . . . . . . . . . . . . . . . . . . . . . . . . . 36

4.2 (a) Application of Faraday’s Law for derivation of the thin wire model. (b) H-field components
updated using the thin wire model and integration path for calculation of the current I. . . . 38

4.3 Interface between cells of different materials and integration path C for the application of
Maxwell-Ampere’s Law for effective parameters calculation. . . . . . . . . . . . . . . . . . . . 40

5.1 Excitation signals available in the developed software. . . . . . . . . . . . . . . . . . . . . . . 43

5.2 Representation of the unidimensional virtual transmission line used to implement the resistive
voltage source and coupling to the 3D FDTD grid. . . . . . . . . . . . . . . . . . . . . . . . 45

viii
5.3 Illustration of the application of a waveguide source to a rectangular waveguide connected to
an arbitrary structure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

5.4 Calculation of the incident field distribution for a rectangular waveguide. (a) Initial electric
field distribution; (b) Numerically calculated electric field distribution of the TE01 mode. . . . 48

6.1 Virtual surface used for the near-to-far-field transformation and coordinate system used for its
calculation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

6.2 Geometry used for the averaging of the E ~ and H ~ fields’ tangential components for the calcu-
~ S and J~S . . . . . . . . . . . . . . . . . . . . . . . . . . .
lation of the equivalent currents M 56

7.1 Flowchart illustrating the high-level architecture of the FDTD simulator. . . . . . . . . . . . . 58

7.2 Geometry of the structure used to illustrate the spatial discretization algorithm’s operation. . . 61

7.3 Two-dimensional Cartesian grid that results from the non-uniform discretization of the structure
of Fig. 7.2 using the spatial discretization algorithm with parameters Dx,min = Dy,min = 10
and Dx,max = Dy,max = 30. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

7.4 Illustration of the material mapping algorithm’s operation. (a) Two-dimensional view of the
component being meshed and the Cartesian grid that resulted from spatial discretization; (b)
Operation of the ray-crossing algorithm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

7.5 Illustration of how the assignment of different meshing priorities to the elements of a three-
dimensional model can influence the characteristics of the resultant component. (a) Three-
dimensional view of the mesh for a coaxial cable; (b) Three-dimensional view of the mesh for
a cylindrical waveguide. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

8.1 FDTD problem space for the analysis of coupling between two dipoles. . . . . . . . . . . . . . 66

8.2 Mesh used to discretize the computational domain. . . . . . . . . . . . . . . . . . . . . . . . 66

8.3 Self-admittance for antenna 1 calculated with the developed software and compared with results
obtained with other methods/applications. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

8.4 Mutual admittance calculated with the developed software and compared with results obtained
with other methods/applications. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

8.5 Comparison of the mutual admittances Y12 and Y21 calculated with the developed software,
for the purpose of port reciprocity analysis. . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

8.6 Geometry and dimensions of the monopole antenna on a conducting box. The monopole wire
radius is r=0.5 mm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

8.7 2D view of the mesh used to discretize the problem. . . . . . . . . . . . . . . . . . . . . . . . 69

8.8 Input impedance for monopole antenna on a conducting box computed using the developed
software and compared with measurements. . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

8.9 Calculated x-z plane radiation pattern at 1.5 GHz for the monopole antenna on a conducting
box and comparison with reference results obtained with MoM. . . . . . . . . . . . . . . . . . 70

8.10 Geometry of the line fed rectangular microstrip patch antenna. (a) Top view (b) Perspective
view, dimensions of the computational domain and placement of the excitation. . . . . . . . 71

ix
8.11 Calculated electric field distribution of the microstrip line’s quasi-TEM mode used in the exci-
tation of the rectangular patch antenna. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

8.12 Return loss of the line-fed rectangular patch antenna. . . . . . . . . . . . . . . . . . . . . . . 72

8.13 Three-dimensional radiation patterns for the line-fed rectangular patch antenna calculated using
(a) FDTD Antenna Simulator and (b) CST Microwave Studio . R . . . . . . . . . . . . . . . 72

8.14 Geometry of the beveled planar monopole antenna and feed region. . . . . . . . . . . . . . . 73

8.15 Detail of the feed region and placement of the excitation source. . . . . . . . . . . . . . . . . 73

8.16 Return loss of the beveled monopole antenna. . . . . . . . . . . . . . . . . . . . . . . . . . . 74

8.17 Calculated x-z radiation pattern for the beveled monopole antenna at 8.5 GHz. . . . . . . . . 74

8.18 Calculated y-z radiation pattern for the beveled monopole antenna at 8.5 GHz. . . . . . . . . 75

8.19 Calculated x-y radiation pattern for the beveled monopole antenna at 8.5 GHz. . . . . . . . . 75

8.20 Geometry of the pyramidal horn antenna and detail of the mesh used in its simulation. . . . . 76

8.21 Directivity of the pyramidal horn at 10.1 GHz: (a) E -plane pattern, (b) H-plane pattern. . . . 77

8.22 Calculated return loss of the pyramidal horn antenna. . . . . . . . . . . . . . . . . . . . . . . 77

E.1 Geometry of the microstrip line used to illustrate the technique for modeling thin metalizations. 92

E.2 FDTD grid for the microstrip line and representation of the Ex and Ez field components. . . 93

F.1 Geometry of the low-pass filter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

F.2 Return loss of the low-pass filter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

F.3 Insertion loss of the low-pass filter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

F.4 Geometry of the SAR calculation problem.(a) Perspective view of the SAM and cell phone. (b)
View of the tissue simulating liquid inside the SAM, obtained by rendering the outer shell with
transparency. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

F.5 Three-dimensional SAR plot for the CENELEC 50361 SAM phantom head. . . . . . . . . . . 97

F.6 Illustration of the SAM phantom head’s effect on the radiation pattern (directivity) of the
cellular phone at 900 MHz. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

x
List of Tables

3.1 Number of variables and number of operations per FDTD cell for different types of Perfectly
Matched Layer Absorbing Boundary Conditions. . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.2 Parameterization of the different UPML regions for a three-dimensional computational domain. 30

7.1 Coordinates of the vertices shown in Fig. 7.2. . . . . . . . . . . . . . . . . . . . . . . . . . . 61

F.1 Material properties used to model the CENELEC 50361 SAM phantom head at 900 MHz. . . 96

xi
List of Abbreviations

ABC, Absorbing Boundary Condition

ADI-FDTD, Alternating Direction Implicit FDTD

API, Application Programming Interface

CAD, Computer-Aided Design

CEM, Computational Electromagnetics

CPU, Central Processing Unit

DFT, Discrete Fourier Transform

EM, Electromagnetic

EMP, Electromagnetic Pulse

FDTD, Finite-Difference Time-Domain

FEM, Finite-Element Method

FFT, Fast Fourier Transform

FIT, Finite Integration Technique

GTD, Geometrical Theory of Diffraction

GUI, Graphical User Interface

HPM, High-Power Microwave

MoM, Method of Moments

MRTD, Multi-Resolution Time Domain

NFFT, Near-to-Far-Field Transformation

PEC, Perfect Electric Conductor

PML, Perfectly Matched Layer

SAM, Specific Anthropomorphic Mannequin

SAR, Specific Absorption Rate

TEM, Transverse Electromagnetic

UHF, Ultra High Frequency

UPML, Uniaxial Perfectly Matched Layer

UWB, Ultra-wideband

xii
Chapter 1

Introduction

1.1 Brief historical background of Computational Electromagnetics

Maxwell’s equations’ solutions play a fundamental role in today’s society. They are presently being
used not only to design key electrical engineering technologies like electrical machinery, cellphones, computers,
lasers and photonic devices, but also in fields like bioelectromagnetics, to study how electromagnetic fields
interact with and influence biological processes. As a matter of fact, one can say that many of the technological
advances achieved in the last fifty years would not have been possible without the ability to rapidly and
accurately solve Maxwell’s equations on large scales.

The interest in this kind of problems dates back to the beginning of World War II, when the military
were developing UHF and microwave radar technology and used mechanical calculators to obtain closed-
form and infinite-series analytical solutions. After 1960, with the availability of programmable electronic
digital computers, the first computational approaches for Maxwell’s equations appeared. These included high-
frequency asymptotic methods such as GTD and integral equations, such as the Method of Moments, that
were used by several defense agencies to study electromagnetic pulse (EMP) penetration and coupling and
high-power microwave (HPM) beams. It was the birth of Computational Electromagnetics (CEM), broadly
defined as the discipline that intrinsically and routinely involves using a digital computer to obtain numerical
results for electromagnetic problems [1].

During the 1970s and 1980s many defense agencies identified some important limitations of the
frequency-domain techniques used to that date, like the inability to treat nonmetallic materials and the volu-
metric details of a structure. This led to explorations of direct time-domain solutions of Maxwell’s differential
equations on spatial grids, being the FDTD method, introduced by Yee [2] in 1966, the first technique of this
kind. FDTD and related techniques have been subject of continuous development, especially since the early
90’s, when the engineers in the general electromagnetics community became aware of its capabilities, partic-
ularly well suited for the development of high-speed communications and computing. As a result, the field of
computational electromagnetics has shifted from defense technology to commercial applications. This shift,
alongside with the increasing storage and processing power of all sorts of computers, including, of course, per-
sonal computers, has allowed the development of numerous commercial and non-commercial electromagnetic
simulation codes for all sorts of engineering applications.

1
1.2 Currently available software

In order to better understand the objectives of this work, it is the author’s opinion that something
should be mentioned about the software currently available for EM problems. After a survey of currently
existent codes, the following categorization by capabilities and availability emerged:

• Commercial software: Currently, there at least ten extremely powerful commercial software applications
that can tackle an impressive range of EM problems. They employ mature algorithms and techniques and
are used not only at the industry level but also at research laboratories worldwide. The code is closed and
the software frequently uses proprietary algorithms. Since this software is targeted to industry/academia,
the price of a license to use this kind of software normally is out of the reach of a single user;

• Academic/In-house software: There are also some very good codes developed at research centers in
universities, but their use is normally restricted to the institution’s research staff and/or students. Since
these codes are very often developed by researchers in the field of CEM, they usually possess unique,
state-of-the-art features that normally, after publication in scientific journals or conferences, are included
in commercial applications;

• Freeware/Shareware codes: These codes are freely available but may require the payment of a small
fee (when compared to the price of the previously mentioned commercial codes) to continue using
the software after a trial period or to be able to use all the features. Usually the problem range
that this kind of software is able to handle is only a small subset of the available in the much more
expensive commercial codes. Nevertheless, these programs are very useful, yielding good results for some
applications and having the advantage of being more easily accessible to students who are interested in
electromagnetic problems;

• Open source software: Generally speaking, these codes are free in the sense that the source code
is made available to the user, who is allowed to freely modify, extend and distribute the original or
modified versions of the code. The number of “degrees of freedom” is determined by the type of open
source license. Codes with this kind of license are still rare but they have the potential to compete with
commercial software packages. An excellent example of software having this kind of license is MIT’s
Meep [3].

1.3 Objectives of this work

The main objective of this work is the development of an integrated software tool, using the FDTD
method, for the analysis of antenna problems for educational and research purposes. This goal was essentially
motivated by the following factors:

• The need to shed light on some of the techniques currently used in CEM since a reasonable understanding
of the principles on which electromagnetic software is based can avoid its misuse and the incorrect
interpretation of results;

• The need of a customizable, expandable tool, easily accessible to students and researchers. Due to this
need, the tool will be licensed as open-source software and thus falls in the last category of codes of
Section 1.2. It’s important to mention that there is no purpose to compete with commercial software
packages since those programs have around a decade of development and are aimed at a much broader
range of problems.

2
Since flexibility is an essential requirement, the tool will have a modular structure, making it rela-
tively easy to add new functionalities or even to include some part of the tool in a different program. The
programming language chosen for the development of the software was Java [4]. The main reasons for this
choice were the author’s fluency with the language, the possibility to use a high-level, scenegraph based API for
3D graphics (Java 3D) [5][6] and the seamless portability of the software between different types of machines
and operating systems. Nevertheless, since the program possesses a modular structure, some modules can
easily be rewritten in a different language, as could be the case if one desired to optimize the computationally
intensive part of the code by writing it in a native language.

Having mentioned the objectives of this work and their motivations, it is now necessary to justify
the choice of the FDTD technique. That discussion is presented in the following section.

1.4 Why FDTD?

1.4.1 Techniques in Computational Electromagnetics

The collection of techniques in CEM can be classified in various ways. One possible classification
is similar to that used in [7], which can be seen in Fig. 1.1. This classification divides CEM into two major
categories: numerical methods and high-frequency or asymptotic methods.

Numerical methods are best suited for problems where the size of the structure under analysis is
in the order of the wavelength to a few tens of wavelenghts. These methods take into account the wave
nature of the electromagnetic phenomenon and are therefore based on discretizations of differential or integral
formulations of Maxwell’s equations. Both integral and differential equation based numerical methods can be
divided in two parts: frequency domain and time domain.

On the other hand, high frequency methods are used when the size of the objects is many wavelengths
in extent and the wave nature need not be fully considered. Geometrical optics, for example, relies essentially
on the concept of rays to model the field behavior.

Since this work’s objective is to study antennas whose sizes are in the order of a few wavelengths,
only a numerical method can be chosen, category to which FDTD belongs.

1.4.2 FDTD advantages

For antenna analysis and design in the sub-wavelenght domain, there are currently three well estab-
lished methods: The method of moments (MoM), the finite-element method (FEM) and the finite difference
time-domain method (FDTD).

MoM is an integral equation based numerical method that has been used for several decades. It
started as, and generally speaking, still is used as a frequency-domain technique although there has been some
recent work on time-domain formulations. Besides scattering problems involving large structures, as aircrafts
and missiles, it has been used to successfully analyze wire antennas of almost arbitrary configuration, aperture
antennas, reflector antennas, etc.

FEM is a differential equation based numerical method that dates back to the 1940s and originated
from the needs for solving complex elasticity, structural analysis problems in civil and aeronautical engineering.
Similarly to MoM, it is generally known as a frequency-domain method, although time-domain formulations
also exist. Its application to antenna analysis has been primarily in scattering problems and microstrip patch

3
Figure 1.1: Categories within computational electromagnetics (adapted from [7]).

antennas.

The FDTD method has a number of characteristics that really make it stand out when compared
with the other techniques commonly used for antenna design and analysis. These characteristics are:

• FDTD is a fully explicit computation: This means that FDTD avoids the difficulties with linear algebra,
namely matrix inversion, that limit the size of frequency-domain integral equation (MoM) and finite-
element electromagnetics models to about 106 field unknowns. FDTD simulations have been run with
109 field unknowns and this limit only depends on the amount of physical memory available for the
computation;

• FDTD naturally calculates the impulse response of an electromagnetic system since it is a time-domain
method. Therefore, a single FDTD run can provide ultrawideband temporal waveforms that can be
used to, by means of a discrete Fourier transform (DFT), obtain the antenna’s response over a broad
frequency range;

• The ability to model most materials, including lossy dielectrics, magnetic materials, lossy metals and
unconventional materials, including anisotropic plasmas and magnetized ferrites;

• The ability to model nonlinear materials, since nonlinear behavior can more easily be treated in time-
domain than in the frequency-domain;

• FDTD, unlike methods that rely on integral equations, does not require the calculation of structure-
dependent Green’s functions—the specification of a new structure for analysis just requires the generation
of a new mesh. Although the problem of mesh generation can be quite complex, since the majority of
FDTD codes currently available use Cartesian meshes (hexahedral cells), the problem of mesh generation
is considerably simpler than that of mesh generation for FEM codes (which use tetrahedral elements);

4
• Although powerful visualization capabilities exist for all methods, FDTD can provide field visualization
in both time and frequency-domain, which provides more insight to the problem under analysis;

• FDTD is both easier to understand and to implement than either MoM or FEM. Additionally, the FDTD
marching-in-time field update procedure is relatively easy to parallelize in order to take advantage of
multiple CPUs or even multiple computers to speed up the simulation of complex problems.

1.5 List of implemented features

The software tool’s name is FDTD Antenna Simulator and it has the following features:

• Powerful 3D Graphical User Interface (GUI) using Swing and Java 3D, supporting both OpenGL and
Direct3D;

• Native modeling of boxes, cylinders and spheres;

• Importing of Wavefront OBJ [8] files, which allows the software to use models that have been designed
in other CAD programs;

• Mesh generation algorithm that supports both uniform and non-uniform cartesian grids;

• Different kinds of sources: point sources, resistive voltage sources and simple waveguide sources;

• Thin wire approximation and modeling of thin PEC metalizations;

• Different kinds of materials: PEC, Normal and Anisotropic;

• Perfectly matched layer absorbing boundary conditions implemented with an UPML formulation that is
able to terminate not only free space but also heterogeneous media, such as waveguides;

• Full-3D visualization of the fields in both frequency- and time-domain;

• Calculation of radiation patterns and visualization in both two and three dimensions;

• Calculation of port currents, port voltages and scattering, impedance and admittance matrices.

5
Chapter 2

The Finite-Difference Time-Domain


Method

This chapter presents the fundamentals of the finite difference time-domain method and the deriva-
tion of the algorithm used in this work.

The derived algorithm follows very closely that introduced by Yee in 1966 [2], which is the foundation
for FDTD electromagnetic field simulation. Despite its age and the recent appearance of different formulations
such as ADI-FDTD [11, 12] and MRTD [13], Yee’s algorithm still remains the primary choice for FDTD, due
to its robustness and simplicity.

2.1 Maxwell’s Equations in Three Dimensions

The time-dependent Maxwell’s equations in a region of space without imposed electric or magnetic
current sources, but that may have materials that absorb electric or magnetic field energy, are given in
differential form, by

∂B
∇ × E = − e − Jm (2.1)
e ∂t e
∂D
∇×H = e +J (2.2)
e ∂t e
∇·D =ρ (2.3)
e
∇ · B = ρm (2.4)
e
where

E : electric field (V/m)


e
H : magnetic field (A/m)
e
D: electric flux density (C/m2 )
e
B : magnetic flux density (Wb/m2 )
e
J : electric current density (A/m2 )
e
ρ: free electric charge density (C/m3 )

6
J m : equivalent magnetic current density (V/m2 )
e
ρm : free magnetic charge density (Wb/m3 ).

In a linear, nondispersive, anisotropic material the constitutive relations are given by

D = εo ε̄¯r E (2.5)
e e
B = µ0 µ̄¯r H (2.6)
e e
¯E
J = σ̄ (2.7)
e e
Jm = σ̄¯∗H (2.8)
f e
where

εo : free-space electrical permitivity (F/m)

ε̄¯r : relative electrical permitivity tensor

µo : free-space magnetic permeability (H/m)


¯r : relative magnetic permeability tensor
µ̄
¯ : electric conductivity tensor (S/m)
σ̄
¯ ∗ : equivalent magnetic loss tensor (Ω/m).
σ̄

It is important to mention that magnetic charge density and conductivity are non-physical quantities
since magnetic charges have not yet been observed in Nature. Nevertheless, these quantities are mathematically
useful to implement Perfectly Matched Layer Absorbing Boundary Conditions, as will be seen in Chapter 3,
and their inclusion does not increase the computational requirements of the algorithm.

For the derivation of the FDTD algorithm used in this work only diagonal tensors will be considered,
i.e., having the following matrix representations
 
εxx 0 0
ε̄¯r =  0 εyy 0  (2.9)
 

0 0 εzz
 
µxx 0 0
¯r = 
µ̄  0 µyy 0 

(2.10)
0 0 µzz
 
σxx 0 0
¯=
σ̄  0 σyy 0 

(2.11)
0 0 σzz
 ∗ 
σxx 0 0
¯∗ = 
σ̄  0 ∗
σyy 0 

(2.12)

0 0 σzz

Substituting the constitutive relations (2.5) to (2.8) into (2.1) and (2.2) yields Maxwell’s curl equations in

7
linear, (diagonally) anisotropic, nondispersive, lossy materials:

∂E 1  
e = ε¯−1r
¯E
∇ × H − σ̄ (2.13)
∂t ε0 e e
∂H 1 −1  
e = − µ¯r ∇ × E + σ̄ ¯∗H (2.14)
∂t µ0 e e

By writing the curl components of equations (2.13) and (2.14) in Cartesian coordinates one obtains
the following system of six coupled scalar equations:
 
∂Ex 1 ∂Hz ∂Hy
= − − σxx Ex (2.15a)
∂t εo εxx ∂y ∂z

 
∂Ey 1 ∂Hx ∂Hz
= − − σyy Ey (2.15b)
∂t εo εyy ∂z ∂x

 
∂Ez 1 ∂Hy ∂Hx
= − − σzz Ez (2.15c)
∂t εo εzz ∂x ∂y

 
∂Hx 1 ∂Ey ∂Ez ∗
= − − σxx Hx (2.16a)
∂t µo µxx ∂z ∂y

 
∂Hy 1 ∂Ez ∂Ex ∗
= − − σyy Hy (2.16b)
∂t µo µyy ∂x ∂z

 
∂Hz 1 ∂Ex ∂Ey ∗
= − − σzz Hz (2.16c)
∂t µo µzz ∂y ∂x

The previous six equations form the basis of the FDTD method. By discretizing them using finite-differences
it is possible to obtain a numerical algorithm that models three-dimensional electromagnetic field phenomena.

2.2 The Yee Algorithm

2.2.1 The Yee cell and the leapfrogging scheme

It is important to notice that although the Gauss’ Law relations (2.3) and (2.4) are implicit in the
set of equations (2.15) and (2.16), that may not necessarily hold true for an arbitrary discretization of this
set. This means that the sampling points for the E and H field components must be positioned in such a way
that the numerical space-derivative operations of the curl operator enforce Gauss’ laws. In his 1966 paper,
Yee[2] proposed a gridding scheme that satisfied this requirement and later became widely known as the Yee
cell, whose structure is shown in Fig. 2.1.

As can be seen in Fig. 2.1, Yee’s gridding scheme positions its field components such that every
~
E component is surrounded by four circulating H components and each H component is surrounded by four
e e
circulating E components, thus replicating Ampere’s Law and Faraday’s Law at the grid level. As a matter
e
of fact, Yee’s scheme simulates both the pointwise differential form and the macroscopic integral form of

8
Maxwell’s equations, being the latter very useful as will be seen in Chapter 4.

Figure 2.1: Position of the electric and magnetic field vector components about the cell(i,j,k) of the Yee space
lattice. Only the electric field components in blue and the magnetic field components in red belong to the
cell(i,j,k).

Based on this gridding scheme, Yee discretized a version of the set of equations (2.15) and (2.16)
particularized for lossless isotropic media using central-difference expressions, for both space and time deriva-
tives. The fact that central-difference expressions, having second-order accuracy, are more accurate than either
forward- or backward-differences, greatly contributes to the robustness of the Yee algorithm. For a proof of
the second-order accuracy of central differences please refer to Appendix A.

One of the most important characteristics of the Yee algorithm, resulting from its central-difference
scheme, is the arrangement of E and H components in time in a leapfrog fashion. This means that the
e e
E components for a time t are calculated from previously stored H components that correspond to a time
t − ∆t/2, where ∆t is the time-step. Then the H components for time t + ∆t/2 are calculated from the
e e
e
stored E components for time t, as shown in Fig. 2.2. This characteristic makes the algorithm fully explicit,
e
avoiding problems like simultaneous equations and inversion of big matrices.

The leapfrogging continues until a criterion to stop the simulation is verified. Normally this criterion
is the simulation of a predetermined number of time-steps or it is based on energetic considerations, such as
stopping the simulation when the total electromagnetic energy in the computational domain falls a certain
amount, normally 40 dB to 60 dB, below the maximum energy value that occurred during the simulation.
Both these criteria are available in the developed software.

2.2.2 Discretization of Maxwell’s Equations using the Yee algorithm

Before continuing with the discretization of Maxwell’s equations, it is convenient to introduce an


appropriate notation for space points and functions of time and space. A space point in a uniform, rectangular
lattice is denoted as
(i, j, k) = (i∆x, j∆y, k∆z) (2.17)

9
Figure 2.2: Space-time chart that illustrates Yee algorithm’s use of central differences for the space derivatives
and leapfrogging for the time derivatives for a simplified one-dimensional case.

where ∆x, ∆y and ∆z are the lattice space increments in the x, y and z coordinate directions, and i, j and
k are integers.

A function u(x, y, z, t), evaluated at a discrete point in the grid and at a discrete point in time is
denoted as
u(i∆x, j∆y, k∆z, n∆t) = u|ni,j,k (2.18)

where ∆t is a constant time increment and n is an integer.

Using central-differences, the expressions for the first partial space derivatives of u, evaluated at
t = n∆t, are given by

∂u uni+1/2,j,k − uni−1/2,j,k
(i∆x, j∆y, k∆z, n∆t) = + O[(∆x)2 ] (2.19a)
∂x ∆x

∂u uni,j+1/2,k − uni,j−1/2,k
(i∆x, j∆y, k∆z, n∆t) = + O[(∆y)2 ] (2.19b)
∂y ∆y

∂u uni,j,k+1/2 − uni,j,k−1/2
(i∆x, j∆y, k∆z, n∆t) = + O[(∆z)2 ] (2.19c)
∂z ∆z

The expression for the first partial time derivative of u, evaluated at


(i∆x, j∆y, k∆z), is
n+1/2 n−1/2
∂u ui,j,k − ui,j,k
(i∆x, j∆y, k∆z, n∆t) = + O[(∆t)2 ] (2.19d)
∂t ∆t

being the finite-difference performed over a ±∆t/2 interval due to Yee’s intention to implement a leapfrogging
algorithm.

10
Applying this notation, a numerical approximation of the set of equations (2.15) and (2.16) can
now be obtained. Starting with equation (2.15a), we obtain

Hz |ni+1/2,j+1/2,k − Hz |ni+1/2,j−1/2,k
 

∆y
 
n+1/2 n−1/2
Ex |i+1/2,j,k − Ex |i+1/2,j,k
 
1  Hy |ni+1/2,j,k+1/2 − Hy |ni+1/2,j,k−1/2 
 
= (2.20)
∆t εo εxx |i+1/2,j,k − 

 ∆z 

− σxx |i+1/2,j,k Ex |ni+1/2,j,k

where it is important to notice the exact correspondence of each field component’s spatial position with that
shown in Fig. 2.1. Also note that all the field components on the right-hand side correspond to time-step n.
The H field components for time-step n are stored in memory as well as the E field components for time-
step n − 1/2. However, the electric field Ex appearing due to the electric conductivity σxx is not available
e e

in memory, so it must be estimated as the arithmetic average of the stored values of Ex and the not yet
computed new values of Ex for time-step n + 1/2, which is called a semi-implicit approximation [9, Chapter
3, pp. 80-85]:
n+1/2 n−1/2
Ex |i+1/2,j,k + Ex |i+1/2,j,k
Ex |ni+1/2,j,k = (2.21)
2
n+1/2
By inserting (2.21) into (2.20) and isolating Ex |i+1/2,j,k on the left-hand side we obtain
   
∆tσxx n+1/2 ∆tσxx n−1/2
1+ Ex |i+1/2,j,k = 1− Ex |i+1/2,j,k
2εo εxx 2εo εxx
∆t  
+ Hz |ni+1/2,j+1/2,k − Hz |ni+1/2,j−1/2,k (2.22)
εo εxx ∆y
∆t  
− Hy |ni+1/2,j,k+1/2 − Hy |ni+1/2,j,k−1/2
εo εxx ∆z

Dividing both sides of (2.22) by 1 + ∆tσxx /2εo εxx gives the explicit time-stepping formula for the
Ex field component:

n+1/2 2ε0 εxx − ∆tσxx n−1/2 1 2∆t  


Ex |i+1/2,j,k = Ex |i+1/2,j,k + Hz |ni+1/2,j+1/2,k − Hz |ni+1/2,j−1/2,k
2ε0 εxx + ∆tσxx ∆y 2ε0 εxx + ∆tσxx
1 2∆t  
− Hy |i+1/2,j,k+1/2 − Hy |ni+1/2,j,k−1/2
n
∆z 2ε0 εxx + ∆tσxx
(2.23a)

Applying a similar procedure to equations (2.15b) and (2.15c) the time-stepping relations for the
Ey and Ez components are found to be:

n+1/2 2ε0 εyy − ∆tσyy n−1/2 1 2∆t  


Ey |i,j+1/2,k = Ey |i,j+1/2,k + Hx |ni,j+1/2,k+1/2 − Hx |ni,j+1/2,k−1/2
2ε0 εyy + ∆tσyy ∆z 2ε0 εyy + ∆tσyy
1 2∆t  
− Hz |ni+1/2,j+1/2,k − Hz |ni−1/2,j+1/2,k
∆x 2ε0 εyy + ∆tσyy
(2.23b)

11
n+1/2 2ε0 εzz − ∆tσzz n−1/2 1 2∆t  
Ez |i,j,k+1/2 = Ez |i,j,k+1/2 + Hy |ni+1/2,j,k+1/2 − Hy |ni−1/2,j,k+1/2
2ε0 εzz + ∆tσzz ∆x 2ε0 εzz + ∆tσzz
1 2∆t  
− Hx |i,j+1/2,k+1/2 − Hx |ni,j−1/2,k+1/2
n
∆y 2ε0 εzz + ∆tσzz
(2.23c)

By analogy with the procedure taken for the E field components, it is also possible to obtain explicit
e
time-stepping relations for the H field components through discretization of the set of equations (2.16), noting
e
that the spatial indices of the H field components are those shown in Fig. 2.1. The time-stepping relations
e
resulting from the discretization of equations (2.16a)–(2.16c) are:


n+1/2 2µ0 µxx − ∆tσxx n−1/2 1 2∆t 
n n

Hx |i,j+1/2,k+1/2 = ∗
H x |i,j+1/2,k+1/2 + ∗
E y |i,j+1/2,k+1 − E y |i,j+1/2,k
2µo µxx + ∆tσxx ∆z 2µo µxx + ∆tσxx
1 2∆t  
− ∗
Ez |ni,j+1,k+1/2 − Ez |ni,j,k+1/2
∆y 2µo µxx + ∆tσxx
(2.24a)


n+1/2 2µ0 µyy − ∆tσyy n−1/2 1 2∆t 
n n

Hy |i+1/2,j,k+1/2 = ∗
H y |i+1/2,j,k+1/2 + ∗
E z |i+1,j,k+1/2 − E z |i,j,k+1/2
2µo µyy + ∆tσyy ∆x 2µo µyy + ∆tσyy
1 2∆t  
− ∗
Ex |ni+1/2,j,k+1 − Ex |ni+1/2,j,k
∆z 2µo µyy + ∆tσyy
(2.24b)


n+1/2 2µ0 µzz − ∆tσzz n−1/2 1 2∆t 
n n

Hz |i+1/2,j+1/2,k = ∗
H z |i+1/2,j+1/2,k + ∗
E x |i+1/2,j+1,k − E x |i+1/2,j,k
2µo µzz + ∆tσzz ∆y 2µo µzz + ∆tσzz
1 2∆t  
− ∗
Ey |ni+1,j+1/2,k − Ey |ni,j+1/2,k
∆x 2µo µzz + ∆tσzz
(2.24c)
It is important to remark that although the algorithm was derived from Maxwell’s curl equations, it
implicitly enforces Gauss’ Laws (2.3) and (2.4), as discussed in Appendix B.

2.2.3 Computer Implementation

The discretized equations (2.23) and (2.24) are now ready to be implemented in a computer lan-
guage. Considering that it is possible to have a continuous variation of material properties with spatial position,
it is desirable to define the following constant updating coefficients, to be stored in computer memory, for
each of the field components:

Updating Coefficients for the Ex field component:

2ε0 εxx |i+1/2,j,k − ∆tσxx |i+1/2,j,k


C1(i,j,k)
x = (2.25a)
2ε0 εxx |i+1/2,j,k + ∆tσxx |i+1/2,j,k
1 2∆t
C2(i,j,k)
x = (2.25b)
∆y 2ε0 εxx |i+1/2,j,k + ∆tσxx |i+1/2,j,k
1 2∆t
C3(i,j,k)
x = (2.25c)
∆z 2ε0 εxx |i+1/2,j,k + ∆tσxx |i+1/2,j,k

12
Updating Coefficients for the Ey field component:

2ε0 εyy |i,j+1/2,k − ∆tσyy |i,j+1/2,k


C1(i,j,k)
y = (2.26a)
2ε0 εyy |i,j+1/2,k + ∆tσyy |i,j+1/2,k
1 2∆t
C2(i,j,k)
y = (2.26b)
∆z 2ε0 εyy |i,j+1/2,k + ∆tσyy |i,j+1/2,k
1 2∆t
C3(i,j,k)
y = (2.26c)
∆x 2ε0 εyy |i,j+1/2,k + ∆tσyy |i,j+1/2,k

Updating Coefficients for the Ez field component:

2ε0 εzz |i,j,k+1/2 − ∆tσzz |i,j,k+1/2


C1(i,j,k)
z = (2.27a)
2ε0 εzz |i,j,k+1/2 + ∆tσzz |i,j,k+1/2
1 2∆t
C2(i,j,k)
z = (2.27b)
∆x 2ε0 εzz |i,j,k+1/2 + ∆tσzz |i,j,k+1/2
1 2∆t
C3(i,j,k)
z = (2.27c)
∆y 2ε0 εzz |i,j,k+1/2 + ∆tσzz |i,j,k+1/2

Updating Coefficients for the Hx field component:



2µo µxx |i,j+1/2,k+1/2 − ∆tσxx |i,j+1/2,k+1/2
D1(i,j,k)
x = ∗
(2.28a)
2µo µxx |i,j+1/2,k+1/2 + ∆tσxx |i,j+1/2,k+1/2
1 2∆t
D2(i,j,k)
x = ∗ |
(2.28b)
∆z 2µo µxx |i,j+1/2,k+1/2 + ∆tσxx i,j+1/2,k+1/2
1 2∆t
D3(i,j,k)
x = ∗ |
(2.28c)
∆y 2µo µxx |i,j+1/2,k+1/2 + ∆tσxx i,j+1/2,k+1/2

Updating Coefficients for the Hy field component:


2µo µyy |i+1/2,j,k+1/2 − ∆tσyy |i+1/2,j,k+1/2
D1(i,j,k)
y = ∗ |
(2.29a)
2µo µyy |i+1/2,j,k+1/2 + ∆tσyy i+1/2,j,k+1/2
1 2∆t
D2(i,j,k)
y = ∗ |
(2.29b)
∆x 2µo µyy |i+1/2,j,k+1/2 + ∆tσyy i+1/2,j,k+1/2
1 2∆t
D3(i,j,k)
y = ∗ |
(2.29c)
∆z 2µo µyy |i+1/2,j,k+1/2 + ∆tσyy i+1/2,j,k+1/2

Updating Coefficients for the Hz field component:



2µo µzz |i+1/2,j+1/2,k − ∆tσzz |i+1/2,j+1/2,k
D1(i,j,k)
z = ∗
(2.30a)
2µo µzz |i+1/2,j+1/2,k + ∆tσzz |i+1/2,j+1/2,k
1 2∆t
D2(i,j,k)
z = ∗ |
(2.30b)
∆y 2µo µzz |i+1/2,j+1/2,k + ∆tσzz i+1/2,j+1/2,k
1 2∆t
D3(i,j,k)
z = ∗ |
(2.30c)
∆x 2µo µzz |i+1/2,j+1/2,k + ∆tσzz i+1/2,j+1/2,k

The updating coefficients depend not only on the material properties but also on the chosen time-
step ∆t and mesh space increments ∆x, ∆y and ∆z. For the general case, the required memory to store the
field components and updating coefficients is (6 × 3 + 6)N = 24N where N is the number of cells in the
computational domain. For the case of a mesh with cubical cells ∆x = ∆y = ∆z = ∆, and the coefficients
C2 = C3 and D2 = D3 thus reducing the required memory to 18N.

It is possible to reduce the memory requirements by calculating the update coefficients on the fly,
i.e., for each time-step a pointer associated with each cell would point to an entry in an array of materials (with

13
a number of entries much smaller than N) from which the coefficients could be calculated. Unfortunately, the
memory savings would come at the expense of a longer simulation time, so a tradeoff must be made. For
the purposes of this work the first approach has been chosen since computation time was considered a more
important aspect.

Using the coefficients (2.25)–(2.30), equations (2.23) and (2.24) can be rewritten more compactly
as:
n+ 1 n− 12
 
Ex |i+ 12,j,k =C1(i,j,k)
x E x | 1
i+ ,j,k
+ C2 (i,j,k)
x H z |n
1 1
i+ 2 ,j+ 2 ,k − H z |n
1 1
i+ 2 ,j− 2 ,k
2
 2  (2.31a)
− C3(i,j,k)
x Hy |ni+ 1 ,j,k+ 1 − Hy |ni+ 1 ,j,k− 1
2 2 2 2

n+ 12 n− 12
 
(i,j,k) (i,j,k)
Ey |i,j+ 1 ,k =C1y Ey |i,j+ 1 ,k + C2y Hx |i,j+ 1 ,k+ 1 − Hx |ni,j+ 1 ,k− 1
n
2 2 2 2 2
 2  (2.31b)
(i,j,k) n n
− C3y Hz |i+ 1 ,j+ 1 ,k − Hz |i− 1 ,j+ 1 ,k
2 2 2 2
1
n− 12
 
n+ 2 (i,j,k) (i,j,k)
Ez |i,j,k+ 1 =C1z Ez |i,j,k+ 1 + C2z Hy |i+ 1 ,j,k+ 1 − Hy |ni− 1 ,j,k+ 1
n
2 2 2 2 2 2
  (2.31c)
(i,j,k) n n
− C3z Hx |i,j+ 1 ,k+ 1 − Hx |i,j− 1 ,k+ 1
2 2 2 2

n+ 1 n− 12
 
Hx |i,j+2 1 ,k+ 1 =D1(i,j,k)
x H x | 1
i,j+ ,k+ 2 1 + D2 (i,j,k)
x E y |n
1
i,j+ 2 ,k+1 − E y |n
1
i,j+ 2 ,k
2 2
 2  (2.32a)
(i,j,k) n n
− D3x Ez |i,j+1,k+ 1 − Ez |i,j,k+ 1
2 2

n+ 12 n− 12
 
(i,j,k) (i,j,k)
Hy |i+ 1 ,j,k+ 1 =D1y Hy |i+ 1 ,j,k+ 1 + D2y Ez |ni+1,j,k+ 1 − Ez |ni,j,k+ 1
2 2 2 2
 2 2
 (2.32b)
(i,j,k) n n
− D3y Ex |i+ 1 ,j,k+1 − Ex |i+ 1 ,j,k
2 2

n+ 21 n− 21
 
(i,j,k) (i,j,k)
Hz |i+ 1 ,j+ 1 ,k =D1z Hz |i+ 1 ,j+ 1 ,k + D2z Ex |ni+ 1 ,j+1,k − Ex |ni+ 1 ,j,k
2 2 2 2
 2 2  (2.32c)
(i,j,k) n n
− D3z Ey |i+1,j+ 1 ,k − Ey |i,j+ 1 ,k
2 2

Using equations (2.31) and (2.32) and taking into account that the field components that be-
long to the cell (i, j, k) are Ex |i+1/2,j,k , Ey |i,j+1/2,k , Ez |i,j,k+1/2 , Hx |i,j+1/2,k+1/2 , Hy |i+1/2,j,k+1/2 and
Hz |i+1/2,j+1/2,k , a simple FDTD update algorithm using a C-like programming language could have a struc-
ture like that of the code example C.1 presented in Appendix C.

2.3 Numerical Dispersion

FDTD algorithms for Maxwell’s equations cause nonphysical dispersion of the simulated waves even
in the case of free-space propagation simulation. This means that the phase velocity of numerical wave modes
differs from c by an amount that varies with the wavelength, direction of propagation and grid discretization,
which can lead to imprecise results since the propagating numerical waves accumulate delay and phase errors.
This section presents the key relations for numerical dispersion, applicable to the FDTD algorithm developed
for this work, and ways to mitigate it.

14
2.3.1 Derivation of the numerical dispersion relation for three-dimensional wave
propagation

Consider the three-dimensional scalar wave equation

∂2u ∂2u ∂2u ∂2u


 
= c2 + 2 + 2 (2.33)
∂t2 ∂x2 ∂y ∂z

where u is an arbitrary component of the E or H fields.


e e
Replacing the partial derivatives in (3.10) by central-difference approximations (see Appendix A.4),
we obtain the following discretization of the wave equation:

un+1 n n−1
unI+1,J,K − 2unI,J,K + unI−1,J,K
 n
I,J,K − 2uI,J,K + uI,J,K uI,J+1,K − 2unI,J,K + unI,J−1,K
  
2 2
≈c +c
(∆t)2 (∆x)2 (∆y)2
 n n n
uI,J,K+1 − 2uI,J,K + uI,J,K−1

+ c2
(∆z)2
(2.34)

Now let us consider a continuous solution of the wave equation (3.10), written in phasor form:

u(x, y, z, t) = ej(ωt−kx x−ky y−kz z) (2.35)

where kx , ky and kz are the possibly complex-valued wavenumbers along the three spatial directions. The
discretely sampled wave, which has possibly complex-valued wavenumbers k̃x , k̃y and k̃z , is given by

unI,J,K = ej(ωn∆t−k̃x I∆x−k̃y J∆y−k̃z K∆z) (2.36)

Inserting the “numerical” wave (2.36) in the discretized wave equation (2.34) and rearranging terms
yields
 
 2  ej(ωn∆t−k̃x (I+1)∆x−k̃y J∆y−k̃z K∆z)
c∆t 
ej(ω(n+1)∆t−k̃x I∆x−k̃y J∆y−k̃z K∆z) = −2 ej(ωn∆t−k̃x I∆x−k̃y J∆y−k̃z K∆z) 
 
∆x  
+ej(ωn∆t−k̃x (I−1)∆x−k̃y J∆y−k̃z K∆z)
 
j(ωn∆t−k̃x I∆x−k̃y (J+1)∆y−k̃z K∆z)
 2  e
c∆t  
+ −2 ej(ωn∆t−k̃x I∆x−k̃y J∆y−k̃z K∆z) 

∆y  
+ej(ωn∆t−k̃x I∆x−k̃y (J−1)∆y−k̃z K∆z) (2.37)
 
j(ωn∆t−k̃x I∆x−k̃y J∆y−k̃z (K+1)∆z)
 2 e
c∆t  
+ −2 ej(ωn∆t−k̃x I∆x−k̃y J∆y−k̃z K∆z) 
 
∆z  
+ej(ωn∆t−k̃x I∆x−k̃y J∆y−k̃z (K−1)∆z)
+2 ej(ωn∆t−k̃x I∆x−k̃y J∆y−k̃z K∆z)
−ej(ω(n−1)∆t−k̃x I∆x−k̃y J∆y−k̃z K∆z)

Eliminating the common factor ej(ωn∆t−k̃x I∆x−k̃y J∆y−k̃z K∆z) and using Euler’s identity yields the

15
desired numerical dispersion relation
2 !  2 !
ejω∆t + e−jω∆t ej k̃x ∆x + e−j k̃x ∆x ej k̃y ∆y + e−j k̃y ∆y

c∆t c∆t
−1= −1 + −1
| 2 {z } ∆x 2 ∆y 2
− sin2 ( ω∆t
| {z } | {z }
2 )
− sin2 ( k̃x2∆x ) − sin2 (
k̃y ∆y
2 )
2 !
ej k̃z ∆z + e−j k̃z ∆z

c∆t
+ −1 ⇔
∆z 2
| {z }
− sin2 ( k̃z2∆z )

  2 " !#2 " !#2 " !#2


1 ω∆t 1 k̃x ∆x 1 k̃y ∆y 1 k̃z ∆z
⇔ sin = sin + sin + sin (2.38)
c∆t 2 ∆x 2 ∆y 2 ∆z 2

In order to make the FDTD dispersion relation’s spatial direction dependence more evident, (2.38)
can be written using spherical coordinates as

  2 " !#2 " !#2


1 ω∆t 1 k̃ sin θ cos φ ∆x 1 k̃ sin θ sin φ ∆y
sin = sin + sin
c∆t 2 ∆x 2 ∆y 2
" !#2 (2.39)
1 k̃ cos θ ∆z
+ sin
∆z 2

2.3.2 Comparison with the ideal dispersion case and anisotropy of the numerical
phase velocity

The analytical dispersion relation for a physical plane wave propagating in three dimensions in a
homogeneous lossless medium is
 ω 2
= (kx )2 + (ky )2 + (kz )2 (2.40)
c
which seems to be quite different from the numerical dispersion relation (2.38). However, in the limit as ∆x,
∆y, ∆z and ∆t approach zero, it can easily be shown that the two relations are identical. This suggests that
numerical dispersion can be reduced to any desired level by using fine enough FDTD gridding.

By solving the numerical dispersion relation with an appropriate iterative method [9], such as New-
ton’s method, it can be seen that the error due to numerical dispersion, relatively to the analytical solution, is
maximum when propagation occurs along the grid’s axes and minimal when propagation occurs along the grid
diagonals. For the former case, and assuming propagation in a cubic grid, the numerical dispersion relation
becomes:   
2 1 πS
k̃|axis = sin−1 sin (2.41)
∆ S Nλ
where S = c∆t/∆ is known as the Courant stability factor and Nλ = λ0 /∆ is the grid sampling density. The
corresponding numerical phase velocity is:

ω πc
ṽp |axis = = h  i (2.42)
k̃ −1 1 πS
Nλ sin S sin Nλ

For the case of propagation along a grid diagonal in a cubic grid, the numerical dispersion relation
becomes: √   
2 3 −1 1 πS
k̃|diag = sin √ sin (2.43)
∆ S 3 Nλ

16
and the corresponding numerical phase velocity is:

πc
ṽp |diag = √ h  i (2.44)
−1 1 πS
Nλ 3 sin S

3
sin Nλ

As will be seen in the next section, for three dimensional simulation the value of S must be less than

or equal to 1/ 3, so a common value used in practice for S is around 0.5. For the case of S = 0.5, a plot
of the numerical phase velocities (2.42) and (2.44) as a function of the grid sampling density Nλ is shown in
Fig. 2.3. It can be seen that for a typical values of S, a value of Nλ = 10, i.e., ten cells per wavelength, yields

Figure 2.3: Variation of the numerical phase velocity along the grid’s axes and diagonals as a function of the
sampling density Nλ , for S = 0.5.

values for the numerical phase velocity that differ from the analytical one by less than 1.4%.

Although the error in numerical phase velocity relatively to the theoretical value can be made
reasonably small with at least ten cells per wavelength, it is also important to account for the anisotropy of
the phase velocity. This is an issue that cannot be neglected when doing FDTD simulation of antennas, since
it can, for example, corrupt farfield results, as discussed in Chapter 6. From Fig. 2.3 it is possible to calculate
the relative error between the two numerical velocities – For a value of Nλ = 10 this difference is less than
1% and for a value of Nλ = 20 it is less than 0.2%.

2.3.3 Choice of the spatial sampling density and other sources of numerical error

For the FDTD simulation of antennas, it is generally considered that 10 cells per wavelength is the
minimum sampling density that one should use if accurate farfield results are required. However, if accurate
S-parameters or input impedance/admittance values are desired, a value of 20 or 30 cells per wavelength might
be necessary.

In such cases, the numerical errors are not due to numerical dispersion but essentially due to
differences between the meshed version of the structure and its real geometry. For a cartesian grid, these
errors are generally associated with its inability to conform to curved surfaces or boundaries not aligned with

17
its axes, and are called staircasing errors. An example of staircasing is shown in Fig. 2.4. Therefore, an even
finer mesh might be necessary if the structure being simulated has very fine geometrical features.

Figure 2.4: (a) A circular metallic patch and (b) its meshed version where the staircased approximation of the
curved boundary can be observed.

It is also important to mention that errors in numerical phase velocity are cumulative and, as a
consequence, the simulation of electrically large structures in FDTD may require a sampling density that
increases with the size of the structure under analysis.

As for the anisotropy of phase velocities, it can be said that for practical purposes, if the error in
numerical phase velocity is small, for example 1%, then the anisotropy error will be even smaller, and the
former can be used as an upper bound for the latter.

2.4 Numerical Stability

In the previous section we have seen that the numerical error in FDTD simulations resulting from nu-
merical dispersion can be mitigated by using an appropriate grid sampling density, i.e., by choosing appropriate
values for ∆x, ∆y and ∆z.

This section shows that the time-step ∆t must also be bounded in order to avoid numerical instability
which is an undesirable possibility with explicit numerical differential equation solvers.

2.4.1 The Courant stability criterion

The approach taken to analyze the numerical stability of the FDTD algorithm is called Complex-
Frequency Analysis [9] and, as the name suggests, is based on the possibility that the angular frequency ω in
the numerical dispersion relation can assume complex values. Indeed, if we consider that the discretized wave
(2.36) can have a numerical angular frequency ω̃ = ω̃real + j ω̃imag , then we have

unI,J,K = e−ω̃imag n∆t ej(ω̃real n∆t−k̃x I∆x−k̃y J∆y−k̃z K∆z) (2.45)

where we see that if ω̃imag > 0 the time-stepping algorithm will be dissipative, i.e., numerical waves will suffer
a non-physical attenuation which obviously leads to numerical errors. For the case that ω̃imag < 0, numerical
waves will be amplified and the algorithm is said to be unstable.

Given these conclusions, the only acceptable value for ω̃imag is zero, which means that the numerical
angular frequency must be a real number. Considering that the numerical dispersion relation (2.38) can have

18
a complex angular frequency and solving for ω̃ yields

2
ω̃ = sin−1 (ξ) (2.46)
∆t

where v
u ! ! !
u 1 k̃x ∆x 1 k̃y ∆y 1 k̃z ∆z
ξ = c∆tt sin2 + sin2 + sin2 (2.47)
(∆x)2 2 (∆y)2 2 (∆z)2 2

We note that s
1 1 1
0 ≤ ξ ≤ c∆t 2
+ 2
+ ≡ ξupper bound (2.48)
(∆x) (∆y) (∆z)2

To guarantee that the simulation is stable we must have ξupper bound ≤ 1, yielding the following
stability criterion, which is known as Courant stability criterion:

1
∆t ≤ q ≡ ∆tmax (2.49)
1 1 1
c (∆x) 2 + (∆y)2 + (∆z)2

The Courant stability criterion establishes an upper bound for the time-step in order to achieve a
stable simulation. However, choosing ∆t = ∆tmax for a simulation can still lead to instability due to the small
numerical truncation errors that occur in computers. For this reason many authors often choose ∆t in the
interval [0.95∆tmax , 0.99∆tmax ].

For the case of a grid with cubical cells, i.e., ∆x = ∆y = ∆z = ∆, the Courant stability factor
S = c∆t/∆ is
1
S=√ (2.50)
3

2.4.2 Other potential sources of instability

Although the Courant stability criterion establishes the stability conditions for the basic Yee algo-
rithm’s leapfrog field updating scheme, the stability of the entire FDTD procedure depends upon more than
the stability of the Yee algorithm. This happens because a FDTD program needs other augmenting algorithms
to be useful for engineering problems. Examples of such algorithms are absorbing boundary conditions (ABCs),
excitation sources, subcellular techniques, lumped elements and non-uniform or non-orthogonal meshing. The
interaction between FDTD and the augmenting algorithms leads to a generalized stability problem for which
a stability analysis may not be feasible. Nevertheless, normally the augmenting algorithms have their own
partly-analytical/partly-empirical stability criteria which have been used to successfully simulate numerous
problems of engineering interest. For the augmenting algorithms used in this work prone to be unstable, a
stability criterion or empirical rule will be presented in the respective section.

2.5 Extension to non-uniform Cartesian meshes

2.5.1 Benefits of non-uniform meshes

All the material presented so far in this chapter assumed that the FDTD grid is uniform, that is,
all cells have the same dimensions ∆x, ∆y and ∆z. There are, however, situations for which a non-uniform
cartesian grid would be desirable.

19
One of such situations is represented in Fig. 2.5(a) where it can be seen that an uniform mesh
can only adapt to the boundaries of shape A, failing to adapt to B’s boundaries, which can lead to incorrect
results since Yee’s algorithm assumes that the medium is homogeneous within a cell. As can be seen in Fig
2.5(b), a non-uniform mesh can adapt to the boundaries of both shapes, yielding a better discretization of the
problem’s geometry.

Figure 2.5: Comparison between (a) an uniform mesh and (b) a non-uniform mesh regarding the capability to
adapt to the geometry of multiple objects.

Another situation, of particular interest in antenna problems, is that represented in Fig. 2.6. As
mentioned in 2.3.3, antenna problems often require high sampling densities to yield accurate nearfield data.
Besides this fact, some additional space must be added between the discretized structure and the boundaries
of the computational domain in order to be able to use an absorbing boundary condition for the radiated
fields1 , which increases the size of the computational domain. If a uniform mesh is used for such a case, like
in Fig. 2.6(a), the distance between the structure and the domain boundary must be discretized with cells
having the same (small) size of those used for the structure. With a non-uniform mesh, like that shown in
Fig. 2.6(b), it is possible to have a refined lattice only in the region of interest and to use bigger cells for the
rest of the domain, thus reducing the memory requirements, especially for 3D problems.

Figure 2.6: Comparison between (a) an uniform mesh and (b) a non-uniform mesh regarding the capability to
use different levels of spatial resolution.

2.5.2 Required modifications to the algorithm

The algorithm derived in section 2.2 was extended relatively easily to allow the simulation of non-
uniform grids, having only been necessary to modify the updating coefficients (2.25) to (2.30) that depended
on the cell’s dimensions ∆x, ∆y or ∆z, i.e., the C2, C3, D2 and D3 coefficients.

At first glance, it may seem that ∆x, ∆y and ∆z only have to be replaced by ∆x(i, j, k), ∆y(i, j, k)
and ∆z(i, j, k), that are the dimensions of the cell to which the update coefficient refers to. However, when
using a non-uniform mesh the finite-difference expressions are no longer second-order accurate because the
field components used to calculate the spatial derivatives are not equidistant from the field location assumed
1 This topic is treated in Chapter 3.

20
in central-differences. This leads to numerical errors resulting from non-physical reflections at the cell’s
boundaries.

In order to reduce these spurious reflections, the following approach, proposed by Yu and Mittra
[14], was used in the developed software to modify the Ex and Hx field components’s update coefficients.

Modifications to the C2x and C3x coefficients:

1 2∆t
C2x = (2.51a)
0.5 × [∆y(i, j − 1, k) + ∆y(i, j, k)] 2ε0 εxx |i+1/2,j,k + ∆tσxx |i+1/2,j,k
1 2∆t
C3x = (2.51b)
0.5 × [∆z(i, j, k − 1) + ∆z(i, j, k)] 2ε0 εxx |i+1/2,j,k + ∆tσxx |i+1/2,j,k

Modifications to the D2x and D3x coefficients:

1 2∆t
D2x = ∗ |
(2.52a)
AA 2µo µxx |i,j+1/2,k+1/2 + ∆tσxx i,j+1/2,k+1/2
1 2∆t
D3x = ∗ |
(2.52b)
BB 2µo µxx |i,j+1/2,k+1/2 + ∆tσxx i,j+1/2,k+1/2

with

AA = 0.125 × (∆z(i, j, k − 1) + 6.0 × ∆z(i, j, k) + ∆z(i, j, k + 1)) (2.53a)


BB = 0.125 × (∆y(i, j − 1, k) + 6.0 × ∆y(i, j, k) + ∆y(i, j + 1, k)) (2.53b)

The modifications to the other update coefficients are analogous to those shown above.

2.5.3 Numerical accuracy and stability for non-uniform FDTD

When dealing with non-uniform meshes it is often very difficult, if not impossible, to obtain an-
alytical expressions for numerical errors and/or stability criteria. Nevertheless, part-analytical/part-empirical
criteria exist for the choice of the time-step ∆t and mesh characteristics that have permitted many successful
engineering applications using non-uniform meshes. For the case of a non-uniform cartesian grid, the follow-
ing partly-empirical/partly-analytical rules should be followed in order to reduce numerical error and to avoid
instability:

• Use the modified update coefficients (2.51) and (2.52) to reduce the truncation error. Interestingly, it
has been shown by Monk [15] that although the truncation error resulting from the use of a non-uniform
cartesian mesh is locally first-order, globally the method remains second order convergent regardless of
the non-uniformity of the mesh, an effect known as supra-convergence;

• To keep the truncation error within acceptable limits (i.e., to achieve better results with non-uniform
meshing than those obtained with a uniform mesh), the ratio between two adjacent cell lengths should
not be bigger than about 1.4 [16, 17];

• The biggest cell length in any direction ∆max (i, j, k) should be the same that would be used for a
simulation using a uniform grid, in order to limit the error resulting from numerical dispersion;

• To avoid numerical instability, the time-step should be chosen in accordance with the Courant stability
criterion, using for the calculation the set of minimum cell lengths ∆xmin , ∆ymin and ∆zmin that occur
in the mesh [9, Chapter 11, Sec. 2].

21
Chapter 3

Absorbing Boundary Conditions

3.1 Introduction

Unlike methods based on integral equations, like the Method of Moments, the FDTD method
performs its calculations on a computational domain that discretizes a finite region of space. As can be seen
in the simple FDTD update algorithm presented in Sec. 2.2.3, both the E-field components located on the
i=0, j=0 and k=0 boundaries and the H-field components located on the i=TotalCellsX-1, j=TotalCellsY-
1 and k=TotalCellsZ-1 boundaries are not updated due to the absence of neighboring cells from which to
get the field values required to calculate the new field values. Taking into account that all field values are
initially set to zero, this effectively corresponds to having a computational domain with electrical and magnetic
boundaries that totally reflect all incident fields. Since antenna problems normally involve structures defined
in open regions of space, this kind of totally reflective boundaries is completely inappropriate for the FDTD
simulation of antennas.

As a consequence, in order to simulate a computational domain of infinite extent, an additional


algorithm must be implemented on the domain’s outer boundary. This kind of algorithm is called an absorbing
boundary condition (ABC) and its goal is theoretically to suppress, but for practical purposes to attenuate,
the spurious numerical reflections of the outgoing numerical waves, to a level sufficiently low so that the fields
in the vicinity of the structure are not significantly affected by them. There are two major classes of ABCs:
analytical [9, Chapter 6] and absorbing-material ABCs.

The principle of analytical ABCs is to use differential operators, based on the wave equation, that
either force waves to propagate outside the computational domain, like the Engquist-Majda one-way wave
equation and the Higdon radiation operator, or provide estimates of the field values outside the computational
domain, like the Liao extrapolation method, that are used to update the field values at the boundaries.

One of the most popular analytical ABCs is based on the Engquist-Majda one-way operators and
was developed by Mur [18] [19]. The reasons for its popularity are the relatively simple implementation and
sufficiently low reflection coefficients, between -40 dB and -25 dB. Although the other mentioned analytical
ABCs are able to provide reflection coefficients as low as -60 dB, they are more cumbersome to implement
and computationally heavier since the discretization of the differential operators requires a number of terms
that increases with the desired order of accuracy.

The principle of absorbing-material ABCs is to surround the computational domain with a material
that absorbs the outgoing numerical waves, similarly to the walls of an anechoic chamber. Since the first
implementations of this kind of ABCs relied on conventional lossy dispersionless media that were only matched

22
to normally incident plane waves, their application to electromagnetic problems was very limited.

However, in 1994, Bérenger [20] introduced a revolutionary absorbing-material ABC that was able
to absorb plane waves of arbitrary incidence, polarization and frequency, with reflection coefficients below -50
dB and in some cases even close to -100 dB. This ABC was designated perfectly matched layer, or PML. The
main advantage of the PML resides in the fact that, through a relatively simple implementation, it provides
smaller reflection errors than the much more difficult to implement analytical ABCs. Moreover, in the last
years, modified versions of the PML have been developed that can match inhomogeneous, lossy, dispersive and
nonlinear media, which is something very difficult to achieve with an analytical ABC. In order to distinguish
Bérenger’s PML from other PML formulations, it will be referred to as Split-Field PML where confusion could
occur.

Given the advantages of PMLs over analytical ABCs, it was determined that it should be the type
of ABC to implement in the developed software. At this point it is important to mention that although
the effectiveness and robustness of Berenger’s PML have been confirmed by the many papers that appeared
validating the technique, the formulation has some limitations. In fact, the fields and governing equations
within the PML medium are based on a mathematical model that uses field-splitting, which prevents direct
physical insight into the phenomena and doubles the number of floating-point operations relatively to the
standard FDTD method.

A more computationally efficient and physically insightful technique was proposed by Gedney [21]
in 1996. Gedney’s formulation is based on a lossy uniaxial medium that is both physically and mathematically
equivalent to Bérenger’s PML but avoids field-splitting by using Maxwell’s equations in their original (real)
form. It has been designated uniaxial perfectly matched layer, or more simply, UPML. A comparison of the
computational efficiency of different PML formulations [22] is shown in Table 3.1.

PML type Storage Operations Multiplications Additions


Regular Split PML 10 56 16 40
Eight-variable Split PML 8 60 18 42
Uniaxial PML 8 48 20 28
CPML1 10 56 20 36
NPML2 10 52 20 32

Table 3.1: Number of variables and number of operations per FDTD cell for different types of Perfectly
Matched Layer Absorbing Boundary Conditions. The PMLs are matched to a vacuum.

As can be observed, the UPML is the most computationally efficient technique, with the lowest
storage and CPU time requirements. For this reason, the UPML was the PML formulation chosen to be
implemented in the developed software. Before describing the UPML in detail in Section 3.3, an overview of
Bérenger’s PML will be presented in Section 3.2.

Although the Mur ABC was not used to terminate the computational domain, a simplified formu-
lation was used to terminate the unidimensional transmission line employed in the resistive voltage source
presented in Chapter 5.
1 Convolutional PML.
2 Near PML.

23
3.2 Bérenger’s Split-Field PML

The PML formulation initially proposed by Bérenger [20] was based on the use of a medium with
electrical and magnetic losses σ and σ ∗ and a modified version of Maxwell’s equations in the PML region.

The use of electrical and magnetic losses results from the fact that a wave, propagating in a lossless
medium with electrical permittivity ε and magnetic permeability µ, which is normally incident on a lossy
material, is totally transmitted if the loss parameters are chosen such that

σ∗ σ
= (3.1)
µ ε

However, the previous condition by itself only provides perfect matching for normally incident waves. As a
matter of fact, the absorbing-material ABC’s used before the PML’s introduction in 1994 relied solely on this
condition, which limited their applicability.

Bérenger’s insight was to derive a novel split-field formulation of Maxwell’s equations where each
field component is split into two orthogonal components. By doing that, he was able to explore the additional
degrees of freedom to develop an ABC perfectly matched for waves of any frequency and angle of incidence.
The resulting coupled set of first-order partial differential equations is [23]
 
∂ ∂
ε + σy Exy = (Hzx + Hzy ) (3.2a)
∂t ∂y
 
∂ ∂
ε + σz Exz = − (Hyx + Hyz ) (3.2b)
∂t ∂z
 
∂ ∂
ε + σz Eyz = (Hxy + Hxz ) (3.2c)
∂t ∂z
 
∂ ∂
ε + σx Eyx = − (Hzx + Hzy ) (3.2d)
∂t ∂x
 
∂ ∂
ε + σx Ezx = (Hyx + Hyz ) (3.2e)
∂t ∂x
 
∂ ∂
ε + σy Ezy = − (Hxy + Hxz ) (3.2f)
∂t ∂y

for the split-field formulation of the Maxwell-Ampere equation (2.2), and


 
∂ ∂
µ + σy∗ Hxy = − (Ezx + Ezy ) (3.3a)
∂t ∂y
 
∂ ∂
µ + σz∗ Hxz = (Eyx + Eyz ) (3.3b)
∂t ∂z
 
∂ ∂
µ + σz∗ Hyz = − (Exy + Exz ) (3.3c)
∂t ∂z
 
∂ ∂
µ + σx∗ Hyx = (Ezx + Ezy ) (3.3d)
∂t ∂x
 
∂ ∂
µ + σx∗ Hzx = − (Eyx + Eyz ) (3.3e)
∂t ∂x
 
∂ ∂
µ + σy∗ Hzy = (Exy + Exz ) (3.3f)
∂t ∂y

for the split-field formulation of the Maxwell-Faraday equation (2.1).



The parameters σw and σw , where w = x, y, z, are chosen so that at a normal-to-w interface,

the PML region has the parameter pair (σw , σw ) satisfy (3.1) and all the other parameters equal to zero.

24
For a region that is normal to more than one interface, i.e., a corner region, the PML is configured with the

parameter pairs (σw , σw ) corresponding to each of the PMLs that form the corner. A representation of the
PML technique is shown in Fig. 3.1.

Figure 3.1: 2D-cut of a three-dimensional FDTD grid employing the Berenger PML ABC. The overlapping
PML regions are dihedral-corners.

As can be seen in Fig. 3.1, for practical purposes the PML medium must be backed by PEC walls
since the PML cannot extend to infinity. This fact implies that after crossing the layer, a wave is reflected
by the PEC wall and, after a second crossing of the interface, re-enters the computational domain. So, an
apparent reflection factor can be defined as

i
R(θi ) = e−2(σ cos θ /ε0 c)δ
(3.4)

where θi is the angle of incidence and δ is the thickness of the layer.

From (3.4) it can be seen that the reflection factor depends on the product σδ and theoretically,
for a given layer attenuation, δ could be as small as desired, which would translate into a one-cell thick PML
for FDTD computations. However, when applied to a numerical algorithm, a sharp variation of conductivity
between the main computational domain and the PML medium gives rise to considerable numerical reflections.
So, to mitigate these reflections the conductivities inside the PML have to be gradually increased from zero
at the interface to a value σm close to the PEC walls. For a conductivity σ(ρ) the reflection factor is then
given by
i

R(θi ) = e−2(cos θ /ε0 c) 0 σ(ρ)dρ (3.5)

A conductivity profile, initially proposed by Bérenger, that has been reported to yield good results is
 ρ n  ρ n
σ(ρ) = σm ; σ ∗ (ρ) = σm

(3.6)
δ δ

for which the apparent reflection factor is

i
R(θi ) = e−(2/(n+1))(σm δ/ε0 c) cos θ (3.7)

25
3.3 Uniaxial PML

3.3.1 UPML Formulation

Consider an arbitrarily polarized plane wave that is propagating in Region 1, a homogeneous, non-
dispersive, but possibly anisotropic and lossy medium, corresponding to the half-space x < 0. This wave is
incident on Region 2, the half-space x > 0, which is comprised of the UPML medium. We begin by considering
Maxwell’s curl equations written in the frequency-domain:

∇ × H̄ = jωε0 ε̄¯Ē (3.8a)


e e
∇ × Ē = −jωµ0 µ̄ ¯H̄ (3.8b)
e e
where


 σxx
 z }| {
εxx + jωε0 0 0 a 0 0
σyy
ε̄¯ =  0 εyy + 0  0 b 0  (3.9a)
  
jωε0
σzz
0 0 εzz + jωε0
0 0 b

 ∗
z
 }| {
σxx
µxx + jωµ0 0 0 c 0 0

 σyy 
¯=
µ̄ 0 µyy + 0  0 d 0  (3.9b)
 jωµ0  

σzz
0 0 µzz + jωµ0
0 0 d

and V¯ and W¯ are dimensionless tensors, rotationally symmetric around the x axis, that will be used for the
UPML medium.

Considering that the solutions of (3.8) are plane waves of the form Ā(x, y, z) = Ā0 e−jβx x e−jβy y e−jβz z ,
  e e
the ∇ operator is given by ∇ ≡ −j βx x̂ + βy ŷ + βz ẑ = −jβ and can be inserted into (3.8) to yield the
e e
following wave equation: 
e

e
β × ε̄¯−1 β × H̄ + k02 µ̄
¯ H̄ = 0 (3.10)
e e e e
Considering, for simplicity, that propagation occurs in the x-y plane, the wave equation (3.10) can
be written, in matrix form, as
    
k02 µxx c − ε−1
zz b
−1 2
βy ε−1
zz b
−1
βx βy 0 H̄x 0
−1 −1
εzz b βx βy k0 µyy d − ε−1
2
zz b
−1 2
βx 0   H̄y  =  0 
    

2 2 −1 −1 2 −1 −1
0 0 k0 µzz d − βx εyy b − βy εxx a H̄z 0
(3.11)

From the determinant of the matrix operator, we conclude that the medium supports TMz and TEz
modes, which satisfy the following dispersion relations:

TMz : k02 µxx µyy c d − µxx ε−1


zz b
−1
cβx2 − µyy ε−1
zz b
−1
dβy2 = 0 (3.12a)
TEz : k02 µzz d − ε−1
yy b
−1 2
βx − ε−1
xx a
−1 2
βy =0 (3.12b)

If we assume a TEz incident wave in Region 1, where the parameters a, b, c and d are equal to

26
unity, the superposition of the incident and reflected fields can be written as

H̄ 1 = ẑ H̄0 1 + Γe2jβx1 x e−jβ1x x e−jβ1y y



(3.13a)
e e 
β1y β1x
2jβx1 x 2jβx1 x
H̄0 e−jβ1x x e−jβ1y y
 
Ē 1 = −x̂ 1 + Γe + ŷ 1 − Γe (3.13b)
e e ωε 0 ε 1xx ωε 0 ε 1yy
e
and the corresponding dispersion relation (3.12b) can be put in the form
q
β1x = ε1yy µ1zz k02 − ε−1 2
1xx ε1yy β1y (3.14)

The wave transmitted into Region 2, where the parameters a, b, c and d have not yet been assigned
any values, is also TEz and its propagation is governed by (3.12b). The field transmitted into this region is
given by

H̄ 2 = ẑ H̄0 τ e−jβ2x x e−jβ2y y (3.15)


e 
e 
β2y β2x
Ē 2 = −x̂ + ŷ H̄0 τ e−jβ2x x e−jβ2y y (3.16)
e e ωε0 ε2xx a e ωε0 ε2yy b
Enforcing the continuity of the tangential E and H fields across x = 0 yields the following relations

β1y = β2y (3.17)


τ =1+Γ (3.18)
β1x ε2yy b − β2x ε1yy
Γ= (3.19)
β1x ε2yy b + β2x ε1yy

Having (3.17) in account, the dispersion relation for medium 2 can be written as
q
β2x = ε2yy µ2zz b d k02 − ε−1
2xx ε2yy a
−1 b β 2
1y (3.20a)

If in the previous expression we make d = b and a−1 = b, we get


q
β2x = b ε2yy µ2zz k02 − ε−1 2
2xx ε2yy β1y (3.20b)

Finally, if we consider that ε2xx = ε1xx , ε2yy = ε1yy and µ2zz = µ1zz , and take the dispersion relation for
Region 1 (3.14) into account, we get

β2x ≡ bβ1x (3.20c)

Substituting (3.20c) into (3.19) and having in account the previous considerations, the following reflection
factor at the interface is obtained:
β1x ε1yy b − bβ1x ε1yy
Γ= =0 (3.21)
β1x ε1yy b + bβ1x ε1yy

A similar procedure can be followed for an incident TMz wave, which also yields a null reflection
factor if the medium in Region 2 has the following characteristics:

d = b ; c−1 = d ; µ2xx = µ1xx ; µ2yy = µ1yy ; ε2zz = ε1zz (3.22)

From the previous analysis we conclude that the interface between Region 1 and Region 2 is re-
flectionless for waves of arbitrary frequency, polarization and angle of incidence if the complex εii and µii

27
parameters of Region 2 are the same as in Region 1 and the dimensionless tensors V¯ and W¯ are such that
 
s−1
x 0 0
V¯ = W¯ = s̄¯x =  0 sx 0  (3.23)
 

0 0 sx

To be useful for FDTD applications the medium in Region 2 should be highly lossy, in order to
minimize the reflections that occur at the PEC wall that backs the PML medium. With this purpose in mind,
Gedney proposed the constitutive parameters

σx
sx = kx + (3.24)
jωε0

which leads to the tensor


  −1 
σx
kx + jωε0 0 0
 
s̄¯x =  0 kx + σx
0
 (3.25)
 jωε0 
σx
0 0 kx + jωε0

For this case, the dispersion relation (3.20c) is expressed as


 
σx
β2x = kx − j β1x (3.26)
ωε0

where it is important to note that for kx = 1 the real part of β2x is identical to that of the incident wave but
in Region 2 the wave is also being attenuated along the x direction. For the case of a complex propagation
0
constant in Region 1 (associated to an evanescent mode or losses in medium 1), i.e, β1x ≡ γ1x = β1x − jα1x ,
β2x is given by
   
0 σx 0 σx
β2x = β1x kx − α1x −j β1x + α1x kx (3.27)
ωε0 ωε0

where it can be seen that the real term kx increases the attenuation of non-propagating modes and σx
attenuates propagating modes.

3.3.2 Theoretical and Practical Performance of the UPML

If we consider a propagating, non-attenuative mode incident from Region 1, which is assumed


isotropic, and that kx = 1, the apparent reflection factor due to the reflection at the PEC wall, is given by

εr µr σx cos θ i /ε0 c)δ
R(θi ) = e−2( (3.28)

where δ is the thickness of the UPML layer. It’s important to notice that for the case of free-space in
Region 1 (εr = 1 and µr = 1) the expression for the apparent reflection factor is the same as that for
Bérenger’s Split-Field PML (3.4).

Analogously to Bérenger’s PML, in a discretized version of the UPML numerical artifacts arise due
to the variation of constitutive parameters at the interface between the main computational domain and the
UPML layer. For this reason, the ki and σi parameters of the s¯i tensor have to be increased respectively from
one and zero at the interface, to values ki,max and σi,max at the PEC outer boundary.

For the UPML implemented in the developed software, the following polynomial grading was used

28
[9, Section 7.6.2]:

σi (i) = (i/δ)n σi,max ; ki (i) = 1 + (ki,max − 1) · (i/δ)n (3.29)

where i = x, y, z. For this case the theoretical reflection factor is given by


 √ 
i εr µr σi,max δ
R(θ ) = exp −2 cos θi (3.30)
ε0 c n + 1

In practice, the value of σi,max is calculated from a given error estimate, i.e, by choosing the theoretical
reflection factor at normal incidence R(0), σi,max can be calculated as

(n + 1)ε0 c ln R(0)
σi,max = − √ (3.31)
2 N ∆i εr µr

where N is the thickness of the UPML layer in number of FDTD cells and ∆i is the size of the UPML cells
along the i direction. Optimal values of R(0) and n have been determined experimentally [21, 24] for UPML
layers with a given number of cells N . For this work, in order to ensure minimal reflections, the default UPML
thickness was set as N = 10 cells and the optimal values R(0) = e−16 and n = 4 were also set as a default.
For this case, the value of σi,max is

n+1 1
σi,max = √ = √ (3.32)
150π εr µr 30π εr µr

where εr and µr do not necessarily have the same values as in the main computational domain, since the
medium may be anisotropic or heterogeneous. As a consequence, those values should be chosen in accordance
with the effective permittivity and permeability of the dominant modes. Since the developed software is
destined to antenna analysis, by default εr = µr = 1, but the values can be changed by the user if, for
instance, he/she desires to analyze propagation in a dielectric or magnetic medium instead of free-space.

In the implemented software ki,max = 1 by default, since values bigger than one are more suitable for
applications involving waveguide structures. Nevertheless, the parameter is configurable and good absorption
of evanescent modes has been reported for microstrip problems [24] using values of ki,max in the range of 5
to 20.

3.3.3 Application to a Three-Dimensional Problem Space

It is important to notice that Gedney coined this medium as Uniaxial PML because the original
derivation was made for the case of an isotropic medium in Region 1, which yielded an uniaxial medium
in Region 2. However, for the general case considered in this work, the material in Region 2 will be, in
general, anisotropic. Furthermore, and similarly to Berenger’s PML, in the regions where different UPML
regions overlap (corner regions), the dimensionless tensor s̄¯ is given by the product of the s¯i tensors of each
normal-to-i interface [21], i.e.
 
s−1
x sy sz 0 0
¯ ¯ ¯ ¯
s̄ = s̄x s̄y s̄z =  0 sx s−1
y sz 0 (3.33)
 

−1
0 0 sx sy sz

where sx , sy , and sz are associated with the x, y, and z-normal planes, respectively. Considering a three-
dimensional computational domain with limits (xmin , ymin , zmin ) and (xmax , ymax , zmax ),the parameteriza-
tion of the s̄¯ tensor for the different UPML regions is presented in Table 3.2.

29
UPML Region s̄¯x s̄¯y s̄¯z
kx σx ky σy kz σz
Planes at xmin and xmax kx (x) σx (x) 1 0 1 0
Planes at ymin and ymax 1 0 ky (y) σy (y) 1 0
Planes at zmin and zmax 1 0 1 0 kz (z) σz (z)
Dihedral Corners at xmin , xmax and ymin , ymax kx (x) σx (x) ky (y) σy (y) 1 0
Dihedral Corners at xmin , xmax and zmin , zmax kx (x) σx (x) 1 0 kz (z) σz (z)
Dihedral Corners at ymin , ymax and zmin , zmax 1 0 ky (y) σy (y) kz (z) σz (z)
Trihedral corners kx (x) σx (x) ky (y) σy (y) kz (z) σz (z)

Table 3.2: Parameterization of the different UPML regions for a three-dimensional computational domain.

3.3.4 Implementation in FDTD

Although the UPML formulation presented in Section 3.3.1 is able to match media having electrical
and magnetic conductivities, the FDTD implementation used in this work assumes that these conductivities
are zero. This decision is associated with the fact that an UPML termination for conductive media [9, Sec.
7.10] requires 50% more floating point operations and storage than a standard UPML, which would translate
into an unnecessary computational burden in the antenna problem’s analyzed in this work. So, considering
that the conductivities of the medium being matched are zero, Maxwell-Ampere’s Law (3.8a) in a matched
UPML is written as
 ∂ H̄z ∂ H̄y    
∂y − ∂z s−1
x sy sz 0 0 εxx Ēx
∂ H̄x ∂ H̄z
−  = jωε0  0 sx s−1
y sz 0   εyy Ēy  (3.34)
    
 ∂z ∂x
∂ H̄y
∂x − ∂ H̄x
∂y
0 0 sx sy s−1
z εzz Ēz

Defining the auxiliary fields (which have no physical meaning)

sz sx sy
D̄x = ε0 εxx Ēx ; D̄y = ε0 εyy Ēy ; D̄z = ε0 εzz Ēz (3.35)
sx sy sz

it is possible to write (3.34) in the time domain, which yields


 ∂Hz ∂Hy       
∂y − ∂z ky 0 0 Dx σy 0 0 Dx
∂Hx ∂Hz ∂  1 
− =  0 kz 0   Dy  +  0 σz 0   Dy  (3.36)
     
 ∂z ∂x ∂t ε0
∂Hy ∂Hx
∂x − ∂y 0 0 kx Dz 0 0 σx Dz

The previous system of equations can be discretized with the same scheme as in the Yee algorithm,
and the loss terms averaged with the semi-implicit approximation described in Chapter 2. For example, the
update equation for the Dx component is given by

n+ 1 2ε0 ky − ∆tσy n− 1 2ε0 ∆t 1  


Dx |i+ 12,j,k = Dx |i+ 12,j,k + Hz |ni+ 1 ,j+ 1 ,k − Hz |ni+ 1 ,j− 1 ,k
2 2ε0 ky + ∆tσy 2 2ε0 ky + ∆tσy ∆y 2 2 2 2
(3.37)
2ε0 ∆t 1  
− Hy |ni+ 1 ,j,k+ 1 − Hy |ni+ 1 ,j,k− 1
2ε0 ky + ∆tσy ∆z 2 2 2 2

The relations (3.35) can also be written in the time-domain. For the Dx component, we have
   
σx σz
kx + D̄x = ε0 εxx kz + Ēx (3.38a)
jωε0 jωε0

30
By multiplying both sides of (3.38a) by jω the following time-domain expression is obtained

∂ σxx ∂
(kx Dx ) + Dx = ε0 εxx (kz Ex ) + εxx σz Ex (3.38b)
∂t ε0 ∂t

The discretization of the previous relation using the Yee scheme yields the following update equation for the
Ex component

n+ 1 2ε0 kz − σz ∆t n− 1 1 2ε0 kx + σx ∆t n+ 1
Ex |i+ 12,j,k = Ex |i+ 12,j,k + Dx |i+ 12,j,k
2 2ε0 kz + σz ∆t 2 ε0 εxx 2ε0 kz + σz ∆t 2
(3.39)
1 2ε0 kx − σx ∆t n− 12
− Dx |i+ 1 ,j,k
ε0 εxx 2ε0 kz + σz ∆t 2

The update equations for the other field components are obtained using the same procedure.

From the previous expressions we see that inside the UPML the E-field components are updated in
two steps: first, the new values of D are obtained from the H-field values, as in (3.37), and then the new
e
values of E are obtained from the new values of D, according to (3.39).
e e
The update equations for the H-field components are obtained in a similar way, by using an auxiliary
field B̄ in Faraday’s Law (3.8b)
e
sz sx sy
B̄x = µ0 µxx H̄x ; B̄y = µ0 µyy H̄y ; B̄z = µ0 µzz H̄z (3.40)
sx sy sz

which also yields a two-step update procedure for the H-field components. For the Hx component, the update
equations are:

n+ 1 2ε0 ky − ∆tσy n− 1 2ε0 ∆t 1  n 


Bx |i,j+2 1 ,k+ 1 = Bx |i,j+2 1 ,k+ 1 + Ey |i,j+ 1 ,k+1 − Ey |ni,j+ 1 ,k
2 2 2ε0 ky + ∆tσy 2 2 2ε0 ky + ∆tσy ∆z 2 2
(3.41a)
2ε0 ∆t 1  
− Ez |ni,j+1,k+ 1 − Ez |ni,j,k+ 1
2ε0 ky + ∆tσy ∆y 2 2

n+ 1 2ε0 kz − σz ∆t n− 1 1 2ε0 kx + σx ∆t n+ 1
Hx |i,j+2 1 ,k+ 1 = Hx |i,j+2 1 ,k+ 1 + Bx |i,j+2 1 ,k+ 1
2 2 2ε0 kz + σz ∆t 2 2 µ0 µxx 2ε0 kz + σz ∆t 2 2
(3.41b)
1 2ε0 kx − σx ∆t n− 1
− Bx |i,j+2 1 ,k+ 1
µ0 µxx 2ε0 kz + σz ∆t 2 2

3.3.5 Computer Implementation

The computer implementation of the UPML’s update equations is very similar to that presented in
Section 2.2.3 and for this reason the update equations and coefficients for all field components are presented
in the Appendix D. It is important to remark that although the UPML update equations can also be applied
to the main computational domain, by setting all the ki to one and all the conductivities σi to zero in the
updating coefficients, that would translate into an unnecessary waste of computer resources as it would require
twice the memory and CPU time of the standard Yee algorithm. For this reason, in the developed software the
main computational domain uses the update equations presented in Section 2.2.3 and the UPML region those
listed in the Appendix D. In order to determine which set of update equations should be applied to a given
cell, each cell has a flag indicating whether it is an UPML or a standard Yee cell. This concept is illustrated in
the code example C.2, where the two sets of update equations coexist in the same time-stepping algorithm.

It is also important to mention that in the discretized UPML the values of ku and σu , where
u = x,y,z, must be chosen according to the position of the field component within the UPML. So, for a field

31
component on the cell boundary, the parameters are given by
 n  n
i i
σu (i) = σu,max ; ku (i) = 1 + (ku,max − 1) · (3.42a)
N N

and for a field component in the center of a cell


 n  n
i + 0.5 i + 0.5
σu (i) = σu,max ; ku (i) = 1 + (ku,max − 1) · (3.42b)
N N

where i is the index of the UPML layer, belonging to the interval [0, N − 1], and N is the UPML thickness in
cells. During the development of the software it has been observed that UPML performance depends heavily
on the correct assignment to each field component of the k and σ values. Failing to do so resulted in reflection
errors much bigger than those published and for some cases in instability.

3.3.6 UPML validation

Matching to a vacuum

In order to evaluate the performance of the implemented UPML, two experiments were performed.
In the first experiment, a hard point source (Section 5.2) was placed at the center of a computational domain
of 13 by 13 by 13 cells of vacuum, surrounded by an UPML layer of 5, 8 and 10 cells of thickness. The cell size
was 1.5 cm, which provided a mesh density of 10 cells per wavelength at the highest frequency of interest, and
the time-step was 27.424 ps. The point source excited the Ex component of the cell(6,6,6) with a gaussian
signal having a -20 dB bandwidth of 2 GHz and the Ex field was measured at cell(6,12,6), which was side by
side with the UPML layer.

In order to obtain a reference solution, free of undesired reflections, a domain of 106 by 106 by 106
cells was simulated using the same setup, yielding a boundary-free solution for 225 time-steps. The reflection
error was computed according to the following formula [24]:

F { Ex (t) − Exref (t) }
R= (3.43)
F {Exref (t)}

where Ex (t) is the field measured in the smaller domain, Exref (t) is the reference field, measured with no
reflections, and F denotes the Fourier transform.

Figure 3.2: Reflection error versus frequency for different values of the UPML thickness.

32
The reflection error, shown in Fig. 3.2, is in good agreement with the results obtained by various
authors [20, 21, 23, 24], with reflection errors below -70 dB and -80 dB over the whole frequency range
respectively for an 8 cell and 10 cell thick UPML. These UPMLs are available as a default in the developed
software. Despite having a lower performance, similar to that of Mur absorbing boundary conditions, the 5
cell UPML was also included in the developed software since it’s performance is sufficient to yield results with
engineering value.

Matching to heterogeneous media: A microstrip termination

It has been shown [25] that the UPML can effectively work as a termination for an inhomogeneous
medium, if s̄¯ is chosen independently of the host medium. This means that in order to build an UPML matched

to a heterogeneous host medium, only the εii , σii , µii and σii parameters of (3.9) are chosen according to
the medium that is adjacent to that UPML region.

For the case of a transmission line, such as a microstrip, this effectively corresponds to extending
its cross section through the UPML to the outer boundary of the computational domain, which is terminated
by a PEC wall. For this case, like was mentioned in Section 3.3.2, the value of σi,max should be chosen using
the effective relative permittivity of the microstrip line in (3.32), which yields the following expression [24]

n+1
σi,max = √ (3.44)
150π εeff

Although the implemented UPML does not support host media with nonzero conductivities, the
particular case of PEC materials can be handled by appropriately changing the UPML updating coefficients
(presented in Appendix D). If, for example, the host medium has an infinite σxx , then the Cx coefficients are
modified as follows:

C1x = −1 ; C2x = 0 ; C3x = 0 (3.45)

Figure 3.3: Geometry of the microstrip line and computational domain used to assess UPML’s capacity for
terminating heterogeneous media.

For the experiment, a 50 Ω microstrip line with the geometry shown in Fig. 3.3 was simulated using

33
the waveguide port described in Section 5.4 which was excited with a differentiated gaussian signal having a
bandwidth at -20 dB between 0.5 GHz and 20 GHz. The port was placed at the beginning of the line and the
computational domain was terminated by an UPML layer of 10 cells. The parameter σmax for the end walls
was calculated according to (3.44) using an effective permittivity εeff = 1.872 calculated with the following
formula [26, Sec. 3.8]
εr + 1 εr − 1 1
εeff = + p (3.46)
2 2 1 + 12 h/W
where εr is the permittivity of the substrate, h is its height, and W is the width of the strip conductor.
Additionally, as suggested by the studies conducted in [24], kmax = 6 was used for the end walls and kmax = 20
for the side walls, in order to increase the absorption of evanescent waves.

A minimum mesh density of 20 cells per wavelength was used for the x and y directions and a
density of 60 cells per wavelength along the z axis was required to accurately discretize the thickness of
the microstrip’s substrate. The computational domain’s dimensions were 64 by 40 by 40 cells and the used
time-step was 0.294 ps.

The calculated S11 parameter of the microstrip line, shown in Fig. 3.4, shows that the UPML
effectively simulates the extension to infinity of the line, since the reflection factor is under -50 dB for almost
the whole simulated band of frequencies.

Figure 3.4: Return loss of the microstrip line terminated with a 10 cell UPML.

34
Chapter 4

Sub-cellular methods

In Chapter 2 it was mentioned that the accuracy of an FDTD simulation, involving antennas or
other structures with fine geometrical details, depends heavily on the geometrical fidelity of the discretization,
which sometimes leads to the use of a very dense mesh. However, situations arise in antenna problems for
which having a fine enough mesh is impractical, due to the enormous computational resources needed. One
of such situations occurs when trying to model a wire whose radius is much smaller than the wavelength, so
that even with a mesh density of 30 cells per wavelength the cross-section of the wire is smaller than the
cell’s area. In order to correctly model thin wires without using a small cell size, a thin wire model has been
included in the developed software. The formulation of the model is presented in Sec. 4.2.

Another problem arises when modeling interfaces between distinct media. It was shown in Sec. 2.5
that by using a non-uniform cartesian mesh it is possible to locate the cell faces at the boundaries between
different media for the case when these are parallel to the grid’s axes (Fig. 2.5(b)). This behavior is desirable
since it reduces the probability of having cells intersected by different media, which would lead to an inaccurate
discretization of the structure, since Yee’s algorithm assumes that the material properties are constant within
a cell.

However, recalling the structure of the Yee cell shown in Fig. 2.1, it can be seen that the field com-
ponents are located at either the cell’s faces or edges, which leads to some fuzziness concerning the correctness
of the field updating coefficients (2.25)-(2.30), since these are calculated based only on the properties of the
cell to which the associated field component belongs to. To remove the inaccuracies associated with this
fuzziness, a modification to the update coefficients, based on the definition of effective material parameters,
is presented in Sec. 4.3.

The previously mentioned models belong to the category of sub-cellular methods because their
derivation is based on the assumption that the field and or material properties can vary within a cell. The
applicability of the latter assumption is not evident when dealing with the FDTD update equations derived
from the differential form of Maxwell’s equations. To make things clearer, an FDTD formulation using the
integral form of Maxwell’s equations is presented in the next section.

35
4.1 FDTD Formulation using the Integral Form of Maxwell’s Equa-
tions

It will now be demonstrated that the Yee algorithm can also be derived using the integral version
of Maxwell’s equations:
I x ∂ x
E · dl = − ¯ ∗ H · dS −
σ̄ ¯H · dS
µ0 µ̄ (4.1a)
C e e S e e ∂t S e e
I x ∂ x
H · dl = ¯ E · dS +
σ̄ ε0 ε̄¯E · dS (4.1b)
C e e ∂t
S S
{
e e e e
¯
ε0 ε̄E · dS = Q (4.1c)
S
{
e e
¯
µ0 µ̄H · dS = Qm (4.1d)
S e e

where Q and Qm are respectively the free electric and magnetic charge inside the surface S. The idea involves
applying Maxwell-Faraday’s Law (4.1a) and Maxwell-Ampere’s Law (4.1b) to a Yee cell, using for that purpose
integration paths and surfaces like those shown in Fig. 4.1.

Figure 4.1: Integration contours Ci and associated surfaces Si used for the derivation of the Yee algorithm
using the integral form of Maxwell’s equations.

Applying Maxwell-Ampere’s law along, for example, the contour C3 , we obtain


I x ∂ x
H (x, y, z, t) · dl3 = σzz (x, y, z)Ez (x, y, z, t)ẑ · dS3 + ε0 εzz (x, y, z)Ez (x, y, z, t)ẑ · dS3 (4.2)
C3 e
f S3 e f ∂t S3 e f
| {z }
R.H.S.

36
Assuming that the value of a field component at the middle of an edge equals the average value of the field
along the edge, the left-hand side term can be approximated as
I    
H (x, y, z, t) · dl3 ∼
= Hy |ni+ 1 ,j,k+ 1 − Hy |ni− 1 ,j,k+ 1 ∆y − Hx |ni,j+ 1 ,k+ 1 − Hx |ni,j− 1 ,k+ 1 ∆x (4.3)
2 2 2 2 2 2 2 2
C3 e
f
The right-hand side term of (4.2) can be approximately written as


R.H.S. ∼
= ∆x∆yσzz Ez |ni,j,k+1/2 + ∆x∆yε0 εzz Ez |ni,j,k+1/2 (4.4)
∂t

where it was assumed that Ez |ni,j,k+1/2 equals the average value of Ez over the surface S3 and the medium
parameters σzz and εzz are constant over the same surface.

The time derivative in (4.4) can be approximated by a central-difference expression and Ez |ni,j,k+1/2
can be substituted by a semi-implicit approximation (as was done in Section 2.2.2), which leads to the following
expression

n+1/2 n−1/2
Ez |i,j,k+1/2 − Ez |i,j,k+1/2 1  
ε0 εzz = Hy |ni+1/2,j,k+1/2 − Hy |ni−1/2,j,k+1/2
∆t ∆x
1  
− Hx |ni,j+1/2,k+1/2 − Hx |ni,j−1/2,k+1/2 (4.5)
∆y
n+1/2 n−1/2
Ez |i,j,k+1/2 + Ez |i,j,k+1/2
− σzz
2

Isolating Ez |i,j,k+1/2 on the left-hand side yields the following explicit time-stepping formula

n+1/2 2ε0 εzz − ∆tσzz n−1/2


Ez |i,j,k+1/2 = Ez |i,j,k+1/2
2ε0 εzz + ∆tσzz
1 2∆t  
+ Hy |ni+1/2,j,k+1/2 − Hy |ni−1/2,j,k+1/2 (4.6)
∆x 2ε0 εzz + ∆tσzz
1 2∆t  
− Hx |ni,j+1/2,k+1/2 − Hx |ni,j−1/2,k+1/2
∆y 2ε0 εzz + ∆tσzz

which is the same expression used in the Yee algorithm that was obtained in Chapter 2. The time-stepping
relations for the H-field components are obtained in a similar way, by applying Faraday’s Law (4.1a) to contours
C4 , C5 and C6 .

It is interesting to observe that Yee’s algorithm was obtained by assuming that a field component A|i,j,k
and the material parameter γ|i,j,k are constant in an interval
              
1 1 1 1 1 1
i− ∆x, i + ∆x × j − ∆y, j + ∆y × k − ∆z, k + ∆z
2 2 2 2 2 2

While the first assumption is quite natural if no a priori knowledge about the field’s behavior is
available, it is possible to consider other types of field variation, as will be seen in the derivation of the thin-
wire model in Section 4.2. The second assumption indicates that the original formulation of the Yee algorithm
does not properly model the boundaries between different media, since the regions of constant parameters are
spatially offset by a half space increment from the Yee cell. In Section 4.3 it is shown how the modeling of the
interfaces can be improved by means of a simple modification to the standard algorithm derived in Chapter 2.

37
4.2 Thin-wire model

The integral-based derivation of FDTD presented in the previous section permits the incorporation
of near-field physics into the time-stepping expressions of specific field components. This characteristic allowed
the development of a thin-wire model [27] which permits the inclusion, with very good results, of PEC wires
having a diameter smaller than the cell’s length into FDTD simulations.

Consider the wire segment of radius r0 that is represented in Fig. 4.2(a), where the wire’s axis of
symmetry is aligned with both the grid’s z axis and the Ez |i,j,k+1/2 field component.

Figure 4.2: (a) Application of Faraday’s Law for derivation of the thin wire model. (b) H-field components
updated using the thin wire model and integration path for calculation of the current I.

To incorporate near-field physics into the problem, it is assumed that the magnitude of each looping
H component and of each radial E component varies as 1/r, where r is the radial distance from the center
e e
of the wire. This corresponds to the insertion of static-field behaviour into the dynamic FDTD model. The
field components parallel to the wire are assumed to be constant, like in the standard Yee algorithm.

The application of the previous assumptions to the geometry of Fig. 4.2(a) yields the following
expressions for the fields:

∆x ∆x
Hy (x, y, (k + 1/2)∆z) = Hy |i+1/2,j,k+1/2 · p = Hy |i+1/2,j,k+1/2 · (4.7a)
2
2 x +y 2 2r
∆x
Ex (x, y, k∆z) = Ex |i+1/2,j,k · (4.7b)
2r
∆x
Ex (x, y, (k + 1)∆z) = Ex |i+1/2,j,k+1 · (4.7c)
2r
Ez (i∆x, j∆y, z) = Ez |i,j,k+1/2 = 0 (4.7d)
Ez ((i + 1)∆x, j∆y, z) = Ez |i+1,j,k+1/2 (4.7e)

38
The application of Faraday’s Law to contour C gives

∂ x
I
−µ H · dS = E · dl ⇔
∂t C
S e e e e
Z ∆x Z ∆x 
∆x ∆x

Z ∆x Z ∆z
∆x Ex |ni+ 1 ,j,k+1 · dr − Ex |ni+ 1 ,j,k · dr
−µ Hy |ni+ 1 ,j,k+ 1 dzdr = 
 r0 2 2r r0 2 2r  ⇔
∂t r0 0 2 2 2r
− Ez |ni+1,j,k+ 1 ∆z
2
 h
∆x ∆x
 i
∆z∆x

∆x

n+ 1 n− 1

 2 ln Ex |ni+ 1 ,j,k − Ex |ni+ 1 ,j,k+1 
µ ln Hy |i+ 12,j,k+ 1 − Hy |i+ 12,j,k+ 1 = r0 2 2

2∆t r0

2 2 2 2
+ ∆zEz |ni+1,j,k+ 1
2

which can be transformed into the following special time-stepping relation for the Hy |i+ 12 ,j,k+ 12 component:

n+ 1 n− 1 ∆t   2∆t
Hy |i+ 12,j,k+ 1 = Hy |i+ 12,j,k+ 1 + Ex |i+ 21 ,j,k − Ex |i+ 12 ,j,k+1 + Ez |ni+1,j,k+ 1 (4.8)
2 2 2 2 µ∆z µ∆x ln (∆x/r0 ) 2

The time-stepping relations for the field components Hy |i− 12 ,j,k+ 12 , Hx |i,j+ 12 ,k+ 12 and Hx |i,j− 21 ,k+ 12 can be
derived by applying Faraday’s Law to similar integration paths.

The thin-wire model was implemented in the developed software simply by applying the special
time-stepping relations to the looping H-field components immediately adjacent to the wire, as shown in
Fig. 4.2(b). Since the looping H-field component is assumed to be outside the wire, the model is valid only for
r0 < ∆/2, where ∆ is the smallest cell length in a direction perpendicular to the wire’s axis. It is important
to notice that the other field components, namely the radial electric field components, are updated with the
standard time-stepping relations, although one could also derive special relations for them. Since experiments
show that this model yields good results, that level of detail may be neglected for most applications.

It is also important to mention that even though the Ez |i,j,k+1/2 field component does not need
a special update expression since it has a value of zero, one could be interested in calculating the current
I flowing through the wire. This current can be determined by applying Ampere’s Law to contour P of
Fig. 4.2(b), yielding
Z ∆x Z ∆x 
2 ∆y ∆y
2

 ∆x Hx | i,j− 12 ,k+ 12 r  2 dx −
Hx |  2 dx 
i,j+ 12 ,k+ 12 r
 − 2 − ∆x
2 x2 + ∆y 2 + ∆y
2

I 
2 2 x 2

I= H · dl =  ⇔
 
∆y ∆y
P e e  Z Z 
 2 ∆x 2 ∆x 
− Hy |i− 12 ,j,k+ 21 q dy + Hy |i+ 12 ,j,k+ 12 q dy 
∆y
− 2 ∆x
 2 − 2∆y
∆x
 2
2 2 + y2 2 2 + y2
   
∆x  ∆y  
I = ∆y argsh Hx |i,j− 21 ,k+ 12 − Hx |i,j+ 12 ,k+ 12 + ∆x argsh Hy |i+ 12 ,j,k+ 21 − Hy |i− 12 ,j,k+ 12
∆y ∆x
(4.9)

where the displacement current has been neglected since it was assumed that the field’s behavior is essentially
electrostatic in the wire’s vicinity.

39
4.3 Effective material parameters

As was observed in Section 4.1, the original formulation of the Yee algorithm does not properly
model the interfaces between cells having different materials. It is easy to see that the coefficients (2.25)-
(2.30) derived in Chapter 2 introduce some fuzziness concerning the exact location of the boundary between
cells having different media.

The error arises when considering, for example, the Ez |i,j,k+1/2 component of the electric field in
Fig. 4.3. According to the original algorithm’s update coefficients, this component belongs to the cell with
indices (i,j,k) and the material parameters to be used are εzz |1 and σzz |1 . However, it can be seen that
physically this field component is tangent to the interface between four potentially different cells, which means
that the component is shared between them and the use of the parameters of only one cell would lead to
uncertainty about the position of this interface.

Figure 4.3: Interface between cells of different materials and integration path C for the application of
Maxwell-Ampere’s Law for effective parameters calculation.

This uncertainty can be removed by application of Maxwell-Ampere’s Law along the contour C of
Fig. 4.3, considering that the Ez field is constant over surface S and the value of a H-field component at the
middle of an edge of C equals the average value of the field along the same edge. This procedure yields the
following update equation:

n+1/2 2ε0 εeff


zz − ∆tσzz
eff
n−1/2
Ez |i,j,k+1/2 = eff
E |
eff z i,j,k+1/2
2ε0 εzz + ∆tσzz
1 2∆t 
n n

+ H y | i+1/2,j,k+1/2 − H y |i−1/2,j,k+1/2 (4.10)
∆x 2ε0 εeff
zz + ∆tσzz
eff

1 2∆t 
n n

− H x |i,j+1/2,k+1/2 − H x | i,j−1/2,k+1/2
∆y 2ε0 εeff
zz + ∆tσzz
eff

40
where

εzz |1 A1 + εzz |2 A2 + εzz |3 A3 + εzz |4 A4


εeff
zz = (4.11)
A1 + A2 + A3 + A4
eff σzz |1 A1 + σzz |2 A2 + σzz |3 A3 + σzz |4 A4
σzz = (4.12)
A1 + A2 + A3 + A4

and Ai is the area of surface Si . This result is the same as that obtained in [9, Sec. 11.6.2] for the case of
irregular nonorthogonal unstructured grids.

The parameters that affect the time-stepping relations for the H-field components can also be
modified in order to better model the interface between the two media. For this case, however, the field has a
discontinuity at the interface since the H-field components are perpendicular to it. This physical consideration
contradicts the previous assumption that the field is constant on both sides of the interface. One way to
mitigate this problem [28] is to enforce the continuity across the interface of the normal components of the
magnetic flux density B and equivalent magnetic current density J m , by considering that at the interface
e e
these are given by

H 1 ⊥ + H2 ⊥
B⊥ = µ0 µeff (4.13)
2
∗ Jm1⊥ + Jm2⊥
Jm⊥ = σeff (4.14)
2

where the components with the subscripts 1 and 2 refer to the field values at each side of the interface. This
yields the following effective parameters

µ1 µ2
µeff = 2 (4.15)
µ1 + µ2
∗ σ∗ σ∗
σeff = 2 ∗1 2 ∗ (4.16)
σ 1 + σ2

In order to more accurately model the interfaces between dissimilar media, the implemented FDTD
update algorithm was modified simply by inserting the effective parameters into the corresponding update
coefficients (2.25)-(2.30).

41
Chapter 5

Antenna Feed Models

One of the most important aspects in every FDTD simulation is the modeling of the excitation
sources that introduce electromagnetic energy into the computational domain. This modeling comprises the
choice of the signal used to excite the antenna and how this signal is to be applied on the field components of
the FDTD grid. This chapter describes the excitation signals used in the developed software and three kinds
of antenna feed models: a point-source, a resistive voltage source and a simple waveguide source.

5.1 Excitation Signals

As was mentioned in Chapter 1, one of FDTD’s advantages over frequency domain methods is its
ability to provide broadband results with a single run. So, in order to explore this advantage, the signal used
for the excitation must have significant spectral content in the band of frequencies of interest. Additionally,
the spectral content outside this band should be negligible, in order to maximize the signal to numerical noise
ratio, and to avoid aliasing phenomena when transforming quantities to the frequency-domain, using the FFT.
Finally, having in account that at the beginning of a simulation all field quantities are zero, the excitation
waveform must also start its variation from this value.

A commonly used signal satisfying the previous requirements is the Gaussian pulse, shown in
Fig. 5.1(a), which is given by h i
2
S(t) = S0 exp − (t − t0 /τp ) /2 (5.1a)

where τp is the characteristic time. The magnitude spectrum of this signal is given by
√ h
2
i
S(f ) = 2πτp S0 exp − (2πf τp ) /2 (5.1b)

As can be seen in Fig. 5.1(b), the Gaussian signal’s spectrum peaks at the frequency f =0 and its
√ √
10%-amplitude (-20 dB power) bandwidth extends from 0 to f−20dB = ln 10/ 2πτp ∼ = 0.3415/τp . In the
developed software, τp is automatically chosen such that f−20dB is equal to the maximum frequency specified
by the user and the value of t0 is calculated so that S(t=0)=1x10−4 S0 .

However, since the Gaussian signal has a nonzero DC component, in some occasions its application
may originate a residual static field (the FDTD lattice implicitly stores charge as discussed in Appendix B) that
may corrupt the frequency domain results obtained through the FFT due to the windowing of time domain
data. Moreover, the significant low-frequency content may produce a long settling time for the solution. So,
for situations where low-frequency behavior is not of interest, a modulated Gaussian signal (Fig. 5.1(c)) can

42
be specified, i.e, a signal of the form
h i
2
S(t) = S0 exp − (t − t0 /τp ) /2 cos (2πfc t) (5.2)

where fc is the carrier’s frequency.The modulated signal has a −20 dB bandwidth extending from
√ √ √ √
fmin = fc − ln 10/ 2πτp to fmax = fc + ln 10/ 2πτp . The values of fc and τp are automatically
calculated according to the fmin and fmax values specified by the user.

Another signal available in the software, having reduced low-frequency content, that in some appli-
cations may constitute an alternative to the base-band Gaussian pulse, is the differentiated Gaussian signal,
shown in Fig. 5.1(a), which is given by
 
t
exp − (t/τp )2 − 1 /2
  
S(t) = −S0 (5.3a)
τp

with the following Fourier transform


√ n h
2
i o
S(f ) = −j 2πf 2π τp2 S0 exp − (2πf τp ) − 1 /2 (5.3b)

As can be seen in Fig. 5.1(b), the spectrum peaks at fp = 1/2πτp and the -20 dB power bandwidth extends
from approximately 0.06fp to 2.8fp [9, Chapter 14].

Finally, for those situations where the user really desires to analyze the antenna’s behavior at a single
frequency fc , a ramped sinusoidal excitation has been included in the software, i.e, a signal of the form

S(t) = S0 [1 − exp (−t/τ )] sin(2πfc t) (5.4)

where τ is a time constant calculated in order to have a smooth ramp. In the developed software
τ = −3/fc ln 0.001, which yields a sinusoid that is ramped from 0 to 1 over three periods (Fig. 5.1(d)).
It must be noted, however, that in general this signal leads to longer simulation times because the compu-
tation can only be stopped when the sinusoidal steady-state is reached. For this purpose, the software will
continually monitor the total energy in the computational domain and stop the simulation when its relative
variation during a period is less than a specified value, for example, 1%.

Figure 5.1: Excitation signals available in the developed software. (a) Gaussian and differentiated Gaussian
signals represented in the time-domain and (b) in the frequency-domain; (c) Modulated Gaussian pulse; (d)
Ramped sinusoidal excitation.

43
5.2 Point Source

The easiest way of exciting the FDTD grid is simply by applying one of the signals presented in
the previous section directly to an E- or H-field component of a single Yee cell, which can be done using two
different approaches, both implemented in the developed software. First, there is the possibility of making the
field component have exactly the time-variation of the excitation signal, i.e., considering for example the Ez
field component at cell (i,j,k), the excitation signal S(t) is applied as

Ez |ni,j,k+ 1 = S|n (5.5)


2

This type of excitation technique is known as a hard source since the field at the excitation location is imposed
by an analytic expression.

One of the disadvantages of hard sources is the fact that waves propagating towards the source
(as a result of reflections originating at the structure under analysis), will suffer a non-physical reflection at
the source location, that can negatively influence the accuracy of the calculated fields. So, a second way of
performing the excitation is to use a so-called soft source, where instead of forcing the field component to
assume the value of the excitation, the latter is added to the fields calculated by the normal time-stepping
procedure, which results in the modified update equation (here shown for the Ez component):

n+ 12 n− 12
 
(i,j,k) (i,j,k)
Ez |i,j,k+ 1 =C1z Ez |i,j,k+ 1 + C2z Hy |ni+ 1 ,j,k+ 1 − Hy |ni− 1 ,j,k+ 1
2 2 2 2 2 2
  (5.6)
(i,j,k) n n (i,j,k) n
− C3z Hx |i,j+ 1 ,k+ 1 − Hx |i,j− 1 ,k+ 1 + C1z S|
2 2 2 2

The soft source allows the reflected waves to pass through the source location without suffering non-physical
reflections.

5.3 Resistive voltage source

The developed software also has a resistive voltage source, which is a more realistic excitation source
than the point excitation presented in the previous section.

5.3.1 Model description

The source is modeled by a voltage source of internal resistance Rs that is connected to a unidi-
mensional virtual transmission line of characteristic impedance also equal to Rs . The line is said to be virtual
for the reason that it does not belong to the 3D computational domain, being rather a numerical model that
will be useful to separate the incident and reflected voltage waves. For practical purposes, this source can be
regarded as a lumped voltage source that is placed at the location of a single grid cell located between two
metallic objects, such as the gap that exists between the arms of a dipole antenna, as exemplified in Fig. 5.2.

The voltages and currents in the line are updated using the following expressions [29]:
  
n+ 1 n− 1 1 v∆t  n
V |k0 +1 − V |nk0

I|k0 +21 = I|k0 +21 − (5.7a)
2 2 Rs ∆
 h
v∆t n+ 1 n+ 1
i
V |n+1
k0 = V |nk0 − Rs I|k0 +21 − I|k0 −21 (5.7b)
∆ 2 2

where v is the phase velocity for the transmission line and ∆ is the spatial discretization step.

44
Figure 5.2: Representation of the unidimensional virtual transmission line used to implement the resistive
voltage source and coupling to the 3D FDTD grid.

The transmission line is excited at the index k 0 = ksource


0
, by adding the value of the excitation
signal Vexc (t) to the voltage value already present on the line, corresponding to the following update relation
 h
v∆t n+ 12 n+ 12
i
V |n+1
k0 = V |nksource
0 − Rs I|k0 1 − I|k0 1 + Vexc |n+1 (5.8)
source ∆ source + 2 source − 2

which is equivalent to a soft source that generates voltage and current waves propagating both to the left and
to the right of the excitation point. The wave propagating to the left is an undesired wave and for this reason
a matched load, that models the voltage source’s internal impedance, is placed at k 0 = 0, being numerically
implemented by applying Mur’s first order absorbing boundary condition [19] to the voltage value at k 0 = 0:

v∆t − ∆  n+1 2∆
V |n+1 n−1
V |k0 =1 + V |n−1 [V |nk0 =0 + V |nk0 =1 ]

k0 =0 = −V |k0 =1 + k0 =0 + (5.9)
v∆t + ∆ c∆t + ∆

The coupling between the virtual transmission line and the FDTD lattice is done as follows: The
0
voltage at the end of the line, which corresponds to index kend , is converted to an electric field Einc by dividing
it by the cell’s length along the field’s direction, which, for the case of Fig. 5.2, is ∆z. Then, Einc is introduced
into the FDTD update equations in one of two possible ways:

– If the source is not connected to a thin wire (as defined in Sec. 4.2), then the update equation is
given simply by

n+ 1 (i,j,k) 1
Ez |i,j,k+
2
1 = C1z Einc |n− 2 (5.10)
2

– If, instead, the source is connected to a thin wire, it is necessary to apply thin-wire model update

45
equations to the circulating H-fields, here exemplified for the Hy component:

n+ 1 n− 1 ∆t   2∆t  
Hy |i+ 12,j,k+ 1 = Hy |i+ 12,j,k+ 1 + Ex |i+ 12 ,j,k − Ex |i+ 12 ,j,k+1 + Ez |ni+1,j,k+ 1 − Einc |n
2 2 2 2 µ∆z µ∆x ln (∆x/r0 ) 2

(5.11)
which is similar to the magnetic frill excitation available in some MoM codes.

The coupling between the FDTD lattice and the virtual transmission line is performed by assigning
the current calculated from the local magnetic field values to the current at the end of the transmission line,
I|kend
0 + 21 . The current is calculated using the expression

n+ 12 n+ 1 n+ 1
h i h i
I|k0 1 = ∆y Hy |i+ 12,j,k+ 1 − Hy |i− 21 ,j,k+ 12 − ∆x Hx |i,j+2 1 ,k+ 1 − Hx |i,j− 12 ,k+ 12 (5.12)
end + 2 2 2 2 2

or, if a thin wire model is being used to account for the radius of the wire, the expression (4.9) that was
derived in Chapter 4.

5.3.2 Calculation of Impedance and S parameters


Input impedance and admittance

Since the time-domain current and voltage signals at the terminals of the antenna (or other structure
connected to the source) are directly accessible, respectively in I|kend + 12 and V |kend , the input impedance and
admittance are calculated as follows

FFT{V |kend } 1
Zin (f ) = ; Yin (f ) = (5.13)
FFT{I|kend + 21 } Zin (f )

For a simulation where there are n defined ports, the developed software is able to calculate the
impedance and admittance matrices by proceeding as follows:

1. The excitation signal is applied only to port i. The remaining ports will be short-circuited, i.e, the
voltages Vj |kend
0 with i 6= j are set to zero, which is achieved by not updating the FDTD lattice with
j
voltage values from the respective virtual transmission lines;

2. The previous step yields the voltage and current at port i and also the short-circuit currents at the
remaining ports. With these values, the admittance matrix elements Yii and Yji are calculated;

3. The previous steps are repeated until all the n ports have been simulated and the admittance matrix Y
is complete. Then, the impedance matrix Z is calculated by performing the inversion of the Y matrix.

S parameters

The resistive voltage source implemented in the developed software also allows the calculation of
scattering parameters. The Sii elements of the S matrix are calculated as follows:

Ys,i − Yii (f )
Sii (f ) = (5.14)
Ys,i + Yii (f )

where Ys,i = 1 / Zs,i is the internal admittance of port i.

To calculate the Sji parameters it is necessary to obtain the incident voltage at port i, which is
not directly available in the virtual transmission line, as the line’s voltage results from the superposition of
the incident and reflected waveforms. In order to obtain the incident voltage, a second transmission line, not

46
connected to the FDTD lattice and terminated with a Mur ABC at k 0 = kend , is simulated in parallel with
the connected one. So, having the incident voltage at port i, Viinc |kend,i
0 , and the voltage Vj |kend,j
0 in the
transmission line of port j, the element Sji can be calculated as follows
s
FFT{Vj |kend,j
0 } Rs,i
Sji (f ) = (5.15)
FFT{Viinc |kend,i
0 } Rs,j

5.4 Simple Waveguide Source

The third excitation source implemented in the developed software is the waveguide source. This
source is suited to problems where the antenna, or other structure under analysis, is excited through a wave-
guide.

5.4.1 Model description

To illustrate how this source is realized, consider the geometry shown in Fig. 5.3, that is composed of
a rectangular waveguide connected to an arbitrary structure. From guided propagation theory, it is known that a
waveguide structure supports, in general, a number of distinct propagating modes, which can have significantly
different spatial distributions of E- and H-fields. For this reason, when calculating the S parameters of a system
containing waveguide ports, it is necessary to ensure that the waveguide is only being excited with a single
mode. In the developed software, this is done by specifying the transverse field distribution of the dominant
mode in the source plane located at isrc , using the total-field/reflected-field modal formulation described in
[9, Chapter 5, Section 10.2], which launches a wave with the desired transverse field distribution along the
positive direction of the x axis. This is achieved by applying the following update equations to the transversal
field components:

n+ 12 n− 12
 
Ey |i 1 = C1y Ey |i ,j+ 1 + C2y Hx |nisrc ,j+ 1 ,k+ 1 − Hx |nisrc ,j+ 1 ,k− 1
src ,j+ 2 ,k src 2 ,k 2 2 2 2
  (5.16a)
n n n
− C3y Hz |isrc + 1 ,j+ 1 ,k − Hz |isrc − 1 ,j+ 1 ,k + C3y Hz,inc (j, k)
2 2 2 2
1
n− 12
 
n+ 2
Ez |i ,j,k+ 1 = C1z Ez |i ,j,k+ 1 + C2z Hy |isrc + 1 ,j,k+ 1 − Hy |nisrc − 1 ,j,k+ 1
n
src 2 src 2 2 2 2 2
  (5.16b)
n n n
− C3z Hx |isrc ,j+ 1 ,k+ 1 − Hx |isrc ,j− 1 ,k+ 1 − C2z Hy,inc (j, k)
2 2 2 2
1
n− 12
 
n+ 2
Hy |i − 1 ,j,k+ 1 = D1y Hy |i − 1 ,j,k+ 1 + D2y Ez |isrc ,j,k+ 1 − Ez |nisrc −1,j,k+ 1
n
src 2 2 src 2 2 2 2
  (5.16c)
n n n
− D3y Ex |isrc − 1 ,j,k+1 − Ex |isrc − 1 ,j,k − D2y Ez,inc (j, k)
2 2
1
n− 21
 
n+ 2
Hz |i − 1 ,j+ 1 ,k = D1z Hz |i − 1 ,j+ 1 ,k + D2z Ex |nisrc − 1 ,j+1,k − Ex |nisrc − 1 ,j,k
src 2 2 src 2 2 2 2
  (5.16d)
n n n
− D3z Ey |isrc ,j+ 1 ,k − Ey |isrc −1,j+ 1 ,k + D3z Ey,inc (j, k)
2 2

where Hy,inc (j, k), Hz,inc (j, k), Ey,inc (j, k) and Ez,inc (j, k) are the transversal components of the incident
mode’s field distribution.

Although for the case of the rectangular waveguide shown in Fig. 5.3 the field distribution of the
dominant TE10 mode could be calculated analytically, the approach implemented in the software consists in
calculating the mode’s distribution numerically. This approach is more general since it allows the determination
of the incident mode’s field distribution for waveguides for which no analytical solution exists, such as a
microstrip lines or closed waveguides with arbitrary cross-sections.

47
Figure 5.3: Illustration of the application of a waveguide source to a rectangular waveguide connected to an
arbitrary structure.

The obtention of the dominant mode’s field distribution is performed using a technique called
bootstrapping that consists in running a preliminary FDTD model of the waveguide, terminated by an UPML,
that is long enough to decay all the undesired evanescent fields. This is accomplished by exciting the waveguide
with a pre-defined field distribution, which can be, for example, a y or z oriented uniform electric field similar
to that of a plane wave. The field distribution at the far end is stored in main memory, in order to be used
in the simulation of the waveguide+structure problem, i.e, by applying the calculated field components in the
update equations (5.16).

Obviously, there is one drawback in this approach: the user must have an a priori knowledge of the
kind of modes supported by the waveguide in the frequency band for which the simulation is being performed,
otherwise it is not certain that the numerically calculated mode effectively corresponds to a single propagating
mode. Nevertheless, for those situations where a dominant mode exists, this technique has proven very useful
in the analysis of typical structures, such as rectangular waveguides, coaxial, microstrip and strip lines.

As an example of the practical usefulness of this technique, suppose that the user knows that the
waveguide of Fig. 5.3 is going to be excited with a mode for which the electric field is primarily oriented along
the z axis. This corresponds to the TE10 mode. So, in the developed software, an initial field distribution like
that shown in Fig. 5.4(a) could be chosen by the user.

Figure 5.4: Calculation of the incident field distribution for a rectangular waveguide. (a) Initial electric field
distribution; (b) Numerically calculated electric field distribution of the TE01 mode.

It is important to notice that since the bootstrapping technique is performed in the time domain,

48
during the preliminary FDTD run there will be N potential field distributions at the far end of the waveguide,
where N is the duration in time-steps of the preliminary run. The criterion used to determine which field
distribution best represents the dominant mode is energy based, i.e., considering that A(j, k)|n is the numerical
e
field distribution for time-step n, then the distribution with the maximum energy is chosen using the following
inner product [30]:

||A(j, k)|n ||2 = Σjj=j Σkk=k n n n n



max
min
max
min
E y (j, k)H z (j, k) − E z (j, k)H y (j, k) ∆yj ∆zk (5.17)
e
where jmin , jmax , kmin and kmax are the limits of the source plane, and ∆yj , ∆zk are respectively the cell
lengths along the y and z axes.

The field distribution measured at the end of the line after the preliminary FDTD run is shown in
Fig. 5.4(b). As can be seen, this distribution is indeed the numerical equivalent of the TE10 mode.

5.4.2 Calculation of S parameters

The port’s reflection factor Sii , where i is the port’s number, is calculated using the concept of
equivalent voltage, Veq . Using this concept, the transverse field distributions at the waveguide port can be
written as

E nisrc ,j,k = einc (j, k) Veq,inc


n n
+ Σ∞ n

+ Veq,ref u=1 Vref,u eref,u (j, k) (5.18a)
e e e
H nisrc + 1 ,j,k = hinc (j, k) Veq,inc
n n
− Σ∞ n

− Veq,ref u=1 Vref,u href,u (j, k) (5.18b)
2
e e e
where

einc (j, k), hinc (j, k): normalized E- and H-field distributions of the excited mode determined with
e e
the bootstrapping technique;
n n
Veq,inc , Veq,ref : equivalent voltage of, respectively, the incident and reflected waves corresponding
to the excited mode;
n
Vref,u : equivalent voltage of the reflected wave associated with a spurious mode u;

eref,u (j, k), href,u (j, k): normalized E- and H-field distributions of the reflected spurious mode u.
e e
It is important to note that in (5.18) both the characteristic impedance of the line and the incident
field distribution were normalized to 1. The normalization of the incident field distribution is done using the
inner product defined in (5.17).

In order to calculate the Sii parameter of the port, it is first necessary to obtain the equivalent
voltages from the computed data. In the developed software, this is achieved by calculating the projection
of the measured field distribution at the port on the incident field distribution of the desired mode, which is
given by

n n n
= Σjj=j Σkk=k Ey |nisrc ,j,k hnz,inc (j, k) − Ez |nisrc ,j,k hny,inc (j, k) ∆yj ∆zk
max

Veq = Veq,inc + Veq,ref min
max
min
(5.19)

If, for the waveguide under analysis, the modes are orthogonal (or approximately orthogonal), then this
procedure has the advantage of filtering out hypothetical reflected spurious modes. This means that, for
practical purposes, the waveguide source could be placed very close to a discontinuity, where the fields are
essentially reactive, and still accurate S parameters would be obtained.
n
However, the projection (5.19) only yields the total equivalent voltage Veq , whereas for the calcu-

49
lation of the Sii parameter the incident and reflected waveforms are needed. For this reason, an appropriate
technique is required to separate them.

A first attempt to separate the two waveforms consisted in using a signal processing technique based
on Prony’s method [31], that used the equivalent voltages sampled at three distinct planes to estimate, in the
frequency domain, the amplitudes of the incident and reflected waves. This method, however, was found to
be very prone to errors and the results very sensitive to the location of the sampling planes. Due to these
difficulties, a much simpler method, yet very effective, was implemented in the developed software.

The method consists in performing a second preliminary run, with the same FDTD grid used for
the bootstrapping procedure, using the previously calculated dominant mode’s field distribution. Since the
n
waveguide is terminated by an UPML, the measured waveform of Veq corresponds to the incident voltage
n
Veq,inc . So, the incident voltage is stored in memory to be used later in the calculation of the Sii parameter,
which is simply given by
n n
FFT{Veq − Veq,inc }
Sii (f ) = n (5.20)
FFT{Veq,inc }

For a simulation involving more than one waveguide source, the Sji parameter is given by

n
FFT{Veq,ref |port j }
Sji (f ) = n (5.21)
FFT{Veq,inc |port i }

where it is important to remember that the characteristic impedance of each waveguide has been normalized
to 1.

50
Chapter 6

Near-to-Far-Field Transformation

6.1 Introduction

The FDTD method accurately computes the electromagnetic field within a computational domain
that surrounds the structure of interest, being able to directly calculate near-field quantities such as scattering
parameters and impedance/admittance matrices. However, for far-field quantities such as radiation patterns
and gain, it is normally impossible to extend the computational domain to the far-field zone, due to the
(presently) impractical amount of memory and computer-time required for such a simulation. This difficulty
can be overcome quite elegantly by employing a near-to-far-field transformation (NFFT).

There are two well-known near-to-farfield transformation techniques: The first one [9] invokes Huy-
gens’s principle [32] and uses equivalent magnetic M and electric J currents tangential to a virtual surface that
e
completely encloses the antenna, but is inside the computational domain. Then the equivalent currents are
f

integrated with the free-space Green’s function weighting to obtain far-field quantities. The second technique
[33] also relies on the use of a virtual surface enclosing the antenna, but the far-field quantities are obtained by
means of the primitive Kirchhoff’s surface integral representation, avoiding the use of the equivalent currents
M and J . For this work the first approach was chosen because, although both techniques yield good results,
e
the first is better documented and has already been successfully used in numerous applications.
f

The chosen near-to-farfield transformation has two versions: one for time-domain and other for
frequency-domain, each with its advantages and limitations. On the one hand, the time-domain version allows
the obtention of the full transient far-field waveforms at a reduced number of observation points, which can
then be transformed to the frequency-domain with a FFT to obtain broadband frequency results. On the other
hand, the frequency-domain version allows the calculation of the far-fields for a reduced number of frequencies
at a number of points sufficiently large to produce a radiation pattern with good resolution in either two- or
three-dimensions.

The tradeoff made between the two versions is evident: spatial resolution is gained at the expense
of frequency resolution. This tradeoff exists because a general time-domain transformation would require the
storage of all the fields lying on the virtual enclosing surface for each time-step, which would lead to impractical
memory requirements, as the size of the stored data would easily exceed that of the computational domain
itself. For the purposes of this work, the frequency-domain approach will be used, since detailed radiation
pattern plots are required. The implementation of a time-domain transformation may be the subject of future
work.

51
6.2 Frequency-Domain Transformation

6.2.1 Analytical expressions for the transformation

As mentioned in the previous section, the frequency-domain near-to-farfield transformation uses


equivalent magnetic M and electric J currents in phasor form lying on a virtual surface enclosing the antenna
e
to calculate the farfields. Since the computational domain is discretized using cartesian cells, and because
f

the virtual surface can have an arbitrary shape, it is natural to use a parallelepiped, or less formally a box, to
enclose the antenna, as shown in Fig. 6.1.

Figure 6.1: Virtual surface used for the near-to-far-field transformation and coordinate system used for its
calculation.

To obtain the far-field information from the equivalent currents, it is necessary to integrate them
over each of the six faces of the virtual box, here designated surface S. That integration can be done by using
the following pair of vector potentials [32, pp. 285-291]:

µ0 x e−jkR µ0 e−jkr
Ā = J¯S dS ∼
= N̄ (6.1)
4π R 4πr e
e S e
ε0 x e−jkR ε0 e−jkr
F̄ = M̄ S dS ∼
= L̄ (6.2)
4π R 4πr e
e S f

52
where
x 0
N̄ = J¯S ejkr cos Ψ dS (6.3a)
S
x
e e
0
L̄ = M̄ S ejkr cos Ψ
dS (6.3b)
e S f
r̄ = r r̂ ≡ position of the observation point (x, y, z) (6.3c)
r̄0 = r0 r̂0 ≡ position of the source point on S (x0 , y 0 , z 0 ) (6.3d)
0
R̄ = RR̂ ≡ r̄ − r̄ (6.3e)
Ψ ≡ angle between r̄ and r̄0 (6.3f)

and R is given by the law of cosines in the far-field as

r − r0 cos Ψ
(
h
0 2
i1/2 for phase variations
2
R = r + (r ) − 2rr cos Ψ 0 ∼
= (6.3g)
r for amplitude variations

The Ē and H̄ fields due to the vector potentials (6.1) and (6.2) are given by
e e
 
1  1
Ē = −jω Ā + 2 ∇ ∇ · Ā − ∇ × F̄ (6.4)
e k e  ε0
e e
1   1
H̄ = −jω F̄ + 2 ∇ ∇ · F̄ + ∇ × Ā (6.5)
e e k e µ0 e
Since observations are made in the far-field, the dominant variation is of the order 1/r and thus the terms in
(6.4) and (6.5) that have variations of the order 1/r2 , 1/r3 , 1/r4 , etc. can be neglected in order to simplify
the expressions. Moreover, taking into account that in the far-field region only the θ and φ components are
dominant, the E-field and H-field components are given, in spherical coordinates, by

jk e−jkr
Ēθ ∼
 
= −jω Āθ + η0 F̄φ = − L̄φ + η0 N̄θ (6.6a)
4πr
jk e−jkr
Ēφ ∼
 
= −jω Āφ − η0 F̄θ = + L̄θ − η0 N̄φ (6.6b)
4πr

jk e−jkr
 
∼ jω  L̄θ
H̄θ = + Āφ − η0 F̄θ = + N̄φ − (6.7a)
η0 4πr η0
jk e−jkr
 
jω L̄φ
H̄φ ∼

=− Āθ + η0 F̄φ = − N̄θ + (6.7b)
η0 4πr η0
p
where η0 = µ0 /ε0 is the intrinsic impedance of free space.

The θ and φ components of the vector phasors N̄ and L̄ are given by


e e
x 0
J¯x cos θ cos φ + J¯y cos θ sin φ − J¯z sin θ ejkr cos Ψ dS

N̄θ = (6.8a)
S
x 0
−J¯x sin φ + J¯y cos φ e+jkr cosΨ dS

N̄φ = (6.8b)
S

53
x 0
M̄x cos θ cos φ + M̄y cos θ sin φ − M̄z sin θ ejkr cos Ψ dS

L̄θ = (6.9a)
S
x 0
−M̄x sin φ + M̄y cos φ e+jkr cosΨ dS

L̄φ = (6.9b)
S

These integral expressions can be numerically evaluated for each of the six faces that form the virtual
box S. Considering, for instance, that S is a rectangular box of side dimensions 2x0 , 2y0 , 2z0 centered in the
origin of the coordinate system, the integrals (6.8) and (6.9) can be particularized for each pair of opposite
faces as follows:

–Faces at x = ±x0 :

• Nonzero components of J¯S and M̄ S : J¯y , J¯z , M̄y and M̄z


e f
• Exponential phase term:

r0 cos Ψ =r0 · r̂
= (±x0 x̂ + y ŷ + z ẑ) · (x̂ sin θ cos φ + ŷ sin θ sin φ + ẑ cos θ)
= ± x0 sin θ cos φ + y sin θ sin φ + z cos θ

• Integration limits: −y0 ≤ y ≤ y0 , −z0 ≤ z ≤ z0 ; dS = dy dz

–Faces at y = ±y0 :

• Nonzero components of J¯S and M̄ S : J¯x , J¯z , M̄x and M̄z


e f
• Exponential phase term:

r0 cos Ψ =r0 · r̂
= (xx̂ ± y0 ŷ + z ẑ) · (x̂ sin θ cos φ + ŷ sin θ sin φ + ẑ cos θ)
=x sin θ cos φ ± y0 sin θ sin φ + z cos θ

• Integration limits: −x0 ≤ x ≤ x0 , −z0 ≤ z ≤ z0 ; dS = dx dz

–Faces at z = ±z0 :

• Nonzero components of J¯S and M̄ S : J¯x , J¯y , M̄x and M̄y


e f
• Exponential phase term:

r0 cos Ψ =r0 · r̂
= (xx̂ + y ŷ ± z0 ẑ) · (x̂ sin θ cos φ + ŷ sin θ sin φ + ẑ cos θ)
=x sin θ cos φ + y sin θ sin φ ± z0 cos θ

• Integration limits: −x0 ≤ x ≤ x0 , −y0 ≤ y ≤ y0 ; dS = dx dy

54
The time-averaged Poynting vector’s radial component at a point (r, θ, φ) is given by

1  1
Sav (r, θ, φ) = Re Ēθ H̄φ∗ + Re −Ēφ H̄θ∗

2 2
k2  
L̄φ + η0 N̄θ 2 + L̄θ − η0 N̄φ 2

= 2 2
(6.10)
32π η0 r

which can be used to calculate the gain G(θ, φ) as

Sav k 2  2 2 
G(θ, φ) = 4πr2 = L̄φ + η0 N̄θ + L̄θ − η0 N̄φ (6.11)
Pin 8πη0 Pin

where Pin is the antenna input power at the frequency for which the near-to-far-field transformation is being
calculated.

6.2.2 Calculation of the equivalent M̄S and J¯S currents

The equivalent currents are calculated from the tangential E and H field components at the virtual
e e
surface, using the following expressions

J S = n̂ × H (6.12a)
e e e
M S = −n̂ × E (6.12b)
f e e
where n̂ is the surface normal pointing outside of S. The application of (6.12a) to each of the faces of the
e
box yields:

–Face at i = imin : Jy = Hz , Jz = −Hy , My = −Ez , Mz = Ey (6.13a)


–Face at i = imax : Jy = −Hz , Jz = Hy , My = Ez , Mz = −Ey (6.13b)
–Face at j = jmin : Jx = −Hz , Jz = Hx , Mx = Ez , Mz = −Ex (6.13c)
–Face at j = jmax : Jx = Hz , Jz = −Hx , Mx = −Ez , Mz = Ex (6.13d)
–Face at k = kmin : Jx = Hy , Jy = −Hx , Mx = −Ey , My = Ex (6.13e)
–Face at k = kmax : Jx = −Hy , Jy = Hx , Mx = Ey , My = −Ex (6.13f)

where the i, j, k indices correspond to the actual indices where each virtual surface is located in the cartesian
grid. It is worth mentioning that during the implementation of this near-to-far-field transformation it was
concluded that the enclosing virtual box should be placed as close as possible to the structure without, however,
intersecting it, in order to minimize errors resulting from numerical dispersion (including its anisotropy) and
from spurious reflections due to the UPML.

The phasors Ē and H̄ are obtained by performing a DFT concurrently with the time-stepping
e e
algorithm, until the simulation finishes and all the fields have sufficiently decayed. The memory requirements
of this procedure are quite reasonable since each field component only requires the storage of two numbers
(real and imaginary part) per frequency. As an example, if the virtual box has dimensions Nx × Ny × Nz cells,
and farfield data for n frequencies is desired, the required memory is

Total memoryNFFT = 4 × 2 × (2 Nx Ny + 2 Nx Nz + 2 Ny Nz ) n

where it is important to remember that for each face there are four tangential field components.

55
6.2.3 ~ and H
Averaging of the E ~ fields on the virtual surface

The analytical formulation of the near-to-far-field transformation used in this work and presented
in Sec. 6.2.1 assumes that the equivalent currents M S and J S are collocated. However, since these currents
e
are calculated from the tangential E and H fields, which are spatially offset on the Yee cell, it is necessary to
f
e e
perform an average of field values of adjacent cells. Assuming that the E- and H-field components used for
the transformation are located in the center of the Yee cells, as shown in Fig. 6.2, the resulting averaged field
values for the faces located at i = imax and i = imin are given by

Ey |i,j+1/2,k + Ey |i,j+1/2,k+1 + Ey |i+1,j+1/2,k + Ey |i+1,j+1/2,k+1


Eyavg |i+1/2,j+1/2,k+1/2 = (6.14a)
4
E z |i,j,k+1/2 + E z |i,j+1,k+1/2 + E z |i+1,j,k+1/2 + Ez |i+1,j+1,k+1/2
Ezavg |i+1/2,j+1/2,k+1/2 = (6.14b)
4
Hy |i+1/2,j,k+1/2 + Hy |i+1/2,j+1,k+1/2
Hyavg |i+1/2,j+1/2,k+1/2 = (6.14c)
2
avg Hz |i+1/2,j+1/2,k + Hz |i+1/2,j+1/2,k+1
Hz |i+1/2,j+1/2,k+1/2 = (6.14d)
2

The averaged values for the other faces are obtained by using analogous expressions for the relevant field
components.

~ and H
Figure 6.2: Geometry used for the averaging of the E ~ fields’ tangential components for the calculation
~ S and J~S .
of the equivalent currents M

56
Chapter 7

Mesh Generation Algorithm

This chapter describes the algorithm developed for the purpose of automatically generating the
three-dimensional mesh that represents both the geometry and the electrical properties of the structures being
simulated. Although for some problems involving simple geometries the mesh structure and material properties
of each cell could be manually specified by the user, by means, for example, of an input text file, the approach
followed in this work is more general, as the developed meshing algorithm is capable of automatically generating
uniform and non-uniform meshes for structures having potentially very complex geometries. This allows the
software to simulate a broad range of structures, which is not limited to antennas, as discussed in Appendix
F.

Since the developed software does not have 3D solid/surface modeling capabilities, as the develop-
ment of such features is outside the scope of this work, the structures can be first designed in an appropriate
CAD program, and then loaded into the developed software using the OBJ file format [8]. Nevertheless, the
software already supports some geometric primitives like boxes, cylinders and spheres, which can be used to
build some structures of interest. Taking into account that the software is written using the Java programming
language and object oriented design principles have been employed in its development, a module providing 3D
solid modeling capabilities could easily be developed in the future.

7.1 Meshing Algorithm Structure and Architecture of the FDTD


Simulator

Taking into account that the mesh generation procedure is, just like the other methods and models
presented in Chapters 3 to 6, a component of the developed FDTD code, it is convenient to give an overview
of how these components interact in the developed software, before proceeding to a more detailed description
of the meshing algorithm.

A flowchart illustrating the high-level architecture of the FDTD simulator is shown in Fig. 7.1. As
can be seen, at the functional level the developed software is divided in three parts or stages: simulation and
structure setup, mesh generation and FDTD simulation.

During the simulation and structure setup stage the user specifies both the simulation’s parameters
and the characteristics of the structure to analyze. This stage comprehends the following processes/activities:

• Units and frequency range definition: After selecting the time, frequency and length units that best

57
Figure 7.1: Flowchart illustrating the high-level architecture of the FDTD simulator.

suit the problem being analyzed, the user specifies the frequency band for which results are desired, by
setting the minimum and maximum frequencies, fmin and fmax . Since fmax is related to the minimum
wavelength λmin , it will have a direct influence on the biggest cell size allowed, and, as a consequence,
on the total number of cells required to simulate the structure. The frequencies fmin and fmax will also
determine the bandwidth of the excitation signal (which is, by default, a Gaussian pulse), as discussed
in Section 5.1;

• Structure and material definition: The structure to be analyzed is built either by using the geometric
primitives available in the software or by importing 3D models designed in a different CAD program.
The user then creates the different materials of which the structure is made of and assigns them to the
corresponding 3D models;

• Specification of excitation sources: The excitation sources, which in the developed software are denoted
by “ports”, are defined by the user by specifying their parameters and locations in the three-dimensional
computational domain;

• Specification of boundary conditions: Involves the choice of the boundary conditions to use for each face
of the computational domain. When using the UPML, it is possible to select its thickness and configure
the εeff and kmax parameters, as described in Section 3.3. It is also possible to specify a minimum
distance between the structure and the boundaries of the computational domain, which is useful in some
antenna problems in order to minimize the reflection of evanescent fields at the UPML;

• Set frequencies for near-to-farfield transformation: When the user wishes to obtain the farfield patterns
for the structure being simulated, their frequencies must be selected before the simulation starts, for the
reason that the phasors for the tangential E- and H-fields are calculated by performing a DFT of the
time-domain data concurrently with the FDTD update loop, as described in Section 6.2;

58
• Mesh properties definition: These settings are used by the mesh generation algorithm to create a uniform
or non-uniform mesh. For a given spatial direction u, where u = x, y, z, a non-uniform mesh can be
generated by specifying minimum and maximum mesh densities, Du,min and Du,max , whose units are
cells per (minimum) wavelength. Naturally, an uniform mesh can be created by setting Du,min = Du,max .

After configuring the simulation settings and defining the structure to analyze, the program enters
a mesh generation stage that automatically creates a mesh for the problem. The mesh generation algorithm
creates the mesh in two stages: a spatial discretization stage and a material mapping stage.

In the first stage, a spatial discretization is performed in order to create a three-dimensional grid that
defines the location and sizes of each cell. The grid is generated according not only to parameters previously
specified by the user as the maximum frequency and the minimum and maximum mesh densities, but also the
electrical properties of the materials that constitute the structure under analysis, required to calculate λmin ,
which will have a direct influence on the maximum cell size, as discussed in Section 2.3.3. As has already been
mentioned, the possibility of specifying minimum and maximum mesh densities allows not only the generation
of variable sized cells that better adapt to the geometry of the structures, but also allows the use of higher
mesh resolutions in regions where fine geometrical features are present, as described in Section 2.5. The
algorithm used to perform the spatial discretization is described in Section 7.2.

In the second stage of the meshing procedure, the location and size of each mesh cell is available as
a result of the spatial discretization stage. Using that information and a procedure based on 3D intersection
calculation that is described in Section 7.3, it is possible to determine to which structure each cell belongs,
and therefore assign it the corresponding material properties.

After the second stage of the meshing algorithm, the location and lengths of each mesh cell, as well
as its material properties, are stored in an appropriate data structure, which has all the information required to
calculate the update coefficients (2.25)-(2.30). For instance, the time-step ∆t can be calculated according to
the Courant stability criterion, from the set of minimum cell lengths ∆xmin , ∆ymin and ∆zmin available in the
mentioned data structure, and the effective material parameters (Section 4.3) calculated using the material
information of each cell. The generated mesh can and should be inspected by the user in order to check
whether the original structure is being correctly represented, and if necessary, generate the mesh again after
changing its properties or other parameters that are influencing the resultant mesh.

After generating the mesh, the FDTD simulation can be started. Before the time-stepping procedure
begins, a solver setup stage is run in order to initialize the arrays that will store the field components and
update coefficients of each cell. Constant multipliers and other data structures that do not need to be
computed/allocated at every time step are also initialized during this stage. Examples of these data structures
are the input signals and field distributions used by the excitation sources, the arrays that store the phasors
of the E- and H-fields used for farfield calculation, and the coefficients used to update the H-field around thin
wires (Section 4.2). When the solver setup stage finishes, the FDTD time-stepping procedure begins. The
structure of this procedure is very similar to that used in the code example C.2, being the only significant
difference the addition of function calls after the H- and E-field update cycles, which are used not only to
update the field components changed by excitation sources and the thin wire model, but also to perform the
sampling and DFT of the fields tangential to the virtual box used in the near-to-farfield transformation.

When either the simulation termination energy criterion is verified or a maximum number of time
steps has been simulated, the time-stepping procedure ends and a solver post-processing stage is run. During
this stage, quantities of interest like the S-parameters and input admittances/impedances are calculated as
described in Sections 5.3 and 5.4. It is also during this stage that the farfield patterns are calculated by
integrating the equivalent J S and M S currents. After the completion of the post-processing run, the FDTD
e f

59
simulation is complete and the results are made available to the user in the graphical user interface.

7.2 Spatial Discretization Algorithm

This section describes the spatial discretization algorithm that is used to generate the sets of points
that represent the locations of the three-dimensional Cartesian grid’s lines. These sets are denoted by

X = {x0 , x1 , x2 , ..., xNx } ; Y = {y0 , y1 , y2 , ..., yNy } ; Z = {z0 , z1 , z2 , ..., zNz } (7.1)

where Nx , Ny and Nz are the number of mesh cells used along, respectively, the x, y and z directions. These
numbers are not specified a priori, as the sizes of the sets (7.1) are themselves one of the results of the spatial
discretization algorithm. The information regarding a cell’s location and dimensions is obtained very easily
from the sets (7.1). As an example, the center coordinates ci,j,k and sizes li,j,k of the cell with indices (i,j,k)
are given respectively by
 
xi + xi+1 yj + yj+1 zk + zk+1
ci,j,k = (cx , cy , cz ) = , , ; li,j,k = (xi+1 − xi , yj+1 − yj , zk+1 − zk )
2 2 2
(7.2)
where it is assumed that the index numbering starts at zero.

Since the structures being meshed are represented in the developed software as three-dimensional
surfaces composed of triangles or quadrilaterals, for which vertex information such as coordinates, normals
and colors is stored in runtime objects which are instances of the Java 3D API’s GeometryArray class [5], the
algorithm starts by analyzing the vertex coordinates of each structure in order to create a bounding box that
defines the region of space that is to be discretized, which is equivalent to determining the points x0 , xNx ,
y0 , yNy , z0 and zNz of the sets (7.1). Having specified the limits of the computational domain along each of
the main axes, it is the algorithm’s task to determine how many mesh lines should be placed between them
and also the positions of these lines, i.e, the determination of the remaining elements of sets (7.1). Since the
grid is Cartesian, this procedure can be done separately and analogously for each of the x, y and z directions
and therefore in the following we’ll consider that the set being determined is X.

For the case of a uniform mesh along the x direction, i.e., when we have Dx,min = Dx,max = Dx ,
the number of cells Nx is simply given by
 
Dx
Nx = (xN x − x0 ) (7.3a)
λmin

and the points xi of X given by


xi = i Lx , i = 1, ..., Nx − 1 (7.3b)

where Lx = (xNx − x0 ) /Nx is the cell length along the x direction.

The generation of a non-uniform mesh poses several difficulties relatively to the uniform case. These
difficulties arise from some criteria/properties that a non-uniform mesh should satisfy/possess, namely:

(i). The length of any cell, li , in this case along the x direction, must be bounded as follows

λmin λmin
≤ li ≤ ⇔ Lx,min ≤ li ≤ Lx,max (7.4)
Dx,max Dx,min

60
(ii). The ratio between the lengths of two adjacent cells, ri , which is defined as

li xi+1 − xi
ri = = , i = 0, ..., Nx − 2 (7.5)
li+1 xi+2 − xi+1

must be limited as follows


1/R ≤ ri ≤ R , R > 1 (7.6)

in order to satisfy the criterion presented in Section 2.5.3, which suggests that R should not exceed
about 1.4 in order to keep the truncation error sufficiently low;

(iii). The grid lines should, whenever possible, be aligned with the faces and/or edges of the structures under
analysis, in order to more accurately model the interfaces between different media;

(iv). The mesh should have a density close to Dx,max both in regions where the structure has finer geometric
details and near material interfaces. In the other regions, the mesh density should be close to Dx,min ,
in order to minimize the number of cells necessary to model the structure.

Vertex x (mm) y (mm)


v1 0.00 0.00
v2 0.00 15.725
v3 0.00 18.185
v4 0.00 28.10
v5 8.00 7.825
v6 8.00 15.725
v7 8.00 18.185
v8 8.00 20.275
v9 24.00 7.825
v10 24.00 20.275
v11 32.00 0.00
v12 32.00 28.10

Figure 7.2: Geometry of the structure used to illustrate the spatial Table 7.1: Coordinates of the vertices
discretization algorithm’s operation. shown in Fig. 7.2.

In order to explain more clearly how the spatial discretization algorithm accomplishes the previous
requirements, the description of the discretization procedure for the non-uniform case will be accompanied by
an example. For this purpose, the geometry of a x − y plane cut of the microstrip patch antenna analyzed in
Section 8.3 is shown in Fig. 7.2. In this figure the vertices of the triangles that compose the 3D geometry are
highlighted and their coordinates shown in Table 7.1. As described earlier, by inspecting the x-coordinate of
the vertices, the algorithm determines the first and last elements of X, which are respectively x0 = 0.0 and
xN x = 32.0. In order to satisfy the requirement (iii), the algorithm also adds the x-coordinates of the other
vertices to X as these are points associated with regions where variations of geometry and material properties
occur. So, after adding these points, the initial X set, denoted as Xref , is

Xref = {0, 8, 24, 32} (7.7)


Before describing how the algorithm copes with the remaining requirements, it is necessary to assume
some values for the maximum simulation frequency, fmax , and for the meshing densities Dx,min and Dx,max .
Therefore, we will consider fmax = 20 GHz, Dx,min = 10 and Dx,max = 30. Taking into account that the
∼ 10.113 mm, from which
relative permittivity of the substrate is εr = 2.2, the minimum wavelength is λmin =

61
the minimum and maximum cell lengths along x are determined to be respectively Lx,min = 0.337 mm and
Lx,max = 1.011 mm. The value chosen for R is 1.3, which is the default value used in the mesh generation
algorithm of the developed software.

Given the values of Lx,min and Lx,max , it is clear that more mesh lines must be added to Xref
in order to get a grid verifying (i). As a matter of fact, the problem resides on determining not only how
many lines should be added to Xref , but also their positions, subject to the constraints (i) and (ii) and the
requirements (iii) and (iv). Since this problem can be regarded as a constrained optimization problem, the
approach implemented in the algorithm consists in determining, for each pair of consecutive elements of the
initial set Xref , xj,ref and xj+1,ref , the minimum number of mesh lines, as well as their positions, to be placed
in the interval ]xj,ref , xj+1,ref [.

So, for a given pair of consecutive elements of Xref , xj,ref and xj+1,ref , which, for the current
example could be x0,ref = 0 and x1,ref = 8, the problem can be formulated as an unconstrained optimization
problem [34] by defining the following objective function:

N −3
j N −4
j
f (x) = Σi=0 Ai + Σi=0 Bi + C + D (7.8)
e
 
where x is the array of mesh lines, x0 , x1 , ..., xNj −2 used to discretize the interval ]xj,ref , xj+1,ref [, Nj is the
e
number of cells to use for that discretization and

 0,
 if Lmin ≤ li ≤ Lmax
li −Lmax
Lmax × 100, if li > Lmax
Ai = (7.9a)

 Lmin −li
Lmin × 100, if li < Lmin

 0,
 if 1/R ≤ ri ≤ R
ri −R
R × 100,
Bi = if ri > R (7.9b)

(1 − ri R) × 100, if ri < 1/R

(
0, if x0 − xj,ref ≤ Q Lmin
C= (x0 −xj,ref )−Q Lmin (7.9c)
Q Lmin × 100, if x0 − xj,ref > Q Lmin
(
0, if xj+1,ref − xNj −2 ≤ Q Lmin
D= (xj+1,ref −xNj −2 )−Q Lmin (7.9d)
Q Lmin × 100, if xj+1,ref − xNj −2 > Q Lmin

are penalty terms that measure by how much the array of mesh lines x deviates from an acceptable solution.
e
The term Ai is used to enforce the cell length constraint (i), Bi ensures the cell ratio constraint (ii) and C
and D try to force the cells in the vicinity of the reference mesh lines xj,ref and xj+1,ref to have a size close to
Lmin , with Q ≤ R, which is in agreement with requirement (iv). Taking into account that the discretization
errors associated with non-uniform meshes are greater when the cell size changes at the boundary between
different materials [35], in the developed software Q is set by default to 1.01, which corresponds to a 1%
tolerance for the cells adjacent to reference mesh lines.

In order to determine the solution that uses the minimum number of cells Nj , the following procedure
is implemented by the meshing algorithm:

1. Choose a pair of consecutive elements of Xref , xj,ref and xj+1,ref ;

2. Calculate a lower and an upper bound on the number of cells, Nlower and Nupper that could be used to
uniformly discretize the interval ]xj,ref , xj+1,ref [, by using respectively the maximum and minimum cell
sizes. As an example, for the interval ]0, 8[, Nlower = 8 and Nupper = 23. Set Nj ← Nlower ;

3. Create an array for the mesh lines x, with Nj − 1 elements. Use as an initial approximation to the
e

62
solution the uniform discretization of the interval ]xj,ref , xj+1,ref [. Minimize the objective function f (x)
e
using the steepest descent line search method [34];

4. If the value of f (xopt ) is smaller than a previously defined value, which for the developed algorithm is by
e
default 1%, the mesh satisfies the necessary requirements for the current value of Nj and the algorithm
jumps to step 5. Otherwise, set Nj ← Nj + 1 and return to step 3, unless Nj > Nupper , which means
that the algorithm has not been able to create a mesh with the desired characteristics. For the latter
case, the algorithm chooses the xopt solution that leads to the lowest error, displays a message warning
e
the user about the problems that occurred during the discretization of the current interval and proceeds
to step 5;

5. Add the elements of the array xopt to the X set; Set j ← j + 1 and go to step 1 unless all intervals of
e
Xref have already been discretized. In this case the procedure ends, since the X set has been completely
determined.

Although this approach may not lead to a globally optimal solution, which could only be achieved
by solving the optimization problem for all elements of Xref simultaneously, it will nevertheless be very close
to this solution as the lengths of the cells adjacent to the lines of Xref are superiorly limited by Q Lmin , which,
to some extent, decreases the interdependence between the meshing of adjacent intervals.

The mesh generated using this algorithm, for the example of Fig. 7.2, is shown in Fig. 7.3. As
can be observed, the mesh lines are aligned with the boundaries of the geometry, where the mesh resolution
is close to Dmax = 30. For the remaining regions, the mesh resolution is close to Dmin = 10, which proves
that the developed spatial discretization algorithm indeed reduces the number of cells required to discretize
the structure.

Figure 7.3: Two-dimensional Cartesian grid that results from the non-uniform discretization of the structure
of Fig. 7.2 using the spatial discretization algorithm with parameters Dx,min = Dy,min = 10 and Dx,max =
Dy,max = 30.

7.3 Material Mapping Algorithm

The material mapping algorithm’s task is to assign to each cell the material of the structure to
which it belongs. The criterion used to define whether a cell belongs to a given structure or not is to simply
check if its center is inside that structure.

63
Supposing that the computational domain’s size is Nx by Ny by Nz cells, the algorithm performs the
material mapping by successively processing Nz two-dimensional cut-planes perpendicular to the z axis, of size
Nx by Ny cells. To illustrate how this is attained, consider the situation depicted in Fig. 7.4(a), which represents
a two-dimensional view of the Cartesian grid that results from the discretization, using the algorithm described
in the previous section, of a component consisting of three overlapping cylindrical structures, resembling a
coaxial cable. The cross section of the component is also represented in Fig. 7.4(a). It is important to note
that the resolution of the grid was intentionally chosen to be quite low in order to make the description of the
algorithm’s operation clearer.

Figure 7.4: Illustration of the material mapping algorithm’s operation. (a) Two-dimensional view of the
component being meshed and the Cartesian grid that resulted from spatial discretization; (b) Operation of
the ray-crossing algorithm.

The method used to determine which material should be assigned to each cell is based on a modified
version of the ray-crossing algorithm used in [36] and [37]. This algorithm scans the computational domain
by “shooting” rays along the x direction and determining the intersection points, if they exist, with the three-
dimensional models. The intersections are performed using the functionalities available in the Java 3D API
[5], namely the PickTool and PickInfo classes. The rays are cast from a position outside the computational
domain so that they pass through the centers of the cells whose material properties are being determined, as
shown in Fig. 7.4(b).

Taking into account that before starting the material mapping stage all mesh cells are set as being
made of the same background material, which by default is vacuum, then, if no intersections are detected, as
is the case for ray R1 in Fig. 7.4(b), no modifications to the material mapping are required. If, however, the
number of intersections with a structure Su , Nu,int , is different from zero, as is the case for rays R2 , R3 and
R4 of Fig. 7.4(b), the information obtained from the intersections’ x-coordinates is used to create, for each
intersected structure, Nint,Su /2 intervals ISu ,j , having the form

Nint,Su
ISu ,j = [xSu ,2j , xSu ,2j+1 ] , j = 0, ..., −1 (7.10)
2

where the assumption that Nint,Su is an even number derives from the fact that the number of intersections
for a closed surface will always be even. For this reason, the algorithm will neglect structures for which this
number is odd, displaying a message alerting the user to the occurrence of the problem.

Taking into account that the center coordinates of each cell crossed by the ray can be calculated
using (7.2), it is easily concluded that a cell with index i belongs to structure Su if its center coordinate cx,i is

64
contained by any of the intervals ISu ,j . For the case of ray R2 of Fig. 7.4(b), the intersected structure is the
cylinder with the biggest radius, S0 . Since the number of intersections is 2, the algorithm only creates a single
interval IS0 ,0 = [x0,0 , x0,1 ] = [x4 , x7 ], which contains the centers of the cells with indices (i = 4, ..., 9; j = 12),
which are shown in blue in Fig. 7.4(b). As a result, these cells’ material is set to PEC.

A different situation occurs for ray R3 , which intersects twice both S0 and S1 , originating the inter-
vals IS0 ,0 = [x2 , x10 ] and IS1 ,0 = [x3 , x8 ]. A conflict now arises as the centers of cells (i = 3, ..., 10; j = 10)
are contained by both intervals. Since this component should model a coaxial cable, it is desirable that the
dielectric material of S1 is assigned to cells (i = 3, ..., 10; j = 10). In order to achieve this, a mechanism based
on priorities similar to the precedence method used in [38] was devised.

Basically, before starting the mesh generation stage, the user should assign different priorities to
overlapping structures having different materials. For the case of R3 , S1 should be able to “steal” cells from S0
and therefore the former should have a higher priority than the latter. The priorities are used by the algorithm
in the following manner:

1. Each interval ISu ,j receives the priority of the corresponding structure Su ;

2. The intervals are sorted according to their priority;

3. The algorithm processes the intervals one at a time, in ascending priority order.

For the case of R3 , it can be seen that by applying the previous procedure, IS0 ,0 is processed
first and therefore cells (i = 2, ..., 11; j = 10) are set to PEC. Then, interval IS1 ,0 is processed and cells
(i = 3, ..., 10; j = 10) are remapped to the dielectric of structure S1 , which leads to the desired mapping of
materials. A situation similar to that of R3 also occurs for ray R4 , with the difference residing in the number
of conflicting intervals, which now is 3. It can be solved simply by assigning to S2 a priority that is higher
than those of S0 and S1 .

In order to demonstrate the usefulness and effectiveness of the priority mechanism, 3D views of the
meshed version of the component of Fig. 7.4(a), using different priorities for the structures, are shown in
Fig. 7.5. While Fig. 7.5(a) corresponds to the case of the coaxial cable, Fig 7.5(b) represents a cylindrical
waveguide, which was achieved by decreasing the priority of structure S2 and by changing the material of
structure S1 to vacuum.

Figure 7.5: Illustration of how the assignment of different meshing priorities to the elements of a three-
dimensional model can influence the characteristics of the resultant component. (a) Three-dimensional view
of the mesh for a coaxial cable; (b) Three-dimensional view of the mesh for a cylindrical waveguide.

65
Chapter 8

Numerical Experiments and Results


Validation
In order to validate the software’s implementation, some numerical experiments were performed to
study antenna problems for which experimental and/or simulation results had already been obtained by other
authors. In general, the obtained results show a good agreement with experimental and simulated results,
which indicates that the software is sufficiently accurate to be used for engineering purposes.

8.1 Dipole Interaction

This experiment, published by Luebbers and Kunz [39], models the interaction between two dipole
antennas. The quantities of interest are self- and mutual antenna admittances, which are quite sensitive to the
geometry of the wires (including the wire radius) and the spacing between the two antennas. The problem’s
geometry is shown in Fig. 8.1.

Figure 8.1: FDTD problem space for the analysis of coupling be- Figure 8.2: Mesh used to discretize the
tween two dipoles. computational domain.

66
Figure 8.3: Self-admittance for antenna 1 calculated with the developed software and compared with results
obtained with other methods/applications.

The input waveform is a gaussian signal with a -20 dB bandwidth of 1000 MHz, which is fed to the
antenna using a 50 Ω resistive voltage source that uses a virtual unidimensional transmission line, as described
in Sec. 5.3. The computational domain was discretized using an uniform mesh, shown in Fig. 8.2, that has a
density of 20 cells per wavelength in the x and y directions and a density of 30 cells per wavelength along z.
The domain’s size is 28.5 cm x 18 cm x 73 cm and 19 x 12 x 73 cells are used for the discretization along the
x, y and z axes respectively. The thin-wire model presented in Chapter 4 was employed to correctly account
for the wires’ radius of 0.281 cm and an UPML layer with a thickness of 10 cells was used to absorb the
outgoing electromagnetic waves.

Although Luebbers & Kunz only published data for Y11 and Y12 , in this experiment the full admit-
tance matrix was calculated in order to verify if the developed software preserved port reciprocity. For this
purpose two simulations were performed: one with the first dipole being fed and the second dipole’s terminals
short-circuited and another with the latter being fed and the former short-circuited. For both simulations a
time-step ∆t = 23.04 ps was used and the number of simulated time-steps was 1690 for dipole 1 and 1280 for
dipole 2, which was enough to allow the total energy to decay about 40 dB relatively to the maximum value.

The results for Y11 and Y12 are shown in Figs. 8.3 and 8.4 and are compared not only with those
published by Luebbers and Kunz, using both FDTD and a MoM code (ESP4)1 , but also with the results
obtained with CST Microwave Studio’s R [40] transient solver, a commercial application that has a time-

domain solver based on FDTD/FIT [41]. It can be seen that the obtained results are in good agreement with
those obtained with the MoM code, which is considered a quasi-analytic solution for problems involving wire
antennas.

The results for Y12 and Y21 are shown in Fig. 8.5. As can be seen, the results are almost a replica
of each other, which means that the admittance matrix is symmetrical, as predicted by theory.

1 Electromagnetic Surface Patch Version 4

67
Figure 8.4: Mutual admittance calculated with the developed software and compared with results obtained
with other methods/applications.

Figure 8.5: Comparison of the mutual admittances Y12 and Y21 calculated with the developed software, for
the purpose of port reciprocity analysis.

68
8.2 Monopole Antenna on a Conducting Box

This experiment is based on a paper published by Luebbers et al. [42] and it tests the ability of the
developed software to accurately calculate the input impedance and radiation pattern of a monopole antenna
on a conducting box, a structure having a geometry similar to that of some earlier cellphones. The geometry
of the problem is shown in Fig. 8.6.

Figure 8.6: Geometry and dimensions of the monopole antenna on Figure 8.7: 2D view of the mesh used to
a conducting box. The monopole wire radius is r=0.5 mm. discretize the problem.

The signal used for the excitation of the antenna was a gaussian waveform with a -20 dB bandwidth
of 6 GHz. The antenna was fed using the resistive voltage source described in Sec. 5.3, configured with
a 50 Ω impedance. The computational domain was discretized using a non-uniform mesh with a density
between 10 and 30 cells per wavelength, resulting in a grid with 36 × 20 × 62 cells, which is shown in
Fig. 8.7. The thin-wire model was employed to correctly account for the wire’s radius of 0.5 mm and an
UPML layer with a thickness of 10 cells was placed at the domain’s boundaries. In order to calculate the
radiation pattern, a virtual box enclosing the structure was placed 5 cells away from the domain’s boundaries
and the phasors for the equivalent currents M ~ S and J~S at f = 1.5 GHz were obtained by performing a
DFT concurrently with the FDTD update algorithm, as described in Chapter 6. The time-step used for the
simulation was ∆t = 3.049 ps.

The simulation was run for 6834 time-steps, enough to allow the total energy to decay 45 dB
relatively to its maximum value. The results for the input impedance are shown in Fig. 8.8 and are compared
with the published experimental results [42]. As can be seen, the agreement is very good.

The calculated radiation pattern is shown in Fig. 8.9 and is compared with the results obtained by
Luebbers et al. [42] with a Method of Moments code developed specifically for this problem’s geometry. As
can be seen, the agreement between the results is quite good, being the differences for the angles closer to
the z-axis primarily due to difficulties in extracting the corresponding values from the published results.

69
Figure 8.8: Input impedance for monopole antenna on a conducting box computed using the developed
software and compared with measurements [42].

Figure 8.9: Calculated x-z plane radiation pattern at 1.5 GHz for the monopole antenna on a conducting box
and comparison with reference results obtained with MoM [42].

70
8.3 Microstrip Patch Antenna

This experiment, which is based on the work published by Sheen et al. [43], tests the ability of the
developed software to simulate the line-fed rectangular microstrip antenna whose geometry is shown in Fig.
8.10. This structure, relatively to the previous examples, introduces the use of a dielectric material with a
relative permittivity different from one, and will also serve to test the implementation of the waveguide source
described in Section 5.4.

Figure 8.10: Geometry of the line fed rectangular microstrip patch antenna. (a) Top view (b) Perspective
view, dimensions of the computational domain and placement of the excitation.

The waveguide source was excited with a differentiated gaussian pulse with a bandwidth at -20 dB
between 0.5 GHz and 20 GHz. The automatic setup stage of the waveguide port yielded the field distribution
shown in Fig. 8.11 for the dominant quasi-TEM mode, which was then used to excite the microstrip antenna.

Figure 8.11: Calculated electric field distribution of the microstrip line’s quasi-TEM mode used in the excitation
of the rectangular patch antenna.

The computational domain was comprised of a non-uniform mesh with 134 by 124 by 16 cells,
which provided a minimum density of 30 cells per wavelength. The rectangular patch, microstrip conductor
and ground plane were meshed as thin metalizations, as described in Appendix E. An UPML layer with a
thickness of 8 cells was used to terminate the boundaries of the computational domain, including the domain
boundary at xmin that was crossed by the microstrip line. The time-step used for the simulation was 0.418 ps.

The simulation required 7340 time-steps for the total energy to decay 50 dB relatively to the
maximum value, being the high number of time-steps related to the fact that this antenna is a highly resonant

71
structure. The calculated return loss of the antenna, shown in Fig. 8.12, is compared with the experimental
data available in [43] and with the results obtained with CST Microwave Studio R using a 5-pass adaptive

meshing procedure. As can be seen, the developed software not only predicts well the operating resonance at
7.5 GHz, but also provides reasonably good results for higher frequencies.

Figure 8.12: Return loss of the line-fed rectangular patch antenna.

Since no experimental farfield results were available for this antenna, a qualitative comparison
between the 3D radiation patterns for 7.55 GHz calculated with the developed software and CST Microwave
Studio R is shown in Fig. 8.13. This comparison serves essentially to demonstrate the software’s capability

to create three-dimensional radiation patterns. As can be seen, the patterns have a similar shape and there is
little difference between the maximum directivity values: 7.957 dBi for CST and 7.943 dBi for the developed
software.

Figure 8.13: Three-dimensional radiation patterns for the line-fed rectangular patch antenna calculated using
(a) FDTD Antenna Simulator and (b) CST Microwave Studio . R

72
8.4 UWB Antenna

This example models a planar monopole for UWB applications after the work recently published by
Makal [44]. The antenna’s geometry is shown in Fig. 8.14.

Figure 8.14: Geometry of the beveled planar monopole antenna and feed region. (a) Top view (b) Perspective
view and dimensions of the computational domain.

As can be seen, the modeling of this antenna is more challenging than that of the previous exper-
iments since the beveled patch has a geometry that does not conform to a cartesian mesh. Moreover, the
antenna prototype for which experimental data is available in [44] was excited with a coaxial cable having
an inner conductor radius of 0.5 mm, which makes it impossible to use a thin wire model for the excitation,
thus requiring the explicit modeling of the feed’s geometry, which was approximated by the cylinder shown in
Fig. 8.14(b). Except for the cylinder, all metal parts of the antenna were modeled as thin metalizations.

Figure 8.15: Detail of the feed region and placement of the excitation source.

The antenna was excited with a 50 Ω resistive voltage source placed in a small gap between the coaxial cable’s
inner conductor and the microstrip line, as shown in Fig. 8.15. The excitation signal is a modulated gaussian
pulse with a -20 dB bandwidth between 3 GHz and 14 GHz, although experimental data was only available up
to 11.5 GHz. The computational domain’s size is 22.806 mm x 32.021 mm x 5.854 mm and it was discretized
using a nonuniform mesh that ensures a minimum density of 30 cells per wavelength in the x and y directions

73
and a minimum of 40 cells per wavelength along the z direction. The increased resolution in the z direction
was required to accurately model the small gap in the feed region (Fig. 8.15). The resulting mesh had 83 x
100 x 25 cells along, respectively, the x, y and z axes. An UPML layer with a thickness of 10 cells was placed
at the domain’s boundaries and the time-step used for the simulation was ∆t = 0.223 ps.

Figure 8.16: Return loss of the beveled monopole antenna.

The simulation was stopped at 3600 time-steps, when the total energy in the computational domain
decayed 60 dB relatively to its peak value. The calculated return loss of the antenna, shown in Fig. 8.16,
shows reasonable agreement with experimental data. The differences between simulated and measured results
are probably related with the less accurate modeling of the coaxial feed.

Figure 8.17: Calculated x-z radiation pattern for the beveled monopole antenna at 8.5 GHz.

The calculated radiation patterns are shown in Figs. 8.17 to 8.19. The results can be considered
reasonably good if we take into account that the most significant differences occur for the angles that corre-
spond to the region where the coaxial cable was placed. Moreover, taking into account that the measured S11
shows good agreement with calculations, and that this quantity is closely related to the near-field distribution,

74
there is no apparent reason why the near to far-field transformation would yield innacurate far-field data. The
latter fact must also be taken into account when comparing the measured and calculated radiation patterns.

Figure 8.18: Calculated y-z radiation pattern for the beveled monopole antenna at 8.5 GHz.

Figure 8.19: Calculated x-y radiation pattern for the beveled monopole antenna at 8.5 GHz.

75
8.5 Pyramidal Horn Antenna

This experiment’s objective is to assess the developed software’s ability to analyze horn antennas.
The antenna chosen for this experiment is the pyramidal horn shown in Figs. 8.20(a) and 8.20(b), for which
experimental and FDTD-calculated data have been published by Tirkas & Balanis [45].

Figure 8.20: (a), (b): Geometry of the pyramidal horn antenna; (c): Detail of the mesh used in the simulation
of the pyramidal horn antenna, where the staircased approximation of the real geometry is visible.
Since the horn is fed through a rectangular waveguide, the feed was modeled using the waveguide
source described in Section 5.4, which was excited with the field distribution corresponding to the TE10 mode
(calculated automatically). The signal used was a modulated gaussian pulse having a -20 dB bandwidth
extending from 9 GHz to 11 GHz.

The computational domain was discretized using a non-uniform mesh with 293 by 108 by 100 cells,
with a minimum density of 15 cells per wavelength. The choice of the cell size was limited by the amount of
memory available in the computer used to run the simulations, as the total number of cells, including those of
the UPML, ascended to four millions. The staircased approximation of the antenna’s cross section is shown in
Fig. 8.20(c). The UPML layer used to terminate the boundaries of the computational domain had a thickness
of 5 cells, except for the boundary at xmax , where an 8-cell layer was used, as the fields’ magnitude is expected
to be stronger in that region. The time-step used for the simulation was 1.9 ps.

The simulation required 3170 time-steps for the total energy to decay 60 dB relatively to the
maximum value. The calculated E- and H-plane patterns of the antenna at 10.1 GHz are shown in Fig. 8.21
and are compared with both the experimental results available in [45] and the results obtained with CST
Microwave Studio . R The calculated patterns show a good agreement with the measurements, being the
largest differences observed toward the back-region, which can be attributed to the supporting structure of
the antenna used when performing the measurements, as mentioned in [45].

Although no experimental or simulated results for the return loss of the antenna have been pub-
lished by Tirkas & Balanis, a comparison between the results obtained with the developed software and CST
Microwave Studio R is shown in Fig. 8.22. While the relative error between the frequencies at which the

76
Figure 8.21: Directivity of the pyramidal horn at 10.1 GHz: (a) E -plane pattern, (b) H-plane pattern.

minimums occur is less than 0.3%, the biggest differences are observed for the values of the minimums. These
differences can be related to the fact that CST Microwave Studio R uses a sub-cellular method to mitigate

the effects of staircasing.

Figure 8.22: Calculated return loss of the pyramidal horn antenna.

77
Chapter 9

Conclusions

In this work, the development of a complete software tool for antenna analysis and design using the
Finite-Difference Time-Domain (FDTD) Method has been presented. The results obtained with the software
for different kinds of antennas have been validated by comparison with measurements and simulation results
published by other authors. The agreement between them shows that the initial objectives of this work have
been fully achieved. In particular, the software has proven its usefulness during the design phase of the UWB
antennas1 developed by Makal [44], acting as a helpful alternative validation tool in addition to a commercial
software package. This demonstrated that the software is applicable not only to classical antenna problems,
but also to problems of current engineering interest, thus constituting a contribution to currently existent
open-source software for electromagnetic simulation.

The effort spent in the design of the program’s architecture, which is based on a modular structure,
resulted in a software that is sufficiently general to allow the introduction of new features without signifi-
cantly altering the existing code. This fact, besides being a desirable characteristic of software in general, is
particularly important for the educational purposes of this work. As an example of this modularity, a class
providing SAR calculation and visualization capabilities was easily added to the software, as presented in
Appendix F.

Regarding the implementation of the FDTD simulation code, it must be noted that although the
explicit time-stepping scheme for the field components employed in this software, the Yee algorithm, dates
back to 1966 and has a relatively simple computer implementation, the developed program is much more than
a mere implementation of this widely known algorithm.

To justify the previous statement, it should first be observed that the Yee algorithm provides only
the basic mechanism to update the field components during an FDTD simulation, which can be called the core
of the simulator. It does not cover important simulation aspects such as excitation sources, treatment of fields
in the vicinity of thin wires, UPML absorbing boundary conditions, extraction of S-parameters, calculation of
impedance/admittance matrices, radiation patterns and waveguide field distributions, etc., that are essential
to obtain results of engineering value. Most of these simulation aspects require specialized techniques that
are implemented by additional augmenting algorithms that run concurrently with the FDTD field update loop
and/or in pre-/post-processing stages. Some of them, like the UPML, the near-to-farfield transformation or
the waveguide excitation sources are conceptually much more involved and difficult to implement than the Yee
algorithm itself. As a matter of fact, it is on some of these techniques that much research in CEM in general,
and FDTD in particular, has been carried in the last 10-15 years.

1 The results for one of these antennas have been presented in Section 8.4.

78
Therefore, the main challenge in developing this FDTD simulator resided in the selection of appro-
priate techniques for each simulation aspect from the specialized literature and their implementation in the
FDTD code in an efficient and robust manner. Some of these techniques, like the PML and frequency domain
near-to-farfield transformation, are in fact the solutions employed in some state-of-the-art commercial software
packages. It is also important to remark that since the techniques used in the FDTD solver are completely
general, the program had no difficulty in correctly calculating the S-parameters of a microstrip low-pass filter
and the SAR values of a SAM phantom head, as presented in Appendix F. This clearly indicates that the
developed software is not limited to the analysis of antenna problems.

Besides all the augmenting algorithms implemented in the time-domain solver, it is also important
to note that since the FDTD formulation used in this work was extended to non-uniform meshes, the topic of
non-uniform mesh generation had also to be addressed. This has been mainly due to the fact that although
a number of commercial mesh generation software packages exist that could have been used to solve this
problem, that option could not even be considered since one of this work’s primary objectives was to develop
a completely open-source FDTD simulator. Furthermore, as an open-source solution for the Cartesian mesh
generation problem, having the flexibility required to create meshes with the properties discussed in Section
7.2 was not, at least to the author’s knowledge, currently available, a mesh generation algorithm has also been
developed. The developed algorithm has some nice features/properties, namely the attempt to minimize the
number of cells required to model the structures under analysis and the possibility to control the ratio between
adjacent cell lengths. In the future, this algorithm can easily be modified to support more advanced features,
such as using a higher mesh refinement ratio for specific structures.

Finally, it is important to mention that the developed program became a considerably big software
project, with about 34000 lines of source code created by the author. Taking into account that the FDTD
solver’s core has only about 1000 lines of code (actually the FDTD update loop has less than 200) and the
augmenting algorithms contribute with about 10000 lines, it is clear that the effort put into the creation of
the graphical user interface (GUI), the three-dimensional modeler/viewer, result visualization capabilities and
other additional features that an user expects from this kind of software, ended up representing a considerable
percentage of the total effort put into this work. It is, however, the author’s opinion that this effort allowed
the creation of a solid foundation for the developed program, thereby facilitating not only its use, but also its
future expansion.

9.1 Suggestions for Future Work

As has already been mentioned, great emphasis was placed on the generality and expansion pos-
sibilities of the developed software. For this reason, and also to accelerate the development process of the
program, the code, in its entirety, has been written in Java, which besides from providing an excellent high-level
architecture for the code, also has the advantage of allowing its development and use on different operating
systems and/or computer architectures.

It is important to notice, however, that the selection of Java as the main programming language does
not by any means exclude the possibility of using other languages, namely C/C++ or Fortran, to implement
the numerically intensive parts of the code. In the author’s opinion, a possible way to achieve this could be by
first separating the GUI+modeler+result viewer from the FDTD solver and defining a client/server model to
implement the communication between the two subsystems. It is clear that by defining an appropriate protocol
for the communication, the FDTD solver could easily be implemented in another programming language, and
even be linked with other programs or scripts.

79
The suggested approach would also simplify the parallelization of the code, allowing it to easily be
run on a computer cluster or multiprocessor system. The use of a computer cluster could be particularly inter-
esting for the simulation of very large problems or to accelerate optimization procedures based, for example,
on genetic algorithms.

Finally, the following features could be added to the FDTD solver:

• Improve the calculation of the field distributions used for waveguide excitation by using an approach
based on a two-dimensional FDTD simulation of the waveguide’s cross-section;

• Modeling of dispersive and nonlinear materials;

• Implementation of an autoregressive model for spectrum estimation in order to extrapolate the


time-domain response of highly resonant structures, reducing the simulation time for that class of
problems;

• Implementation of Surface impedance boundary conditions (SIBCs);

• Modeling of lumped circuit elements, such as resistors, capacitors, inductors, diodes and transistors;

• Use a locally conformal model of curved surfaces to reduce the effects of staircasing. The techniques
introduced by Dey and Mittra [46, 47] are known to yield good results and may be relatively easy to
implement in the developed software, by introducing some modifications to the material mapping stage
of the mesh generation algorithm;

80
Appendix A

Finite-difference schemes and order of


accuracy

This appendix presents the derivation of finite-difference formulas using forward-, backward- and
central-differencing schemes with an emphasis on the order of accuracy of each method.

A.1 Forward-differences approximation to the first derivative

Consider a Taylor’s series expansion of a function u(x) about the space point xi to the space point
xi + ∆x:

∂ 2 u (∆x)2

∂u
u(xi + ∆x) =u|xi + ∆x +
∂x xi ∂x2 xi 2
(A.1)
∂ 3 u (∆x)3 ∂ 4 u (∆x)4

+ +
∂x3 xi 6 ∂x4 ξ1 24

where the last term is the error term and ξ1 is a space point located in the interval (xi , xi + ∆x). By
rearranging the terms in (A.1) it is possible to obtain the following forward-difference approximation to the
first derivative of u(x) with respect to x:

∂u u(xi + ∆x) − u|xi
=
∂x xi ∆x
∂ 2 u ∆x ∂ 3 u (∆x)2 ∂ 4 u (∆x)3

− − −
∂x2 xi 2 ∂x3 xi 6 ∂x4 ξ1 24 (A.2)
| {z }
O[∆x]

u(xi + ∆x) − u|xi


= + O[∆x]
∆x

As can be seen in the previous formula, forward-differences are first-order accurate.

81
A.2 Backward-differences approximation to the first derivative

Consider now a Taylor’s series expansion of a function u(x) about the space point xi to the space
point xi − ∆x:

∂ 2 u (∆x)2

∂u
u(xi − ∆x) =u|xi − ∆x +
∂x xi ∂x2 xi 2
(A.3)
∂ 3 u (∆x)3 ∂ 4 u (∆x)4

− +
∂x3 xi 6 ∂x4 ξ2 24

where the last term is the error term and ξ2 is a space point located in the interval (xi − ∆x, xi ). By
rearranging the terms in (A.3) it is possible to obtain the following forward-difference approximation to the
first derivative of u(x) with respect to x:

∂u u|x − u(xi − ∆x)
= i
∂x xi ∆x
2
∂ 3 u (∆x)2 ∂ 4 u (∆x)3

∂ u ∆x
+ − +
∂x2 xi 2 ∂x3 xi 6 ∂x4 ξ2 24 (A.4)
| {z }
O[∆x]

u|xi − u(xi − ∆x)


= + O[∆x]
∆x

Like forward-differences, backward-differences are also first-order accurate.

A.3 Central-differences approximation to the first derivative

Consider now the expression that results from subtracting equation (A.3) from (A.1):

∂ 3 u (∆x)3 ∂ 4 u (∆x)4

∂u
u(xi + ∆x) − u(xi − ∆x) =2 ∆x + + (A.5)
∂x xi ∂x3 xi 3 ∂x4 ξ3 24

where the last term is the error term and ξ3 is a space point located in the interval (xi − ∆x, xi + ∆x).
Rearranging the terms in (A.5) we obtain the following central-difference approximation to the first derivative
of u(x) with respect to x:

O[(∆x)2 ]
z }| {
u(xi + ∆x) − u(xi − ∆x) ∂ 3 u (∆x)2 ∂ 4 u (∆x)3

∂u
= − − (A.6)
∂x xi 2∆x ∂x3 xi 3 ∂x4 ξ3 24
u(xi + ∆x) − u(xi − ∆x)
= + O[(∆x)2 ]
2∆x

As can be seen in the expression (A.6) the central-differences approximation to the first derivative
of u(x) is second-order accurate and thus better than either forward or backward finite-differencing schemes.

82
A.4 Central-differences approximation to the second derivative

Consider the expression that results from adding equations (A.1) and (A.3):

∂ 2 u ∂ 4 u (∆x)4

2
u(xi + ∆x) + u(xi − ∆x) =2 u|xi + (∆x) + (A.7)
∂x2 xi ∂x4 ξ4 12

where the last term is the error term and ξ4 is a space point located in the interval (xi − ∆x, xi + ∆x).
Rearranging the terms in (A.7) the following central-difference approximation to the second derivative of u(x)
is obtained:

O[(∆x)2 ]
z }| {
∂ 2 u u(xi + ∆x) − 2u(xi ) + u(xi − ∆x) ∂ 4 u (∆x)2

= −
∂x2 xi (∆x)2 ∂x4 ξ4 12 (A.8)
u(xi + ∆x) − 2u(xi ) + u(xi − ∆x)
= + O[(∆x)2 ]
(∆x)2

As can be seen in the expression (A.8) the central-differences approximation to the second derivative
of u(x) is second-order accurate.

83
Appendix B

Verification of Gauss’ laws for the Yee


Algorithm

As stated in 2.2.1, the discretized versions of Maxwell’s curl equations (2.23) and (2.24) must
implicitly enforce Gauss’ Laws (2.3) and (2.4). In order to prove that the derived algorithm verifies these laws,
consider the continuity equation in its integral form:
{ y ∂ y
J · dS = ∇ · J dV = − ρ(t) dV (B.1)
∂t
Yee cell
e f Yee cell e Yee cell

Consider also equation (2.3) in its integral form:


{ y
D · dS = ρ(t) dV (B.2)
Yee cell
e f Yee cell

From (B.1) and (B.2), one can conclude that if the discretized equations verify the relation
{ ∂ {
J · dS = − D · dS (B.3)
∂t
Yee cell Yee cell
e f e f

then Gauss’ Law (2.3) is being correctly modeled by the algorithm. Starting with the left-hand side term, we
have
{  
J · dS = σxx |i+1/2,j,k Ex |ni+1/2,j,k − σxx |i−1/2,j,k Ex |ni−1/2,j,k ∆y∆z
Yee cell e f
 
+ σyy |i,j+1/2,k Ey |ni,j+1/2,k − σyy |i,j−1/2,k Ey |ni,j−1/2,k ∆x∆z (B.4)
 
+ σzz |i,j,k+1/2 Ez |ni,j,k+1/2 − σzz |i,j,k−1/2 Ez |ni,j,k−1/2 ∆x∆y

84
For the right-hand side, we have

{ n n !
∂ ∂Ex ∂Ex
D · dS = εo εxx |i+1/2,j,k − εxx |i−1/2,j,k ∆y∆z
∂t ∂t i+1/2,j,k ∂t i−1/2,j,k
Yee cell e f
| {z }
Term 1
n n !
∂Ey ∂Ey
+ εo εyy |i,j+1/2,k − εyy |i,j−1/2,k ∆x∆z
∂t i,j+1/2,k ∂t i,j−1/2,k (B.5)
| {z }
Term 2
n n !
∂Ez ∂Ez
+ εo εzz |i,j,k+1/2 − εzz |i,j,k−1/2 ∆x∆y
∂t i,j,k+1/2 ∂t i,j,k−1/2
| {z }
Term 3

Using the Yee algorithm time-stepping relation for Ex (2.20) and similar expressions for Ey and Ez
to substitute the time-derivatives in (B.5), we obtain

Hz |ni+1/2,j+1/2,k − Hz |ni+1/2,j−1/2,k Hz |ni−1/2,j+1/2,k − Hz |ni−1/2,j−1/2,k


   

∆y ∆y
   
   
n n n n
| − | | − |
   
Term 1 = 
 H y i+1/2,j,k+1/2 H y i+1/2,j,k−1/2  −
 H y i−1/2,j,k+1/2 H y i−1/2,j,k−1/2  (B.6a)
−  −
 
 ∆z   ∆z 

− σxx |i+1/2,j,k Ex |ni+1/2,j,k − σxx |i−1/2,j,k Ex |ni−1/2,j,k

Hx |ni,j+1/2,k+1/2 − Hx |ni,j+1/2,k−1/2 Hx |ni,j−1/2,k+1/2 − Hx |ni,j−1/2,k−1/2


   

 ∆z  
  ∆z 

 Hz |n − H |n
H |n
− H |n
Term 2 =  −
z
  z z

i+1/2,j+1/2,k i−1/2,j+1/2,k i+1/2,j−1/2,k i−1/2,j−1/2,k 
−  −
 

 ∆x   ∆x 
− σyy |i,j+1/2,k Ey |ni,j+1/2,k − σyy |i,j−1/2,k Ey |ni,j−1/2,k
(B.6b)

Hy |ni+1/2,j,k+1/2 − Hy |ni−1/2,j,k+1/2 Hy |ni+1/2,j,k−1/2 − Hy |ni−1/2,j,k−1/2


   

∆x ∆x
   
   
n n n n
H | − H | H | − H |
   
Term 3 =  −−
 x i,j+1/2,k+1/2 x i,j−1/2,k+1/2   x i,j+1/2,k−1/2 x i,j−1/2,k−1/2 
− 

 ∆y  
  ∆y 

− σzz |i,j,k+1/2 Ez |ni,j,k+1/2 − σzz |i,j,k−1/2 Ez |ni,j,k−1/2
(B.6c)

Substitution of the terms (B.6) in (B.5) yields

∂ {
− D · dS = − (Term 1) ∆y∆z − (Term 2) ∆x∆z − (Term 3) ∆x∆y
∂t
Yee cell e f
 
= σxx |i+1/2,j,k Ex |ni+1/2,j,k − σxx |i−1/2,j,k Ex |ni−1/2,j,k ∆y∆z
 
+ σyy |i,j+1/2,k Ey |ni,j+1/2,k − σyy |i,j−1/2,k Ey |ni,j−1/2,k ∆x∆z (B.7)
 
+ σzz |i,j,k+1/2 Ez |ni,j,k+1/2 − σzz |i,j,k−1/2 Ez |ni,j,k−1/2 ∆x∆y
{
= J · dS Q.E.D.
Yee cell e f

85
which proves that the algorithm satisfies Gauss’ Law (2.3). Equation (B.7) shows that for a medium without
conductivity, i.e., with σxx = σyy = σzz = 0, the time derivative of the net electric flux that leaves the Yee
cell is zero, which means that, assuming zero initial conditions, this flux never departs from zero and no free
charge is present in the Yee cells.

However, when currents exist in the computational domain, either due to a nonzero conductivity or
an excitation current, the Yee cells implicitly store charge, and it has been shown that there is a capacitance
between adjacent cells [48] .

The proof of the verification of Gauss’ Law (2.4) can be done by analogy with the procedure used
for (2.3), using the continuity equation for equivalent magnetic currents and charges.

86
Appendix C

Code Examples

C.1 Simple Three-Dimensional FDTD Update Algorithm

for(t=0;t<maxTimeSteps;t++){
/*Update cycle for the H-field components*/
for(i=0;i<TotalCellsX-1;i++)
for(j=0;j<TotalCellsY-1;j++)
for(k=0;k<TotalCellsZ-1;k++){
Hx[i][j][k] = D1x[i][j][k] * Hx[i][j][k]
+ D2x[i][j][k] * (Ey[i][j][k+1] - Ey[i][j][k])
- D3x[i][j][k] * (Ez[i][j+1][k] - Ez[i][j][k]);
Hy[i][j][k] = D1y[i][j][k] * Hy[i][j][k]
+ D2y[i][j][k] * (Ez[i+1,j,k] - Ez[i][j][k])
- D3y[i][j][k] * (Ex[i,j,k+1)] - Ex[i][j][k]);
Hz[i][j][k] = D1z[i][j][k] * Hz[i][j][k]
+ D2z[i][j][k] * (Ex[i,j+1,k] - Ex[i][j][k])
- D3z[i][j][k] * (Ey[i+1,j,k] - Ey[i][j][k]);
}
/*Update cycle for the E-field components*/
for(i=1;i<TotalCellsX;i++)
for(j=1;j<TotalCellsY;j++)
for(k=1;k<TotalCellsZ;k+
Ex[i][j][k] = C1x[i][j][k] * Ex[i][j][k]
+ C2x[i][j][k] * (Hz[i][j][k] - Hz[i,j-1,k])
- C3x[i][j][k] * (Hy[i][j][k] - Hy[i,j,k-1]);
Ey[i][j][k] = C1y[i][j][k] * Ey[i][j][k]
+ C2y[i][j][k] * (Hx[i][j][k] - Hx[i,j,k-1])
- C3y[i][j][k] * (Hz[i][j][k] - Hz[i-1,j,k]);
Ez[i][j][k] = C1z[i][j][k] * Ez[i][j][k]
+ C2z[i][j][k] * (Hy[i][j][k] - Hy[i-1,j,k])
- C3z[i][j][k] * (Hx[i][j][k] - Hx[i,j-1,k]);
}
}

87
C.2 Three-Dimensional FDTD Update Algorithm with the UPML

/*---Data structure definition---*/


typedef struct{
float Dx,Dy,Dz,Bx,By,Bz;
float C4x, C4y, C4z, C5x, C5y, C5z, C6x, C6y, C6z;
float D4x, D4y, D4z, D5x, D5y, D5z, D6x, D6y, D6z;
}UPMLCell;
typedef struct{
float Ex, Ey, Ez, Hx, Hy, Hz;
float C1x, C1y, C1z, C2x, C2y, C2z, C3x, C3y, C3z;
float D1x, D1y, D1z, D2x, D2y, D2z, D3x, D3y, D3z;
UPMLCell *upmlCell;
}Cell;
/*---End of data structure definition---*/
(...)
/*---Time stepping loop---*/
for(t=0;t<maxTimeSteps;t++){

/*Update cycle for the H-field components*/


for(i=0;i<TotalCellsX-1;i++)
for(j=0;j<TotalCellsY-1;j++)
for(k=0;k<TotalCellsZ-1;k++){
Cell *cell = &cells[i][j][k]; /*cells is the 3D array that stores all
the cells used in the simulation*/
if(cell->upmlCell == NULL){ /*Use the standard update equations*/
/*Update the Hx component*/
cell->Hx[i][j][k] = cell->D1x * cell->Hx
+ cell->D2x * (cells[i][j][k+1]->Ey - cell->Ey)
- cell->D3x * (cells[i][j+1][k]->Ez - cell->Ez);
/*Update the Hy and Hz components*/
(...)
}else{ /*Use the UPML update equations and coefficients*/
Cell *cell2 = cell->upmlCell; /*The cell references a data structure with the
additional field components and coefficients*/
/*Update the Hx component*/
float tmp = cell2->Bx; /*Temporarily store the old value of Bx*/
cell2->Bx = cell->D1x*cell2->Bx+cell->D2x*(cells[i,j,k+1].Ey - cell->Ey)
- cell->D3x*(cells[i,j+1,k].Ez - cell->Ez);
cell->Hx = cell2->D4x*cell->Hx+cell2->D5x*cell2->Bx+cell2->D6x*tmp;
/*Update the Hy and Hz components*/
(...)
}

/*Update cycle for the E-field components*/


(...)
}

88
Appendix D

UPML Update Equations and


Coefficients

This appendix presents the field updating relations and coefficients used for the implementation of
the UPML absorbing boundary in the developed software.

D.1 Update equations for the E-field

Update equations for the Ex component:

n+ 1 n− 1
 
Dx |i+ 12,j,k =C1x Dx |i+ 12,j,k + C2x Hz |ni+ 1 ,j+ 1 ,k − Hz |ni+ 1 ,j− 1 ,k (D.1)
2 2 2 2 2
 2 
n n
− C3x Hy |i+ 1 ,j,k+ 1 − Hy |i+ 1 ,j,k− 1
2 2 2 2

n+ 1 n− 1 n+ 1 n− 1
Ex |i+ 12,j,k =C4x Ex |i+ 12,j,k + C5x Dx |i+ 12,j,k − C6x Dx |i+ 12,j,k (D.2)
2 2 2 2

Update coefficients for the Ex component:

2ε0 ky − ∆tσy 2ε0 ∆t 1 2ε0 ∆t 1


C1x = ; C2x = ; C3x = (D.3)
2ε0 ky + ∆tσy 2ε0 ky + ∆tσy ∆y 2ε0 ky + ∆tσy ∆z
2ε0 kz − σz ∆t 1 2ε0 kx + σx ∆t 1 2ε0 kx − σx ∆t
C4x = ; C5x = ; C6x = (D.4)
2ε0 kz + σz ∆t ε0 εxx 2ε0 kz + σz ∆t ε0 εxx 2ε0 kz + σz ∆t

Update equations for the Ey component:

n+ 1 n− 1
 
Dy |i,j+2 1 ,k =C1y Dy |i,j+2 1 ,k + C2y Hx |ni,j+ 1 ,k+ 1 − Hx |ni,j+ 1 ,k− 1 (D.5)
2 2 2 2 2
 2 
n n
− C3y Hz |i+ 1 ,j+ 1 ,k − Hz |i− 1 ,j+ 1 ,k
2 2 2 2

n+ 1 n− 1 n+ 1 n− 1
Ey |i,j+2 1 ,k =C4y Ey |i,j+2 1 ,k + C5y Dy |i,j+2 1 ,k − C6y Dy |i,j+2 1 ,k (D.6)
2 2 2 2

Update coefficients for the Ey component:

2ε0 kz − ∆tσz 2ε0 ∆t 1 2ε0 ∆t 1


C1y = ; C2y = ; C3y = (D.7)
2ε0 kz + ∆tσz 2ε0 kz + ∆tσz ∆z 2ε0 kz + ∆tσz ∆x
2ε0 kx − σx ∆t 1 2ε0 ky + σy ∆t 1 2ε0 ky − σy ∆t
C4y = ; C5y = ; C6y = (D.8)
2ε0 kx + σx ∆t ε0 εyy 2ε0 kx + σx ∆t ε0 εyy 2ε0 kx + σx ∆t

89
Update equations for the Ez component:

n+ 12 n− 21
 
n n
Dz |i,j,k+ 1 =C1z Dz | 1 + C2z
i,j,k+ 2
H y |i+ 1
,j,k+ 1 − Hy |
i− 1
,j,k+ 1 (D.9)
2 2 2 2 2
 
n n
− C3z Hx |i+ 1 ,j,k+ 1 − Hx |i+ 1 ,j,k− 1
2 2 2 2

n+ 21 n− 12 n+ 12 n− 1
Ez |i,j,k+ 1 =C4z Ez |i,j,k+ 1 + C5z Dz |i,j,k+ 1 − C6z Dz |i,j,k+
2
1 (D.10)
2 2 2 2

Update coefficients for the Ez component:

2ε0 kx − ∆tσx 2ε0 ∆t 1 2ε0 ∆t 1


C1z = ; C2z = ; C3z = (D.11)
2ε0 kx + ∆tσx 2ε0 kx + ∆tσx ∆x 2ε0 kx + ∆tσx ∆y
2ε0 ky − σy ∆t 1 2ε0 kz + σz ∆t 1 2ε0 kz − σz ∆t
C4z = ; C5z = ; C6z = (D.12)
2ε0 ky + σy ∆t ε0 εzz 2ε0 ky + σy ∆t ε0 εzz 2ε0 ky + σy ∆t

D.2 Update equations for the H-field

Update equations for the Hx component:

n+ 1 n− 1
 
Bx |i,j+2 1 ,k+ 1 =D1x Bx |i,j+2 1 ,k+ 1 + D2x Ey |ni,j+ 1 ,k+1 − Ey |ni,j+ 1 ,k (D.13)
2 2 2 2
 2 2

n n
− D3x Ez |i,j+1,k+ 1 − Ez |i,j,k+ 1
2 2

n+ 1 n− 1 n+ 1 n− 1
Hx |i,j+2 1 ,k+ 1 =D4x Hx |i,j+2 1 ,k+ 1 + D5x Bx |i,j+2 1 ,k+ 1 − D6x Bx |i,j+2 1 ,k+ 1 (D.14)
2 2 2 2 2 2 2 2

Update coefficients for the Hx component:

2ε0 ky − ∆tσy 2ε0 ∆t 1 2ε0 ∆t 1


D1x = ; D2x = ; D3x = (D.15)
2ε0 ky + ∆tσy 2ε0 ky + ∆tσy ∆z 2ε0 ky + ∆tσy ∆y
2ε0 kz − σz ∆t 1 2ε0 kx + σx ∆t 1 2ε0 kx − σx ∆t
D4x = ; D5x = ; D6x = (D.16)
2ε0 kz + σz ∆t µ0 µxx 2ε0 kz + σz ∆t µ0 µxx 2ε0 kz + σz ∆t

Update equations for the Hy component:

n+ 1 n− 1
 
By |i+ 12,j,k+ 1 =D1y By |i+ 12,j,k+ 1 + D2y Ez |ni+1,j,k+ 1 − Ez |ni,j,k+ 1 (D.17)
2 2 2 2
 2 2

n n
− D3y Ex |i+ 1 ,j,k+1 − Ex |i+ 1 ,j,k
2 2

n+ 1 n− 1 n+ 1 n− 1
Hy |i+ 12,j,k+ 1 =D4y Hy |i+ 12,j,k+ 1 + D5y By |i+ 12,j,k+ 1 − D6y By |i+ 12,j,k+ 1 (D.18)
2 2 2 2 2 2 2 2

Update coefficients for the Hy component:

2ε0 kz − ∆tσz 2ε0 ∆t 1 2ε0 ∆t 1


D1y = ; D2y = ; D3y = (D.19)
2ε0 kz + ∆tσz 2ε0 kz + ∆tσz ∆x 2ε0 kz + ∆tσz ∆z
2ε0 kx − σx ∆t 1 2ε0 ky + σy ∆t 1 2ε0 ky − σy ∆t
D4y = ; D5y = ; D6y = (D.20)
2ε0 kx + σx ∆t µ0 µyy 2ε0 kx + σx ∆t µ0 µyy 2ε0 kx + σx ∆t

Update equations for the Hz component:

n+ 1 n− 1
 
Bz |i+ 12,j+ 1 ,k =D1z Bz |i+ 12,j+ 1 ,k + D2z Ex |ni+ 1 ,j+1,k − Ex |ni+ 1 ,j,k (D.21)
2 2 2 2
 2 2 
n n
− D3z Ey |i+1,j+ 1 ,k − Ey |i,j+ 1 ,k
2 2

n+ 1 n− 1 n+ 1 n− 1
Hz |i+ 12,j+ 1 ,k =D4z Hz |i+ 12,j+ 1 ,k + D5z Bz |i+ 12,j+ 1 ,k − D6z Bz |i+ 12,j+ 1 ,k (D.22)
2 2 2 2 2 2 2 2

90
Update coefficients for the Hz component:

2ε0 kx − ∆tσx 2ε0 ∆t 1 2ε0 ∆t 1


D1z = ; D2z = ; D3z = (D.23)
2ε0 kx + ∆tσx 2ε0 kx + ∆tσx ∆y 2ε0 kx + ∆tσx ∆x
2ε0 ky − σy ∆t 1 2ε0 kz + σz ∆t 1 2ε0 kz − σz ∆t
D4z = ; D5z = ; D6z = (D.24)
2ε0 ky + σy ∆t µ0 µzz 2ε0 ky + σy ∆t µ0 µzz 2ε0 ky + σy ∆t

91
Appendix E

Modeling of Thin Metalizations

This appendix describes the approach used in the developed software to incorporate thin PEC
metalizations into the FDTD grid. A metalization is said to be thin when its thickness is much smaller than
the simulation’s minimum wavelength λmin , so that in order to discretize it, a prohibitive number of cells
would be required. As an example, consider the microstrip line whose cross-section is represented in Fig. E.1.

Figure E.1: Geometry of the microstrip line used to illustrate the technique for modeling thin metalizations.
The thickness of the metalizations is very small when compared to the substrate’s height.

As can be seen in Fig. E.1, the thicknesses of both the ground plane and the conducting strip
are negligible when compared to the substrate’s height and therefore, even if only a single cell was used to
discretize the thickness of the metalizations, the resultant time-step would be so small that the simulation
time would increase dramatically. A simple, yet effective way of avoiding this is to consider that the E-field
components coplanar to the metalizations are always zero. This can be achieved by taking into consideration
that since for a PEC material the electrical conductivity, σ, is infinite, the update coefficients for the E-field
components inside this kind of material, which can be calculated from (2.25)-(2.27), are

C1x = −1 ; C2x = 0 ; C3x = 0 (E.1a)


C1y = −1 ; C2y = 0 ; C3y = 0 (E.1b)
C1z = −1 ; C2z = 0 ; C3z = 0 (E.1c)

In order to illustrate this technique, consider a possible discretization of the microstrip line of Fig.
E.1, which is shown in Fig. E.2. When creating the grid for this structure, i.e., during the spatial discretization

92
stage 1 , the mesh generation algorithm neglects the presence of the thin metalizations, which allows the
generation of a Cartesian FDTD grid having acceptable cell sizes along the z direction. However, during the
material mapping stage2 , the algorithm checks for the presence of thin metalizations (which have been user
specified before generating the mesh), and sets the update coefficients of the tangential E-field components
that lie on the metalizations, which in this case are the Ex and Ey components, according to (E.1a) and
(E.1b). In Fig. E.2, the E-field components for which the update coefficients are modified are shown in blue.

Figure E.2: FDTD grid for the microstrip line and representation of the Ex and Ez field components. The Ex
field components inside the metalizations are shown in blue and the associated update coefficients are those
of (E.1a).

It is worth mentioning that although this simple approach gives quite good results for a broad
range of applications, more sophisticated methods exist, such as those described in [49] and [50], that can
incorporate the behavior of field singularities that occur at the metalization’s edges, similarly to the thin-wire
model presented in Section 4.2. The implementation of such methods could be the topic of future work.

1 The spatial discretization algorithm is described in Section 7.2


2 The material mapping algorithm is described in Section 7.3

93
Appendix F

Other Experiments and Applications

This appendix presents a number of examples that demonstrate the developed software’s potential
to handle problems not strictly related to antennas, thereby confirming the generality of the techniques and
algorithms employed.

F.1 Low-pass microstrip filter

This example illustrates the applicability of the software to the analysis of microstrip circuit compo-
nents. The structure to be analyzed is a low-pass microstrip filter for which FDTD and experimental results
have been obtained by Sheen et al. [43]. The geometry of the filter is shown in Fig. F.1.

Figure F.1: Geometry of the low-pass filter.

This device has two microstrip ports that have been modeled using the waveguide source described
in Section 5.4. Since this is a symmetric, reciprocal device, the quantities of interest are the return loss S11
and insertion loss S21 . In order to obtain them, first the bootstrapping procedure was run for both ports so
as to obtain their respective quasi-TEM mode’s field distribution. Then, port number 1 was excited with a
differentiated Gaussian signal having a -20 dB bandwidth extending from 0.5 GHz to 20 GHz.

94
The computational domain was discretized using a non-uniform mesh with 59 by 79 by 10 cells, with
a minimum density of 30 cells per wavelength. A 5-cell thick UPML was used to terminate the boundaries
of the computational domain, except for the boundary at zmin , which was set as an electric wall, in order to
simulate the ground plane. The metallic parts of the device were all meshed as thin metalizations, as described
in Appendix E. The time-step used for the simulation was 0.394 ps.

The simulation required 3110 time-steps for the total energy to decay 40 dB relatively to the
maximum value. The scattering coefficient results, shown in Figs. F.2 and F.3, show good agreement in the
location of the response nulls, except for the high end of the frequency range, where the shift towards lower
frequencies may be related with the less accurate resolution of the fields in the vicinity of strip edges.

Figure F.2: Return loss of the low-pass filter.

Figure F.3: Insertion loss of the low-pass filter.

95
F.2 SAR Calculation

This example illustrates the application of the developed software to the Specific Absorption Rate
(SAR) calculation of the CENELEC 50361 Specific Anthropomorphic Mannequin (SAM) phantom head. The
problem’s geometry is shown in Fig. F.4.

Figure F.4: Geometry of the SAR calculation problem.(a) Perspective view of the SAM and cell phone. (b)
View of the tissue simulating liquid inside the SAM, obtained by rendering the outer shell with transparency.

As can be seen in Fig. F.4, the problem consists of the SAM phantom head and a simple PEC
model of a cell phone, which was positioned as to reproduce a typical usage configuration. The feed of the cell
phone’s antenna was modeled with a resistive voltage source having a 50 Ω internal impedance. Taking into
account that the cell phone operates approximately at 900 Mhz, the input signal used was a ramped sinusoid
having that frequency. The SAM phantom head was modeled by a shell filled with a liquid that represents the
average material properties of the human head. The material parameters for the shell and liquid are shown in
Table F.1.
Material εr µr σ (S/m) ρ (kg/m3 )
Plastic shell 5 1 0.0125173 1000
Liquid 42 1 0.99 1000

Table F.1: Material properties used to model the CENELEC 50361 SAM phantom head at 900 MHz.

The computational domain was discretized with a non-uniform mesh composed of 89 by 115 by 115
cells, with minimum and maximum densities respectively of 10 and 20 cells per wavelength. The cell size for
this problem is particularly small due to the high electrical permittivity of the head’s filling liquid, which results
in a minimum wavelength λmin that is approximately 6.5 times smaller than in free-space. All boundaries were
terminated by a 5 cell thick UPML and the time-step used for the simulation was 3.947 ps.

Taking into account that the SAR is given by


2
σ Ē
SAR = (F.1)

where ρ is the material density, a DFT was run concurrently with the FDTD time-stepping in order to obtain
the phasors for the E-field at 900 MHz. In order to save memory and CPU-time, the DFT was only performed
for those cells where the SAR can be calculated, i.e, cells associated with materials having a positive, finite

96
conductivity and a non-zero density, which for this problem are those of the shell and its interior.

The sinusoidal steady-state was reached after 1990 time-steps. A three-dimensional plot of the SAR
values on the head’s surface is shown in Fig. F.5, where it can be seen that the results are in agreement with
what is qualitatively expected from a problem having this configuration.

Figure F.5: Three-dimensional SAR plot for the CENELEC 50361 SAM phantom head.

Finally, a comparison between the three-dimensional radiation patterns of the cell phone at 900
MHz, with and without the SAM phantom head, are presented in Fig. F.6. As can be seen, the presence of
the head significantly changes the radiation characteristics of the cellular phone.

Figure F.6: Illustration of the SAM phantom head’s effect on the radiation pattern (directivity) of the cellular
phone at 900 MHz.(a) Radiation pattern with SAM; (b) Radiation pattern without SAM.

97
Bibliography

[1] E. K. Miller, “A Selective Survey of Computational Electromagnetics,” IEEE Transactions on Antennas


and Propagation, vol. 36, no. 9, pp. 1281–1305, September 1988.

[2] K. S. Yee, “Numerical Solution of Initial Boundary Value Problems Involving Maxwell’s Equations in
Isotropic Media,” IEEE Trans. Antennas Propagat., vol. AP-14, pp. 302–307, May 1966.

[3] Meep. [Online]. Available: http://ab-initio.mit.edu/wiki/index.php/Meep

[4] Sun Microsystems. (2004) JavaTM 2 Platform Standard Edition 5.0 API Specification. [Online].
Available: http://java.sun.com/j2se/1.5.0/docs/api/

[5] (2007) Java 3D API Documentation. [Online]. Available: https://java3d.dev.java.net/#Documentation

[6] Sun Microsystem’s Java 3D engineering team. (1999) Java 3D Tutorial. [Online]. Available:
http://java.sun.com/developer/onlineTraining/java3d/index.html

[7] W. L. Stutzman and G. A. Thiele, Antenna Theory and Design, 2nd ed. John Wiley & Sons, 1998.

[8] Wavefront Technologies. (1996) Wavefront OBJ Specification. [Online]. Available:


http://netghost.narod.ru/gff/graphics/summary/waveobj.htm

[9] A. Taflove and S. C. Hagness, Computational Electrodynamics: The Finite-Difference Time-Domain


Method, 2nd ed. Artech House, 2000.

[10] K. S. Kunz and R. J. Luebbers, The Finite Difference Time Domain Method for Electromagnetics. CRC
Press, 1993.

[11] T. Namiki, “A new FDTD Algorithm Based on Alternating-Direction Implicit Method,” IEEE Trans.
MTT, vol. 47, no. 10, pp. 2003–2007, October 1999.

[12] S. Staker, C. Holloway, A. Bhobe, and M. Piket-May, “Alternating-direction implicit (ADI) formulation of
the finite-difference time-domain (FDTD) method: algorithm and material dispersion implementation,”
IEEE Transactions on Electromagnetic Compatibility, vol. 45, no. 2, pp. 156–166, May 2003.

[13] G. Carat, R. Gillard, J. Citerne, and J. Wiart, “An efficient analysis of planar microwave circuits using a
DWT-based Haar MRTD scheme,” IEEE Trans. MTT, vol. 48, no. 12, pp. 2261–2269, December 2000.

[14] W. Yu and R. Mittra, “A Technique for Improving the Accuracy of the Nonuniform Finite-Difference
Time-Domain Algorithm,” IEEE Trans. MTT, vol. 47, no. 3, pp. 353–356, March 1999.

[15] P. Monk and E. Süli, “Error Estimates for Yee’s Method on Non-uniform Grids,” IEEE Transactions on
Magnetics, vol. 30, no. 5, pp. 3200–3203, September 1994.

98
[16] W. Yu and R. Mittra, “Electromagnetic scattering of underground object using nonuniform mesh FDTD
and PML,” Microwave and Optical Technology Letters, vol. 21, no. 2, pp. 151–156, April 1999.

[17] W. Heinrich, P. M. Klaus Beilenhoff, and L. Roselli, “Optimum Mesh Grading for Finite-Difference
Method,” IEEE Trans. MTT, vol. 44, no. 9, pp. 1569–1574, September 1996.

[18] G. Mur, “Absorbing Boundary conditions for the Finite-Difference Approximation of the Time-Domain
Electromagnetic-Field Equations,” IEEE Transactions on Electromagnetic Compatibility, vol. 23, no. 4,
pp. 377–382, November 1981.

[19] ——, “Total-Field Absorbing Boundary Conditions for the Time-Domain Electromagnetic Field Equa-
tions,” IEEE Transactions on Electromagnetic Compatibility, vol. 40, no. 2, pp. 100–102, May 1998.

[20] J.-P. Berenger, “A Perfectly Matched Layer for the Absorption of Electromagnetic Waves,” Journal of
Computational Physics, vol. 114, pp. 185–200, 1994.

[21] S. D. Gedney, “An Anisotropic Perfectly Matched Layer-Absorbing Medium for the Truncation of FDTD
Lattices,” IEEE Transactions on Antennas and Propagation, vol. 44, no. 12, pp. 1630–1639, December
1996.

[22] J.-P. Berenger, “The PML Absorbing Boundary Condition,” in European School of Antennas: European
Course on Time Domain Techniques for Antenna Analysis, Polytech’Nice Sophia, Université de Nice-
Sophia Antipolis, 20-24 November 2006.

[23] ——, “Three-Dimensional Perfectly Matched Layer for the Absorption of Electromagnetic Waves,” Jour-
nal of Computational Physics, vol. 127, pp. 363–379, 1996.

[24] P. K. Datta and D. Bhattacharya, “Optimization of Uniaxial Perfectly Matched Layer Parameters for
Finite Difference Time Domain Simulation and Application to Coupled Microstrip Lines with Multiple
Bend Discontinuities,” International Journal of RF and Microwave Computer-Aided Engineering, vol. 12,
no. 6, pp. 508–519, October 2002.

[25] S. D. Gedney, “Comment on “On the Matching Conditions of Different PML Schemes Applied to Multi-
layer Isotropic Dielectric Media“,” Microwave and Optical Technology Letters, vol. 30, no. 4, pp. 289–291,
August 2001.

[26] D. M. Pozar, Microwave Engineering, 2nd ed. John Wiley & Sons, 1998.

[27] K. R. Umashankar, A. Taflove, and B. Beker, “Calculation and Experimental Validation of Induced Cur-
rents on Coupled Wires in an Arbitrary Shaped Cavity,” IEEE Transactions on Antennas and Propagation,
vol. 35, no. 11, pp. 1248–1257, November 1987.

[28] G. Marrocco, M. Sabbadini, and F. Bardati, “FDTD Improvement by Dielectric Subgrid Resolution,”
IEEE Transactions on Microwave Theory and Techniques, vol. 46, no. 12, pp. 2166–2169, December
1998.

[29] J. G. Maloney, K. L. Shlager, and G. S. Smith, “A Simple FDTD Model for Transient Excitation of
Antennas by Transmission Lines,” IEEE Transactions on Antennas and Propagation, vol. 42, no. 2, pp.
289–292, February 1994.

[30] I. J. Craddock, D. L. Paul, C. J. Railton, P. N. Fletcher, and M. Dean, “Applications of singlemode


extraction from finite difference time domain data,” IEE Proc.-Microw. Antennas Propag., vol. 146,
no. 2, pp. 160–162, April 1999.

99
[31] M. A. Schamberger, S. Kosanovich, and R. Mittra, “Parameter Extraction and Correction for Transmis-
sion Lines and Discontinuities Using the Finite-Difference Time-Domain Method,” IEEE Transactions on
Microwave Theory and Techniques, vol. 44, no. 6, pp. 919–925, June 1996.

[32] C. A. Balanis, Advanced Engineering Electromagnetics. John Wiley & Sons, 1989.

[33] O. M. Ramahi, “Near- and Far-Field Calculations in FDTD Simulations Using Kirchhoff Surface Integral
Representation,” IEEE Transactions on Antennas and Propagation, vol. 45, no. 5, pp. 753–759, May
1997.

[34] J. Nocedal and S. J. Wright, Numerical Optimization, 1st ed. Springer, 1999.

[35] Y. Kanai and K. Sato, “Automatic Mesh Generation for 3D Electromagnetic Field Analysis by FD-TD
Method,” IEEE Transactions on Magnetics, vol. 34, no. 5, pp. 3383–3386, September 1998.

[36] Y. Srisukh, J. Nehrbass, F. L. Teixeira, J.-F. Lee, and R. Lee, “An Approach for Automatic Grid Generation
in Three-Dimensional FDTD Simulations of Complex Geometries,” IEEE Antenna’s and Propagation
Magazine, vol. 44, no. 4, pp. 75–80, August 2002.

[37] R. P. Picanço, “DESENVOLVIMENTO DE UMA INTERFACE INTEGRADA PARA O PROJETO E


ANÁLISE DE ANTENAS UTILIZANDO O MÉTODO DAS DIFERENÇAS FINITAS NO DOMÍNIO DO
TEMPO (FDTD) ,” Masters Thesis, Universidade de Brası́lia, Faculdade de Tecnologia, March 2006.

[38] J. Hill, “Efficient Implementation of Mesh Generation and FDTD Simulation of Electromagnetic Fields,”
Masters Thesis, Worcester Polytechnic Institute, August 1996.

[39] R. J. Luebbers and K. Kunz, “Finite Difference Time Domain Calculations of Antenna Mutual Coupling,”
IEEE Transactions on Electromagnetic Compatibility, vol. 34, no. 3, pp. 357–359, August 1992.

[40] (2007) Computer Simulation Technology (CST). [Online]. Available: http://www.cst.com/

[41] T. Weiland, “Time Domain Electromagnetic Field Computation with Finite Difference Methods,” Inter-
national Journal of Numerical Modelling: Electronic Networks, Devices and Fields, vol. 9, pp. 295–319,
1996.

[42] R. Luebbers, L. Chen, T. Uno, and S. Adachi, “FDTD Calculation of Radiation Patterns, Impedance, and
Gain for a Monopole Antenna on a Conducting Box,” IEEE Transactions on Antennas and Propagation,
vol. 40, no. 12, pp. 1577–1583, December 1992.

[43] D. M. Sheen, S. M. Ali, M. D. Abouzahra, and J. A. Kong, “Application of the Three-Dimensional Finite-
Difference Time-Domain Method to the Analysis of Planar Microstrip Circuits,” IEEE Transactions on
Microwave Theory and Techniques, vol. 38, no. 7, pp. 849–857, July 1990.

[44] P. A. Makal, “UWB ANTENNAS FOR WIRELESS APPLICATIONS,” Final Report, IST Lisbon, July
2007.

[45] P. A. Tirkas and C. A. Balanis, “Finite-Difference Time-Domain Method for Antenna Radiation,” IEEE
Transactions on Antennas and Propagation, vol. 40, no. 3, pp. 334–340, March 1992.

[46] S. Dey and R. Mittra, “A Locally Conformal Finite-Difference Time-Domain (FDTD) Algorithm for
Modeling Three-Dimensional Perfectly Conducting Objects,” IEEE Microwave and Guided Wave Letters,
vol. 7, no. 9, pp. 273–275, September 1997.

100
[47] ——, “A Conformal Finite-Difference Time-Domain Technique for Modeling Cylindrical Dielectric Res-
onators,” IEEE Transactions on Microwave Theory and Techniques, vol. 47, no. 9, pp. 1737–1739,
September 1999.

[48] C. L. Wagner and J. B. Schneider, “Divergent Fields, Charge, and Capacitance in FDTD Simulations,”
IEEE Trans. MTT, vol. 46, no. 12, pp. 2131–2136, December 1998.

[49] N.-H. Huynh and W. Heinrich, “FDTD Accuracy Improvement by Incorporation of 3D Edge Singularities,”
IEEE MTT-S Digest, pp. 1573–1576, 1999.

[50] C. J. Railton, D. L. Paul, I. J. Craddock, and G. S. Hilton, “The Treatment of Geometrically Small Struc-
tures in FDTD by the Modification of Assigned Material Parameters,” IEEE Transactions on Antennas
and Propagation, vol. 53, no. 12, pp. 4129–4136, December 2005.

101

You might also like