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