|
Return to ToyFDTD Home
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.
|