ToyFDTD logo


 Image from a ToyFDTD2 simulation
 Image from a ToyFDTD2 simulation
 Image from a ToyFDTD2 simulation

Return to ToyFDTD Home

 red bullet What is this? ToyFDTD2 builds an alternate memory allocation scheme into ToyFDTD1. This new scheme forces the field update arrays to be contiguous, which the ToyFDTD1 scheme does not.
           Like ToyFDTD1, ToyFDTD2 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.

 red bullet Language: C

 red bullet Author: John Schneider

 red bullet Why it's cool:

 red bullet Forcing the data arrays to be contiguous will make the code run faster in many circumstances. The speedup is platform-dependent, but addressing this issue is crucial in running large, complex problems.
 red bullet Uses spiffy macros to handle array accessing, which makes the code easy to read
 red bullet Makes you stop to think not just about how the data is stored, but how you get at it -- another crucial issue when things start to get fancy.

 red bullet Simulations run with ToyFDTD2: The code simulates the same problem as ToyFDTD1. The results are identical; comparison of the floating-point results showed no differences. The animation below was made from running the ToyFDTD2 code for comparison with ToyFDTD1 results.
           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. 

 Image of rectangular guide with continuous source  Movies:
  blue dot 256x256 mpeg, 500 frames [1.4Mb]
  blue dot 512x512 mpeg, 500 frames [4.0Mb]
   red dot 256x256 gif [76Kb]
   red dot 512x512 gif [0.3Mb] 
Rectangular waveguide with continuous plane wave source at 10.0 GHz, operating in TE10 mode.

 red bullet So where's the source already?

View ToyFDTD2 C code
Download ToyFDTD2 source:
compressed: ToyFDTD2-v1.0.tar.gz
uncompressed: ToyFDTD2-v1.0.tar

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.

 red bullet Release History:

 ToyFDTD2 1.0 was released on 6 December, 1999. 

 red bullet References: ToyFDTD1.

 red bullet Contact the perpetrators:

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

 Link to ToyFDTD main page

   Colorbar made from a ToyFDTD simulation