On Fri, 27 Oct 2006, Loïc Le Guyader wrote:
Suppose the computation cell size is L in the X direction. I want to say that
this cell is in fact a unit cell and that I have a periodicity of L in the X
direction, I do then:
(set! k-point (vector3 1 0 0))
(set! ensure-periodicity true)

If this is right (and it seems), then I don't understand how I can define in
addition the same for the Y direction.

I would like to do a:
(set! k-point (list (vector3 1 0 0)
                   (vector3 0 1 0)))

I think you are confused about the meaning of the k-point. If you set the k-point to *any* vector, the structure will be periodic in *all* directions. (There is a way to do a mix of periodic and metalli boundaries, but it is somewhat hidden in the libctl interface.)

The value of the k-point determines the phase relation between the fields (and sources) in adjacent periodic cells, where in general the if you have period (Lx,Ly) and you are looking at the (n,m) unit cell it has a phase of exp(2*pi*i * (kx * Lx * n + ky * Ly * m)).

For example, if you set the k-point to (vector3 0 0 0), that means the fields/sources are periodic (the phase is unity from one cell to the next).

If you set the k-point to (1,0,0) it means that there is a phase difference of exp(2*pi*L) between adjacent cells in the x direction.

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

Reply via email to