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

Reply via email to