ToyFDTD3

What is this? ToyFDTD3 adds 4 simple features to ToyFDTD1:

-Perfect Magnetic Conductor (PMC) boundary condition
-Sinusoidal pulse source, rather than continuous plane wave
-Tracking a field component at a single point in the mesh to an output file
-Scaling the output uniformly for all timesteps rather than autoscaling every timestep

Like ToyFDTD1, ToyFDTD3 is a very simple, heavily-commented 3-D FDTD code published under the GNU General Public License as part of the ToyFDTD series of codes.

Language: C   (F90 coming soon)

Author: Laurie E. Miller

Why is it here? I collected the particular simulation and set of features found here into one piece of code to provide a convenient platform (read cheap hack) for quick experiments with Absorbing Boundary Conditions (ABCs). Anytime I want to mess with a new boundary condition, I slap it into the waveguide's terminating face (i = nx, yeah, I know it's weird, but I use x as my direction of propagation instead of z. It's a conspiracy...). The mesh is very small, so it runs quickly and gives a fast idea of performance under normal incidence. And because of the way the guide is sourced, the ABC can initially be written to only compute the Ez field components on the terminating face since the Ey values contribute little. The Ey calculations and other faces can be added after the algorithm is working properly.

Simulations run with ToyFDTD3: The following animations show the problems simulated by ToyFDTD3. The problems are modified from the problem simulated by ToyFDTD1 by the addition of the PMC symmetry and/or the change to a sinusoidal pulse source from a continuous wave source.
All simulations show waveguides at 10 GHz with PEC (Perfect Electric Conductor) terminations.

Parallel-plate waveguide with a sinusoidal pulse stimulus. The code simulates an idealized parallel-plate waveguide of infinite width by treating the interior of the mesh as free space/air while applying PMC (Perfect Magnetic Conductor) symmetry on two faces of the mesh and PEC conditions on the remaining faces.
Parallel-plate waveguide with a continuous wave stimulus.
Rectangular waveguide with a pulse stimulus. The sides of the guide are PEC rather than PMC, making it a rectangular rather than parallel-plate guide.
Rectangular waveguide with a cw stimulus.
What the colors mean: The entire simulation region is highlighted with a box. Red/Yellow indicates positive values, with yellow representing the greatest intensities and red representing values near zero. Blue/Green indicates negative, green the greatest intensities and blue values near zero.
Two kinds of color scaling are used. Autoscaling every timestep scales the field intensities in that timestep to the full range of color values. This means that dim timesteps will look as bright as intense ones, but the structure of the fields in the dim timesteps will show well. Autoscaling is used unless global scaling is specified. Global scaling over all timesteps scales the entire simulation as a whole. Dim timesteps will barely show anything visible, but you get a good idea of intensity variation over time.

 Movies:  256x256 mpeg, 500 frames [.96Mb]  512x512 mpeg, 500 frames [2.1Mb] Images:    256x256 gif [76Kb]    512x512 gif [0.3Mb]

 Movies:  256x256 mpeg, 500 frames [1.2Mb]  512x512 mpeg, 500 frames [4.8Mb] Images:    256x256 gif [76Kb]    512x512 gif [0.3Mb]

 Movies:  256x256 mpeg, 500 frames [1.2Mb]  512x512 mpeg, 500 frames [4.8Mb] Images:    256x256 gif [76Kb]    512x512 gif [0.3Mb]

 Movies:  256x256 mpeg, 500 frames [.8Mb]  512x512 mpeg, 500 frames [3.4Mb] Images:    256x256 gif [76Kb]    512x512 gif [0.3Mb]

 Movies:  256x256 mpeg, 500 frames [.56Mb]  512x512 mpeg, 500 frames [2.2Mb] Images:    256x256 gif [76Kb]    512x512 gif [0.3Mb]

 Movies:  256x256 mpeg, 500 frames [1.4Mb]  512x512 mpeg, 500 frames [4.0Mb] Images:    256x256 gif [76Kb]    512x512 gif [0.3Mb]

View ToyFDTD3 C code
compressed: ToyFDTD3-v1.0.tar.gz
uncompressed: ToyFDTD3-v1.0.tar
Changelog

You'll want to check out the README file that comes with the code for some helpful instructions. For info on un-compressing or un-tarring the tar files, see the ToyFAQ.

Release History:

 ToyFDTD3 1.0 was released on 15 June, 1999.

References: ToyFDTD1, Paul Hayes.

Contact the perpetrators:
lemiller@borg.umn.edu

Waves of the future: (click on the pretty logo to get there):