Skip to content

Finite difference time domain electrodynamics simulation

Notifications You must be signed in to change notification settings

gernot-ohner/fdtd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

FDTD simulation

For my bachelor thesis in physics, I investigated FDTD simulations using Python

The finite difference time domain method, in short FDTD, is used to numerically compute the propagation of electromagnetic waves, that is, to solve the Maxwell equations for arbitrary environments.

FDTD simulation with various features of low/high permittivity

This is a sample image of a FDTD simulation in 2 dimensions. Features of note:

  • a pulsing point source at (50, 50)
  • a luneburg lens with a focal point around (20, 90)
  • a "bar" of low (high?) permittivity from (25, 40) to (40, 25)
  • an area of perfect conductivity in the bottom right corner
  • an absorbing boundary (otherwise, the limits of the simulation act like perfect reflectors, c.f. the following image)

Comparison of 1d simulations with and without absorbing boundary conditions, taken from Ohner 2018

Usage

As is custom for scientific code, the usability is sub-optimal. The following steps are required to get a simulation running

Prerequisites:

  1. install python and pip
  2. install the following Python packages via pip: numpy, scipy, matplotlib

Usage:

  1. change the action and pml values in main.py to their desired values
  2. python main.py

About

Finite difference time domain electrodynamics simulation

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages