FDTD method
(Finite difference time domain)
EMLAB
1
Contents
E
B
t
H
J
(
E )
(
H )
0
E
t
EMLAB
2
Approximating the Time Derivative (1 of 3)
An intuitive first guess at approximating the time derivatives in Maxwell’s equations is:
3
This is an unstable formulation.
EMLAB
Approximating the Time Derivative (2 of 3)
We adjust the finite‐difference equations so that each term exists at the same point in time.
4
These equations will get messy if we include interpolations. Is there a simpler approach?
EMLAB
Approximating the Time Derivative (3 of 3)
We stagger E and H in time so that E exists at integer time steps
(0, Δ t , 2 Δ t
, …) and
H exists at half time steps (0, Δ t /2, 3Δ t/2 , 4Δ t/2
…).
5
We will handle the spatial derivatives in curl next lecture in a very similar manner.
EMLAB
Derivation of the Update Equations
• The “update equations” are the equations used inside the main FDTD loop to calculate the field values at the next time step.
•
They are derived by solving our finite‐difference equations for the fields at the future time values.
6
EMLAB
Anatomy of the FDTD Update Equation
Update coefficient
(To speed simulation, we calculate these before iteration.)
7
Field at the future time step.
Field at the previous time step.
Curl of the “other” field at an intermediate time step
EMLAB
The FDTD Algorithm 8
EMLAB
Yee Grid Scheme
EMLAB
9
Representing Functions on a Grid
Example physical
(continuous) 2D function
A grid is constructed by dividing space into discrete cells
Function is known only at discrete points
Representation of what is actually stored in memory
10
EMLAB
11 Grid Unit Cell
Whole Grid
A function value is assigned to a specific point within the grid unit cell.
EMLAB
3D Grids
A three‐dimensional grid looks like this:
A unit cell from the grid looks like this:
12
EMLAB
Collocated Grid
Within the unit cell, we need to place the field components E x, E y, E z, H x,
H y, and H z.
13
A straightforward approach would be to locate all of the field components within in a grid cell at the origin of the cell.
EMLAB
Yee Grid
Instead, we are going to stagger the position of each field component within the grid cells.
14
EMLAB
Reasons to Use the Yee Grid Scheme
1. Divergence‐free 3. Elegant arrangement to approximate Maxwell’s curl equations
15
2. Physical boundary conditions are naturally satisfied
EMLAB
Yee Cell for 1D, 2D, and 3D Grids
1D Yee Grid 2D Yee Grids 3D Yee Grid
16
EMLAB
Consequences of the Yee Grid 17
• Field components are in physically different locations
• Field components may reside in different materials even if they are in the same unit cell
• Field components will be out of phase
• Recall the field components are also staggered in time.
EMLAB
Visualizing Extended Yee Grids
2X2X2 Grid
4 X 4 Grid (E Mode)
18
EMLAB
19
Finite‐Difference Approximation to
Maxwell’s Equations
EMLAB
Normalize the Magnetic Field
We satisfied the divergence equations by adopting the Yee grid scheme. We now only have to deal with the curl equations.
20
The E and H fields are related through the impedance of the material they are in, so they are roughly three orders of magnitude different.
This will cause rounding errors in your simulation and it is always good practice to normalize your parameters so they are all the same order of magnitude. Here we choose to normalize the magnetic field.
EMLAB
Curl Equations with Normalized Magnetic Field
Using the normalized magnetic field, the curl equations become
21
Note:
Proof
EMLAB
Expand the Curl Equations 22
EMLAB
Assume Only Diagonal Tensors 23
EMLAB
Final Analytical Equations
These are the final form of Maxwell’s equations from which we will formulate the FDTD method.
24
Next, we will approximate these equations with finite‐differences in the Yee grid.
EMLAB
Finite‐Difference Equation for H x
25
EMLAB
Finite‐Difference Equation for H y
26
EMLAB
Finite‐Difference Equation for H z
27
EMLAB
Finite‐Difference Equation for E x
28
EMLAB
Finite‐Difference Equation for E y
29
EMLAB
Finite‐Difference Equation for E z
30
EMLAB
Summary of Finite‐Difference Equations
31
Each equation is enforced separately for each cell in the grid. This is repeated for each time step until the simulation is finished. These equations get repeated a lot !!
EMLAB
32
Governing Equations For
One‐Dimensional FDTD
EMLAB
Reduction to One Dimension
We saw in Lecture 3 that some problems composed of dielectric slabs can be described in just one dimension. In this case, the materials and the fields are uniform in two directions. Derivatives in these uniform directions will be zero. We will define the uniform directions to be the x and y axes.
33
EMLAB
x and y Derivatives are Zero 34
EMLAB
Maxwell’s Equations Decouple Into Two Independent Modes
We see that the longitudinal field components E z and H z are always zero.
We also see that Maxwell’s equations have decoupled into two sets of two equations.
35
EMLAB
Two Remaining Modes are the Same
We see that the longitudinal field components E z and H z are always zero.
We also see that Maxwell’s equations have decoupled into two sets of two equations.
36
While these modes are physical and would propagate independently, the are numerically the same and will exhibit the same electromagnetic behavior. Therefore, it is only necessary to solve one. We will proceed with the E y
/ H x mode.
EMLAB
No Longer Need i and j Array Indices
E x
/H y
Mode
E y
/H z
Mode
37
EMLAB
38
Derivation of the Basic Update
Equations
EMLAB
Update Equation for E x
Start with the finite‐difference equation which has
E x in the time‐derivative:
39
Solve this for E x at the future time value.
EMLAB
Update Equation for E y
Start with the finite‐difference equation which has
E y in the time‐derivative:
40
Solve this for E y at the future time value.
EMLAB
Update Equation for H x
Start with the finite‐difference equation which has
H x in the time‐derivative:
41
Solve this for H x at the future time value.
EMLAB
Update Equation for H y
Start with the finite‐difference equation which has
H y in the time‐derivative:
42
Solve this for H y at the future time value.
EMLAB
43
Implementation of the Basic Update
Equations for the E y
/H x
Mode
EMLAB
Efficient Implementation of the Update Equations
The update coefficients do not change their value during the simulation. They should be computed only once before the main FDTD loop and not at each iteration inside the loop.
The finite‐difference equations in terms of the update coefficients are:
44
H x
, E y
, ε yy
, μ xx
, m
Hx
, and m
Ey are all stored in 1D arrays of length N z
. c
0
, Δt, and Δ z are single scalar numbers, not arrays.
EMLAB
The Basic 1D‐FDTD Algorithm
Calculate the update coefficients before the main loop to save computations.
Includes:
• Basic FDTD engine
Excludes:
• Dirichlet BC’s
• Calculate source parameters
• Simple soft source
• Perfectly absorbing BC’s
• TF/SF source
• Fourier transforms
• Reflectance/Transmittance
• Calculate grid parameters
• Incorporate device
45
EMLAB
Equations → MATLAB Code
Update Coefficients
Update Equations
You will need to update the fields at every point in the grid so these equations are placed inside a loop from 1 to Nz.
46
EMLAB
Each Cell Has Its Own Set of Update Equations
Each cell has its own update equation and its own update coefficients. They are implemented separately for each cell. All of these equations have the same general form so it is more efficient to implement them using a loop. For a 1D grid with 10 cells, think of it this way…
47
EMLAB