The libctl interface does the epsilon averaging more accurately than the C++ interface (and much more quickly) because it can exploit the analytical form of the geometric shapes, as well as adaptive cubature routines provided by libctl.

Also, the libctl interface calls volume::center_origin() to put the origin at the center of the cell (it is at the corner by default in C++), which could cause differences in the gridding depending on the size of the cell, because it always rounds the origin to the nearest grid point.

Some combination of these two probably explains any slight differences you are seeing in the results.

Steven

On Tue, 17 Oct 2006, matt wrote:
I'm trying to reproduce the results of the band diagram calculation on the example page using the c interface.

holey-wvg-bands example:
http://ab-initio.mit.edu/wiki/index.php/Meep_Tutorial/Band_diagram%2C_resonant_modes%2C_and_transmission_in_a_holey_waveguide#Band_diagram

I noticed that my c results are not quite the same as the libctl results, and I was trying to figure out why.

h5topng showed no obvious differences in dielectric functions, but a closer inspection using h5diff revealed some significant differences, apparently near the boundary of the cylindrical hole.

_______________________________________________
meep-discuss mailing list
[email protected]
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

Reply via email to