On Mon, 19 Mar 2007, bigbigfat wrote:
I'm trying to calculate the gap map of the hexagon structure in square and triangular lattice. It's OK to define the structure in square lattice by using overlapping of three blocks:
 (set! geometry (list
                       (make block (center 0) (material air)(size r c infinity 
))
                       (make block (center 0) (material air)(size r c 
infinity)(e1 0.5 (/(sqrt 3) -2) 0) (e2 (/(sqrt 3) 2) 0.5 0))
                       (make block (center 0) (material air)(size r c infinity 
) (e1 0.5 (/(sqrt 3) 2) 0 ) (e2 (/(sqrt 3) -2) 0.5 0))))

But the pattern goes wrong when I use the same overlapping in triangular lattice.What's the mistake did I make? How to define the hexagon structure in a triangular lattice?

Remember that the e1/e2/e3 directions are specified in the lattice basis, which changes in a triangular lattice so that the above blocks are no longer rectangles. Instead, I generally do something like:

(define C->L (compose cartesian->lattice vector3))
(define (hexagon r c m)
  (list
   (make block (center c) (material m) (size (* r (sqrt 4/3)) (* 2 r))
         (e1 (C->L 1 0)) (e2 (C->L 0 1)))
   (make block (center c) (material m) (size (* r (sqrt 4/3)) (* 2 r))
         (e2 (C->L (/ (sqrt 3) 2) 0.5)) (e1 (C->L -0.5 (/ (sqrt 3) 2))))
   (make block (center c) (material m) (size (* r (sqrt 4/3)) (* 2 r))
         (e2 (C->L (/ (sqrt 3) 2) -0.5)) (e1 (C->L 0.5 (/ (sqrt 3) 2))))
   ))

where c is the center, m is the material, and r is the radius of the inscribed circle.

Steven

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

Reply via email to