The Finite-Difference Time-Domain (FDTD) method is a computational electromagnetic technique for solving for the electric and magnetic fields in arbitrary spatial domains in the time domain. In contrast to techniques such as the Finite Element Method (FEM) and the Method of Moments (MoM), this technique is straightforward to understand and is simple to program. A rudimentary 2D TMz code is included in Section §7 and is used to illustrate the main features of the method.
The aim of this assignment is to use the provided FDTD code in a series of numerical investigations, and compare quantitatively its predictions against theory, which the student is expected to research independently after the completion of the taught part of the EMAP module. A formal report is not required, but your assignment report needs to answer all the assignment questions, in a self-contained manner.
2 The basics behind the FDTD algorithm
2.1 Defining the Lattice
The basic FDTD method (in Cartesian coordinates) makes use of a regular lattice of interleaved electric and magnetic field components as originally proposed by Yee . In the case of a 2D TMz lattice1, it is possible to derive the following from Maxwell’s equations: It should be noted that the indices in the coefficient matrices correspond to the locations of the field components that are being updated. Although appearing cumbersome, these update equations can be programmed in a straightforward fashion. Initially, all field components are initialized to zero, and the field components updated in the order Ez (1) followed by Hx (2) and Hy (3). These calculations are then repeated in sequence until sufficient number of iterations have been performed2 ......
A rudimentary FDTD code (fdtd 1) has been written in MATLAB and is included in Section §7. Various examples using this code will be investigated in this section.
3.1 example1 — Propagation in Free Space (tmax = 10 ns)
This example is for the code included in Section §7. The source is located at (20,200), and the total simulation time is 10 ns. You must run the code as is and observe the excitation waveform, and the pulse response at 10 ns. Why do you think it is not meaningful to extract the timeharmonic response from this result? Can you observe any unwanted numerical reflections from the ABC?
3.2 example2 — Propagation in Free Space (tmax = 50 ns)
The magnitudes of the fields in Fig. 3 are noticeably smaller than those in the earlier example, as all propagating fields have encountered the ABC on the periphery of the computational domain at least once. However, the residual field is still of appreciable magnitude, and the only way to reduce these is to use a higher performance absorbing boundary such as the UPML or CPML. The time-harmonic response in Fig. 4 shows a dominant cylindrically-propagating wave,
FDTD: example2: Excitation waveform Figure 2: example2 — Excitation waveform. although some ripple is present and is due to the presence of reflections from the boundaries of the computational domain.
3.3 example3 — Propagation in the Presence of a PEC Obstacle
A PEC obstacle has been defined with vertices at (150,100) and (300,250). This is done by including the following definition for pec blocks: pec_blocks = [150 100 300 250];
As in example2, tmax = 50 ns, and the pulse response at 50 ns is plotted in Fig. 5 and the time harmonic response in Fig. 6 (the excitation waveform is the same as in example2). The pulse response in Fig. 5 is somewhat complex, as a result from waves reflecting from and diffracting around the PEC block. The effects of reflection can also be seen in Fig. 6 with the presence of a standing wave between the source and the box, and a significantly reduced field amplitude behind the box as a result of diffraction4
Your report should be in four sections each providing an answer to the following questions. The assessment criteria for each section are, (a) a clear description of what you have done: 10%, 4An animation of the time-harmonic fields can also be useful in visualizing these effects. This can be done by enabling the option want plot movie = 1; in the header, and then executing the command movie(mov,n) where n is an integer specifying the number of times the movie should be played. (b) presentation of your simulation results in an appropriate form for interpretation and discussion: 20%, brief summary of relevant theory researched (including citations of key references, but avoiding giving an unnecessary tutorial), implementation and calculation of corresponding theoretical predictions: 30%, (c) discussion of numerical and theoretical results: 30%, and (d) drawing conclusions: 10%.
- Investigate quantitatively the field scattered by a diffracting PEC right-angled wedge in the vicinity of its incidence and reflection shadow boundaries. Ensure that the simulation has converged and examine the field strength in logarithmic units. Is this result as expected according to the Uniform Theory of Diffraction? (Hint: You may use readily available UTD MATLAB code, e.g. , having investigated the use of the uniform geometric theory of diffraction in the literature). Provide a quantitative justification for your answer. (Hint: A right-angled wedge can be specified by setting pec blocks = [1 1 250 150].) [40 marks]
- Investigate quantitatively the behaviour of the field in the shadow region on the PEC right-angled wedge. How does this result contrast with the shadow field distribution from a PEC knife-edge defined by pec blocks = [249 1 250 150]? Discuss and justify the observed similarities or differences. [20 marks]
- Compare quantitatively the field distribution in the shadow region of two cascaded PEC knife-edges furthest away from the source, to the corresponding shadow field distribution of a rectangular PEC block obtained by bridging the knife-edges. The knife-edges are defined using the multiple row format of the PEC blocks command by, pec blocks = [150 1 151 150 249 1 250 150]; and the block is defined by pec blocks = [150 1 250 150]. Discuss the physical reason for any observed differences. [20 marks]
- When implementing the FDTD method, it is important to select a lattice size that is sufficiently small. Explore the consequences of choosing a lattice size that is too large. (Hint: Make the following change to example1 in the header: samples per wavelength = 5 to use only 5 samples per wavelength, and to compensate for the difference lattice size move the source to xs idx = 20 and ys idx = 50. How does the result differ to that in Section §3.1?) [20 marks]