Presentation on theme: "EMLAB 1 FDTD method (Finite difference time domain)"— Presentation transcript:
EMLAB 1 FDTD method (Finite difference time domain)
EMLAB 2 Contents
EMLAB 3 An intuitive first guess at approximating the time derivatives in Maxwell’s equations is: This is an unstable formulation. Approximating the Time Derivative (1 of 3)
EMLAB 4 We adjust the finite ‐ difference equations so that each term exists at the same point in time. Approximating the Time Derivative (2 of 3) These equations will get messy if we include interpolations. Is there a simpler approach?
EMLAB 5 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 …). We will handle the spatial derivatives in curl next lecture in a very similar manner.
EMLAB 6 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.
EMLAB 7 Update coefficient Field at the future time step. Field at the previous time step. Curl of the “other” field at an intermediate time step Anatomy of the FDTD Update Equation (To speed simulation, we calculate these before iteration.)
EMLAB 8 The FDTD Algorithm
EMLAB 9 Yee Grid Scheme
EMLAB 10 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 Representing Functions on a Grid
EMLAB 11 Grid Unit Cell Whole Grid A function value is assigned to a specific point within the grid unit cell.
EMLAB 12 3D Grids A three ‐ dimensional grid looks like this: A unit cell from the grid looks like this:
EMLAB 13 Within the unit cell, we need to place the field components Ex, Ey, Ez, Hx, Hy, and Hz. Collocated Grid A straightforward approach would be to locate all of the field components within in a grid cell at the origin of the cell.
EMLAB 14 Instead, we are going to stagger the position of each field component within the grid cells. Yee Grid
EMLAB 15 Reasons to Use the Yee Grid Scheme 1. Divergence ‐ free 2. Physical boundary conditions are naturally satisfied 3. Elegant arrangement to approximate Maxwell’s curl equations
EMLAB 16 Yee Cell for 1D, 2D, and 3D Grids 1D Yee Grid 2D Yee Grids 3D Yee Grid
EMLAB 17 Consequences of the Yee Grid 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 19 Finite ‐ Difference Approximation to Maxwell’s Equations
EMLAB 20 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. 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 21 Curl Equations with Normalized Magnetic Field Using the normalized magnetic field, the curl equations become Proof Note:
EMLAB 22 Expand the Curl Equations
EMLAB 23 Assume Only Diagonal Tensors
EMLAB 24 Final Analytical Equations These are the final form of Maxwell’s equations from which we will formulate the FDTD method. Next, we will approximate these equations with finite ‐ differences in the Yee grid.
EMLAB 25 Finite ‐ Difference Equation for H x
EMLAB 26 Finite ‐ Difference Equation for H y
EMLAB 27 Finite ‐ Difference Equation for H z
EMLAB 28 Finite ‐ Difference Equation for E x
EMLAB 29 Finite ‐ Difference Equation for E y
EMLAB 30 Finite ‐ Difference Equation for E z
EMLAB 31 Summary of Finite ‐ Difference Equations 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 33 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. Reduction to One Dimension
EMLAB 34 x and y Derivatives are Zero
EMLAB 35 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.
EMLAB 36 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. 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 37 E x /H y Mode E y /H z Mode No Longer Need i and j Array Indices
EMLAB 38 Derivation of the Basic Update Equations
EMLAB 39 Update Equation for E x Start with the finite ‐ difference equation which has E x in the time ‐ derivative: Solve this for E x at the future time value.
EMLAB 40 Update Equation for E y Start with the finite ‐ difference equation which has E y in the time ‐ derivative: Solve this for E y at the future time value.
EMLAB 41 Update Equation for H x Start with the finite ‐ difference equation which has H x in the time ‐ derivative: Solve this for H x at the future time value.
EMLAB 42 Update Equation for H y Start with the finite ‐ difference equation which has H y in the time ‐ derivative: 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 44 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: 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. Efficient Implementation of the Update Equations
EMLAB 45 Calculate the update coefficients before the main loop to save computations. The Basic 1D ‐ FDTD Algorithm 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
EMLAB 46 Equations → MATLAB Code Update Coefficients 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. Update Equations
EMLAB 47 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…