Your example has numerous problems.
First, your computational cell size is too small to really observe the
wavelength anyway, since it is only half a wavelength in diameter and your
source is at the center, so it only has 1/4 wavelength to propagate before
it reaches the edge of the cell.
Second, your PML thickness is only 10mm, or 1/10 of your wavelength
(100mm), which is probably too thin. Also, note that the PML layer is
*inside* the boundary of your cell, which means that your computational
cell is even smaller than you think: the region inside the PML is only
30mm by 30mm, or 1/3 of a wavelength.
Third, your resolution is far larger than you need. You specified a
resolution of "10", and since your units are mm, this means you have 1000
pixels per wavelength. You should see an accurate picture with only 20
pixels per wavelength, or a resolution of 0.2 pixels/mm.
Fourth, you are running for a ridiculously short time. Since you have a
wavelength of 100, then in Meep units (time = distance since c=1), the
period is 100. So, you are running for a time of 200, or only 2 periods.
This is not long enough for the fields to reach steady state.
Fifth, the default is for the source to turn on suddenly at t=0, which
means that over short timescales you will get all sorts of high-frequency
transient effects. You can use the "width" parameter of continuous-src to
cause it to turn on gradually.
Sixth, you are outputting every 1 time unit, or 100 times per period.
This is probably more than you want, since outputting 10 times per period
is usually plenty in order to see a nice smooth animation.
Seventh, you don't need (exit) at the end. Meep will quit automatically
at the end as long as you have at least one "run" statement, unless you
set interactive? to true at the end.
Correct these problems, and you should see what you expect.
Cordially,
Steven G. Johnson
_______________________________________________
meep-discuss mailing list
[email protected]
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss