On Jul 30, 2008, at 12:08 PM, M Katzeimasack wrote: > i was wandering, but could not find any hint for it, if meep allows > to restrict field updates to regions that lie in the event horizon > of field sources. In my opinion this could speed up some simulation > up to a factor of two and is probably not to hard to implement.
I doubt that this would give much speedup in most cases, as in my experience most of the simulation time is spent after the entire computational cell is within the "future light cone" of the sources. This is especially true for the most difficult simulations, which involve narrow-bandwidth phenomena such as resonance modes. A more sophisticated version of this idea is to asynchronously update the grid by timestepping for several steps in a local region based on the cone of dependence of the fields, which takes advantage of the finite propagation velocity at *all* times, not just immediately after the source has turned on. This improves cache behavior by increasing locality; a good friend of mine wrote an interesting paper on this technique: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.100.8706 Unfortunately, asynchronous time-stepping is much more difficult to implement, especially when you are not just timestepping but are also occasionally outputting fields or computing things with the fields -- you need to keep track of when these things occur and synchronize them with the fields. There are easier things that could be done in the near term to speed things up, like exploiting SSE2 instructions, or merging the timestepping and constituent equations, at least for isotropic materials. (Currently, we first timestep e.g. D by the curl equation, then compute E from D in a separate loop; similarly for H and B. This greatly reduces the code size required to implement a wide variety of materials, and also makes it much easier to implement anisotropic materials, but it hurts cache locality and hence slows down things by a nonnegligible factor.) Steven _______________________________________________ meep-discuss mailing list [email protected] http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

