ToyFDTD logo

 Image from a ToyFDTD simulation

 red bullet What's new:

25 August: I've started a ToyFDTD Discussion Board so we can all swap help and horror stories. I get emails from the world over talking about similar problems, so a discussion forum could solve problems for a lot of us.

24 August: I'm not dead, I swear. But ToyFDTD is going on the back burner for the time being. I'm still suffering complications from the pneumonia I got last spring, and my current research deals with ocean simulations rather than electromagnetics. But I'll see to it that the site stays up, and I'll add things when I can.

As of Fall 99: ToyFDTD has moved! These pages get so many hits we put them on their own server back in late 1999. (Imagine me delirious with joy :-) The new url is toyfdtd

 Image from a ToyFDTD simulation

The ToyFDTD pages

 red bullet Contributors  red bullet R&R: References&Referrals

 red bullet Simulation pages

 red bullet The ToyFDTD Faq
      blue bullet Waveguides page       blue bullet Sanity Savers and FDTD
      blue bullet Waveguide montages       blue bullet C vs. F90 Floating-point differences

ToyFDTD code catalog:

 Link to ToyFDTD ToyFDTD1 is a stripped-down minimalist, 3D FDTD code demonstrating the basic tasks in implementing a simple 3D FDTD simulation. An idealized rectangular waveguide is modeled by treating the interior of the mesh as free space and enforcing PEC conditions on the faces of the mesh. A simplified plane wave source is inserted at one end. First released 12 April 1999. Version 1.03 released 2 December 1999.
 Link to ToyFDTD2  ToyFDTD2: builds an alternate memory allocation scheme into ToyFDTD1. Contributed by John Schneider, it guarantees that the data arrays are contiguous, which the ToyFDTD1 scheme does not. Released 6 December, 1999.
 Link to ToyFDTD3 ToyFDTD3: This simple simulation of a pulse traveling down a parallel-plate guide makes a handy test code for initial experiments with boundary conditions. ToyFDTD3 adds some simple features to ToyFDTD1: A PMC boundary condition, a sinusoidal pulse source, and output tracking a single point in the mesh. Released 15 June 1999.
 Link to ToyFDTD4 ToyFDTD4: simulates a point source in free space, with Mur absorbing boundaries. Contributed by Bai Ming, ToyFDTD4 is written in Pascal and intended for a windows platform. Output is to Viz5d. Released September 1999.
 Link to ToyFDTD5 ToyFDTD5: builds 3 new features into ToyFDTD1: a command-line option for choosing which field to output, modularization of the code into separate files, and a 2D raw-data output scheme. ToyFDTD5 also demonstrates a platform-independent 2D animation method created by John Schneider, Patrick Flynn, and Kurt Shlager. Release will come whenever I can figure out where I left off before the pneumonia hit.
 Image from a ToyFDTD simulation
 Image from a ToyFDTD simulation
 Image from a ToyFDTD simulation
 Image from a ToyFDTD simulation

About ToyFDTD

 red bullet What is this? ToyFDTD is a series of heavily-commented source codes demonstrating implementation of 3-dimensional FDTD capabilities and published under the GNU General Public License. The first in the series, ToyFDTD1, is a stripped-down, minimalist, 3D FDTD code illustrating the basic tasks in implementing a simple 3D FDTD simulation.

 red bullet Why is it here? Because it seemed like a good idea at the time... ;) We published ToyFDTD1 on 12 April, 1999 mostly just to see what would happen. There were 252 downloads of the source code in the first 17 days - the first download came half an hour after we published the link - and the hit count was staggering. I'd been expecting 2 or 3 downloads of the source on exciting days. More people than I'd thought had ever heard of computational electromagnetics have been surfing the site. Based on the web site stats and the kindly souls who've been telling me this is a useful resource, I'm trying to crank out some more pages. School permitting of course - I was supposed to be studying for finals when I was writing this. Anyway, FDTD for everyone!!!

 red bullet Who put it here? ToyFDTD is brought to you by Laurie E. Miller, Paul R. Hayes, and Matthew T. O'Keefe of the Borg Group at the University of Minnesota. Contributions come from the UofM and outside contributors.

 red bullet Why a GNU General Public License? We want people to be able to use and modify these source codes and the GNU GPL provides a ready-made process for that. We also want to make sure that wherever the code may wander, people can get copies of the original source if they want it.

 red bullet So What is FDTD anyway? This site is written assuming you already know. But, briefly, FDTD is a method for predicting and studying electromagnetic effects through computation, rather than analysis or experiment. The acronym FDTD stands for Finite-Difference Time-Domain. The method uses a first-order finite-difference approximation of the differential form of Maxwell's equations to calculate the field intensity values at every point in space for every increment in time over a specified simulation range.
          For more thorough introductory information on FDTD, some of my favorite books are listed on the References page. If you know of some good ones that aren't there, email me the names!

 red bullet Contacting the perpetrators:

L. E. Miller
Paul R. Hayes
M. O'Keefe
(We are borg. Resistance is, uh, feudal? ;-)
Department of Electrical and
Computer Engineering
University of Minnesota

200 Union St. SE
Minneapolis, MN 55455

 red bullet About the spiffy logo:

 ToyFDTD logo

The image that forms the background of the logo is from a simulation run using ToyFDTD1 viewed using AnimaBob. Thank you to J-D Harrington for designing the cool logo and for all-around graphical wizardry.

 Colorbar made using a ToyFDTD simulation