18
8/22/2016 1 Lecture 1 Slide 1 EE 5303 Electromagnetic Analysis Using Finite‐Difference Time‐Domain Lecture #1 Introduction to FDTD Lecture Outline Lecture 1 Slide 2 What is FDTD? Theory of FDTD How we will implement FDTD in this class.

Lecture #1 Introduction to FDTD

Embed Size (px)

Citation preview

Page 1: Lecture #1 Introduction to FDTD

8/22/2016

1

Lecture 1 Slide 1

EE 5303

Electromagnetic Analysis Using Finite‐Difference Time‐Domain

Lecture #1

Introduction to FDTD

Lecture Outline

Lecture 1 Slide 2

• What is FDTD?

• Theory of FDTD

• How we will implement FDTD in this class.

Page 2: Lecture #1 Introduction to FDTD

8/22/2016

2

What is FDTD?

Lecture 1 Slide 4

What is FDTD?

Finite‐difference time‐domain (FDTD) solves the electromagnetic wave equation in the time domain using finite‐difference approximations.  Being a time‐domain method, FDTD is more intuitive than other techniques and works by creating a “movie” of the fields flowing through a device.

W. Saj, "FDTD simulations of 2D plasmon waveguide on silver nanorods in hexagonal lattice," Opt. Express 13, 4818‐4827 (2005) .

Page 3: Lecture #1 Introduction to FDTD

8/22/2016

3

Lecture 1 Slide 5

Simulation Example ‐‐ RADAR

Lecture 1 Slide 6

Simulation Example ‐‐ RADAR

Page 4: Lecture #1 Introduction to FDTD

8/22/2016

4

Lecture 1 Slide 7

Time‐Domain Vs. Frequency‐Domain

Time‐Domain Solution

Frequency‐Domain Solution

Here we can watch the fields evolve over time.

We can observe the transient response.

Here we only see snapshot of the field after a “long” time has passed.

We cannot directly observe the transient response.

Theory of FDTD

Page 5: Lecture #1 Introduction to FDTD

8/22/2016

5

Lecture 1 Slide 9

The Math Behind FDTD

Maxwell’s Equations

1

H HE E

t t

1

E EH H

t t

Finite‐Difference Approximations

2 21 1

t tH t H tHE E t

t t

2

1 1 t

E t t E tEH H t

t t

Update Equations

2 22 2

1

t tt t

H t H t tE t H t H t E t

t

2 2

1 t t

E t t E t tH t E t t E t H t

t

Lecture 1 Slide 10

FDTD Algorithm (1 of 6)

Finished!no

yes

This is the basic FDTD algorithm, but it is still missing some functionality.

How does power (a wave) enter the problem?

Update E from H

E H

Update H from E

H E

Done?

Set all Fields to zero

0E H

2 2t t t

H t H t E t

2tt

E t t E t H t

Loop over time

t

Page 6: Lecture #1 Introduction to FDTD

8/22/2016

6

Lecture 1 Slide 11

FDTD Algorithm (2 of 6)

Finished!no

yes

We incorporate a source by overwriting some of the field values during the simulation.

But how do we know what is happening while the model is running?

Update E from H

E H

Handle E‐Field Source

Update H from E

H E

Handle H‐Field Source

Done?

Set all Fields to zero

0E H

Loop over time

t

Lecture 1 Slide 12

FDTD Algorithm (3 of 6)

Finished!no

yes

Now we can watch the fields move through the problem space.

But we also need to do something at the grid boundaries to prevent reflections.

Update E from H

E H

Handle E‐Field Source

Update H from E

H E

Handle H‐Field Source

Done?

Set all Fields to zero

0E H

Loop over time

t

Show Simulation Status

Page 7: Lecture #1 Introduction to FDTD

8/22/2016

7

Lecture 1 Slide 13

FDTD Algorithm (4 of 6)

Finished!no

yes

Now we have a fully functional FDTD model of our device.  

But now we need to record data and calculate meaningful parameters such as reflected energy.

Update E from H

E H

Handle E‐Field Boundaries

Handle E‐Field Source

Update H from E

H E

Handle H‐Field Boundaries

Handle H‐Field Source

Done?

Set all Fields to zero

0E H

Show Simulation Status

Loop over time

t

Lecture 1 Slide 14

FDTD Algorithm (5 of 6)

Finished!no

yes

Now we have a good model and can get meaningful data from it.

How do we incorporate materials and properties such as dispersion, nonlinearities, etc?

Update E from H

E H

Handle E‐Field Boundaries

Handle E‐Field Source

Update H from E

H E

Handle H‐Field Boundaries

Handle H‐Field Source

Done?

Set all Fields to zero

0E H

Post‐Process Recorded Data

Record Simulation Data

Show Simulation Status

Loop over time

t

Page 8: Lecture #1 Introduction to FDTD

8/22/2016

8

Lecture 1 Slide 15

FDTD Algorithm (6 of 6)

Finished!no

yes

This is the full FDTD algorithm.

Update D from H

D H

Update E from D

E D

Handle E‐Field Boundaries

Handle E‐Field Source

Update B from E

B E

Update H from B

H B

Handle H‐Field Boundaries

Handle H‐Field Source

Record Simulation Data

Show Simulation Status

Done?

Set all Fields to zero

0E H

Post‐Process Recorded Data

D E

B H

Loop over time

t

Benefits of FDTD

• Excellent for large scale simulations– It is said that numerical complexity 

scales linearly with problem size.  Typically, methods scale exponentially.

– Easily parallelized.

• Excellent for broadband and/or transient simulations.

• Accurate, robust, and mature method.– Sources of error are well understood and 

it is a proven method in many fields.– Lots of literature available

• Naturally handles nonlinear behavior– Directly handles nonlinearities due to nonlinear 

materials or incorporation of circuit elements.

• Great for learning electromagnetics– Field animations and direct simulation of Maxwell’s 

equations make FDTD a great learning tool.

• When all else fails, FDTD does not!

Lecture 1 Slide 16

Page 9: Lecture #1 Introduction to FDTD

8/22/2016

9

Drawbacks of FDTD

• Tedious to incorporate dispersion

• Tedious to incorporate PML

• Structured grid does not efficiently represent curved surfaces

• Slow for small devices

• Very inefficient for highly resonant devices.

Lecture 1 Slide 17

Lecture 1 Slide 18

Time‐Domain Simulation of Highly Resonant Devices

Steady‐State Transient

Page 10: Lecture #1 Introduction to FDTD

8/22/2016

10

For More Information on FDTD

• http://en.wikipedia.org/wiki/Finite‐difference_time‐domain_method

• http://www.fdtd.org/

• For a simpler introduction

– Dennis M. Sullivan, Electromagnetic Simulation Using the FDTD Method, IEEE Press.

• For more advanced topics

– Allen Taflove, et al, Advances in FDTD Computational Electrodynamics, Artech House.

Lecture 1 Slide 19

How We Will Implement FDTD

in This Class

Page 11: Lecture #1 Introduction to FDTD

8/22/2016

11

Lecture 1 Slide 21

Step 1 – Basic 1D‐FDTD Algorithm

• Basic update equations

Lecture 1 Slide 22

Step 2 – Add Simple Soft Source

• Basic update equations• Add a soft source

Page 12: Lecture #1 Introduction to FDTD

8/22/2016

12

Lecture 1 Slide 23

Step 3 – Add Absorbing Boundary

• Basic update equations• Add a soft source• Add perfect boundary 

condition

Lecture 1 Slide 24

Step 4 – Add TF/SF

• Basic update equations• Add a soft source• Add perfect boundary 

condition• Incorporate TF/SF “one‐

way” source

Page 13: Lecture #1 Introduction to FDTD

8/22/2016

13

Lecture 1 Slide 25

Step 5 – Move Source & Add T/R

• Basic update equations• Add a soft source• Add perfect boundary 

condition• Incorporate TF/SF “one‐

way” source• Move position of source• Calculate transmittance 

and reflectance

Lecture 1 Slide 26

Step 6 – Add Device (Complete 1D FDTD)

• Basic update equations• Add a soft source• Add perfect boundary 

condition• Incorporate TF/SF “one‐

way” source• Move position of source• Calculate transmittance 

and reflectance• Add a real device

Page 14: Lecture #1 Introduction to FDTD

8/22/2016

14

Lecture 1 Slide 27

Step 7 – Basic 2D‐FDTD Update Equations

The basic update equations are implemented along with simple Dirichlet boundary conditions.

Lecture 1 Slide 28

Step 8 – Incorporate Periodic Boundaries

Periodic boundary conditions are incorporated so that a wave leaving the grid reenters the grid at the other side.

Page 15: Lecture #1 Introduction to FDTD

8/22/2016

15

Lecture 1 Slide 29

Step 9 – Incorporate a PML

The perfectly matched layer absorbing boundary condition is incorporated to absorb outgoing waves.

Lecture 1 Slide 30

Step 10 – Total‐Field/Scattered‐Field

We use periodic boundaries for the horizontal axis and the PML for the vertical axis.  When then implement TF/SF at the center vertically.

Page 16: Lecture #1 Introduction to FDTD

8/22/2016

16

Lecture 1 Slide 31

Step 11 – Calculate TRN, REF, and CON

We move the TF/SF interface to a unit cell or two outside the top PML.  We include code to calculate Fourier transforms and then transmittance, reflectance, and conservation of energy.

Lecture 1 Slide 32

Step 12 – Add Device (Complete 2D FDTD)

We build a device on the grid that has a known solution.  We run the simulation and duplicate the known results to benchmark the code.

Page 17: Lecture #1 Introduction to FDTD

8/22/2016

17

Lecture 1 Slide 33

Step 13 – Waveguide Analysis

Lecture 1 Slide 34

Summary of Code Development Sequence for 1D FDTD

Step 1 – Implement basic FDTD algorithm Step 2 – Add the source

Step 3 – Add absorbing boundary Step 4 – Add “one‐way” source

Step 5 – Calculate transmittance and reflectance

Step 6 – Add a device

Page 18: Lecture #1 Introduction to FDTD

8/22/2016

18

Lecture 1 Slide 35

Summary of Code Development Sequence for 2D FDTD

Step 7 – Basic Update + Dirichlet

Step 8 – Basic Update + Periodic BC

Step 9 – Add PML Step 10 – TF/SF

Step 11 – Calculate Response Step 12 – Add a Device and Benchmark