Our goal while at the University of Minnesota Electrical Engineering Department was to offer a variety of software packages for working with computational electromagnetics methods.  Many excellent codes are available in source form or executable binaries.  However, there appears to be a gap between published information and code available for a novice or other interested party to study or utilize in their own coding efforts.  In one sense, this needlessly forces researchers in the area to recreate what could be commonly utilized code and artificially slows the pace and validation of research in the area.  Partly, this effort is to fill the gap.  In order to do this, each ''Toy'' code will be commented and coded to illustrate the particular concept.  This should yield a code base which may easily expanded to illustrate particular features, algorithms and coding strategies as the ''ToyAirport'' and ''ToyBox'' codes.


In order to maintain consistency, the names of the codes and areas should remain as indicated here.  This is not because we have a particular affinity for them, but because having the name appear elsewhere with different code or a different philosophy would create confusion and possibly make the creation of a community of developers more difficult.  If you have code, suggestions or simulations based off these examples or the ones to come, please send them back to CEMTACH This email address is being protected from spambots. You need JavaScript enabled to view it. .  You will be given credit for the work you have performed.  We don''t and never will claim to have exclusive rights to these methods or the development of them.  In keeping with this method of operation, the codes below have been released under the GNU Public License (GPL.txt).

  • streamAnim is a fast, memory-conserving, animation routine. The user specifies a list of image files via command line or a file list and streamAnim reads each file in turn, displays and continues. Currently using imlib and Xwindows calls, it should work with a wide variety of Unix/Linux installations. Beta versions incorporate other image libraries and windowing systems and will be released later.
  • h5load2.m is a MATLAB helper script to load data stored in a HDF5 file into a MATLAB variable with "human readable" hierarchy gathered dynamically from the HDF5 file. This version acquires HDF5 attributes assigned to the HDF5 groups and datasets.
  • ToyTLM is a 3D TLM program as the first code in the ToyBoxTLM series of 3D TLM codes.
  • ToyAirport is a suite of two dimensional codes in Finite-Difference Time-Domain to illustrate basics of the method.
  • PulseTLM is a more full-featured 3D TLM program with an input language that allows a wide variety of EM systems to be solved.  PulseTLM allows a variety of input (ex, ey, ez, hx, hy, hz) crossed with (impulse, sin, exp) sourcing and output display (ex, ey, ez, hx, hy, hz, |e|, |h|) crossed with (viz, BoB, pnm, dat, grace, binary) options.   This is currently in alpha stage, however has passed several canonical tests.  This is the simulation engine where the ideas, algorithms and  coding strategies tested in the Toy and ToyPlane variants will be integrated.