On Fri, 3 Nov 2006, Zhichao Ruan wrote:
I calculate a two-dimensional structure which is periodic along the
y-direction and mirror-symmetric about z=0 plane. The following ctl
file is used to obtain the resonate frequency of the Bloch mode with
ky=0.5*2pi/a. If I did not add the symmetry, the results are correct. It
is very surprising that Meep does not give any resonate frequency when I
add the symmetry restriction.
The problem is that you don't have an even z=0 mirror symmetry plane, you
have an *odd* z=0 mirror symmetry plane. You are specifying a symmetry
violated by your source, and so the results are unpredictable.
(set! sources (list
(make source
(src (make gaussian-src (frequency fcen) (fwidth df)))
(component Hx) (center 0 (/ 1 16) 0))
))
(set! symmetries (list (make mirror-sym (direction Z))))
You have an Hx source at z=0. It may seem like this is even with
respect to z=0, but it is in fact odd. The reason is that the magnetic
field is not a vector, it is a pseudovector, and so it gets multiplied by
-1 under mirror reflections. See:
http://ab-initio.mit.edu/wiki/index.php/Exploiting_symmetry_in_Meep
The vector/pseudovector distinction is not pedantry, it is central to
understanding the consequences of symmetry for the electromagnetic field:
it means that the consequences of symmetry are different for the the
electric field (a vector) and the magnetic field (a pseudovector).
So, what you want is something like:
(set! symmetries (list (make mirror-sym (direction Z) (phase -1))))
where the (phase -1) means that the mirror plane is odd.
Steven
_______________________________________________
meep-discuss mailing list
[email protected]
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss