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