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

Reply via email to