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

Reply via email to