ToyFDTD logo
 

ToyFDTD3

 Image from a ToyFDTD3 simulation
 Image from a ToyFDTD3 simulation
 Image from a ToyFDTD3 simulation
 Image from a ToyFDTD3 simulation


Return to ToyFDTD Home


 red bullet 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.

 red bullet Language: C   (F90 coming soon)

 red bullet Author: Laurie E. Miller

 red bullet 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.

 red bullet 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. 

 Image of parallel-plate guide with pulse source  Movies:
  blue dot 256x256 mpeg, 500 frames [.96Mb]
  blue dot 512x512 mpeg, 500 frames [2.1Mb]
   Images:
   red dot 256x256 gif [76Kb]
   red dot 512x512 gif [0.3Mb] 
Parallel-plate waveguide with pulse source at 10.0 GHz. The initial pulse is positive as shown in the gif above, but when the pulse strikes the PEC termination the reflection is negative, shown in the animation in blues and greens.

 Image of parallel-plate guide with continuous source  Movies:
  blue dot 256x256 mpeg, 500 frames [1.2Mb]
  blue dot 512x512 mpeg, 500 frames [4.8Mb]
   Images:
   red dot 256x256 gif [76Kb]
   red dot 512x512 gif [0.3Mb] 
Parallel-plate waveguide with continuous plane wave source at 10.0 GHz. Note the standing wave that quickly develops.

 Image of parallel-plate guide with continuous source  Movies:
  blue dot 256x256 mpeg, 500 frames [1.2Mb]
  blue dot 512x512 mpeg, 500 frames [4.8Mb]
   Images:
   red dot 256x256 gif [76Kb]
   red dot 512x512 gif [0.3Mb] 
Parallel-plate waveguide with continuous plane wave source at 10.0 GHz. The range of colors is scaled globally for all timesteps, for contrast with the previous animation. As a result, only colors representing lower intensities are present early in the simulation.

 Image of rectangular guide with pulse source  Movies:
  blue dot 256x256 mpeg, 500 frames [.8Mb]
  blue dot 512x512 mpeg, 500 frames [3.4Mb]
   Images:
   red dot 256x256 gif [76Kb]
   red dot 512x512 gif [0.3Mb] 
Rectangular waveguide with pulse source at 10.0 GHz. Note the smearing of the pulse by the guide: The transfer characteristic of the waveguide does not include all of the frequency content of the pulse.

 Image of rectangular guide with pulse source  Movies:
  blue dot 256x256 mpeg, 500 frames [.56Mb]
  blue dot 512x512 mpeg, 500 frames [2.2Mb]
   Images:
   red dot 256x256 gif [76Kb]
   red dot 512x512 gif [0.3Mb] 
Rectangular waveguide with pulse source at 10.0 GHz. Note the smearing of the pulse by the guide: The transfer characteristic of the waveguide does not include all of the frequency content of the pulse. The range of colors is scaled globally for all timesteps for contrast with the previous animation.

 Image of rectangular guide with continuous source  Movies:
  blue dot 256x256 mpeg, 500 frames [1.4Mb]
  blue dot 512x512 mpeg, 500 frames [4.0Mb]
   Images:
   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 ToyFDTD3 C code
Download ToyFDTD3 source:
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.

 red bullet Release History:

 ToyFDTD3 1.0 was released on 15 June, 1999. 


 red bullet References: ToyFDTD1, Paul Hayes.


 red bullet Contact the perpetrators:
lemiller@borg.umn.edu


 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