Another option would be to define an amplitude-recording-plane: for
instance, knowing the Ex-field and Hy-field, one can easily separate
the amplitudes of both forward- and backward-propagating waves along
the z-axis. The usual scattering problems with properly absorbing
boundaries then require only single simulation, because the
inward-propagating wave is the same as if there was no scatterer
(verified numerically!).

Currently, I use such a feature in my metamaterial-simulation scripts
https://github.com/FilipDominec/meep_metamaterials, but it often
accounts for over 10 % of CPU load as it is implemented in high-level
language that calls the get_field() procedure for multiple points each
step.

I believe it has to be fairly easy to implement in C, but last time I
got lost in the MEEP code. I will appreciate an outline how to start
and what to do - then I am going to try it again and make a patch.

Filip

> This is why we tend to recommend using a separate simulation (with no
> scatterer) for normalization purposes, to get the incident flux, as in the
> Meep tutorial.

_______________________________________________
meep-discuss mailing list
meep-discuss@ab-initio.mit.edu
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

Reply via email to