Recent work has discretised Maxwell's equations for implementation in an Order N electromagnetism program via a Finite Difference Time Domain scheme. The program is written in Fortran 90. At the moment the code can perform two basic types of calculation.
The first is a band structure calculation, which starts off with an arbitrary set of initial fields corresponding to some wavevector k, integrates in time storing the fields at some random sampling points and then Fourier transforms into the frequency domain. The peaks in the frequency spectrum correspond to the frequencies the the allowed modes.
The second type of calculation finds the time dependent Green's function by setting the initial fields to be a delta function in space for one of the field components, zero for all the others. The fields are integrated in time and stored at each time step to give g(t,r,r'). Fourier transforming gives G(omega,r,r').
Documentation is available in PostScript format, or download the LaTeX documentation files, onyx_doc.tar.gz or onyx_doc.zip. If you do not have software to read PostScript files, the GhostScript Hompage provides, or provides links to, software and documentation for most operating systems. The source code is freely available in either a .tar.gz or .zip archive.