Finding Brillouin zones: A visual guide.

July 8, 2010 at 00:43 - by eelvex   |   no comments (Leave a comment)

Share on RedditShare on FacebookShare on Google+Tweet about this on TwitterShare on StumbleUponPrint this page

[TOC]

Square lattice

Hexagonal lattice

Code for diagrams

Diagrams made in asymptote:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
size(8cm,0);
unitsize(1cm,1cm);
import geometry;

pair O=(0,0);
pair a, mid;

line l,lp;

dot(O,blue);

int N = 5;

fill((-N,-N)--(-N,N)--(N,N)--(N,-N)--cycle,white);

// Lattice and bragg planes.
for (int i=-N; i<=N; ++i) {
    for (int j=-N; j<=N; ++j) {
        a = (i,j);
        if (a == O) continue;
        dot(a);
        l = line(O,a);
        mid=(O+a)/2.;
        lp = perpendicular(mid,l);
        draw(lp,lightblue+0.3);
    }
}

// 1st  brillouin zone for  square lattice.
filldraw((0.5,0.5)--(-0.5,0.5)--(-0.5,-0.5)--(0.5,-0.5)--cycle, lightgrey);

// 2nd brillouin zone for square lattice.
filldraw((0.5,0.5)--(1,0)--(0.5,-0.5)--cycle,lightgreen,black+0.2);
filldraw((0.5,-0.5)--(0,-1)--(-0.5,-0.5)--cycle,lightgreen,black+0.2);
filldraw((-0.5,-0.5)--(-1,0)--(-0.5,0.5)--cycle,lightgreen,black+0.2);
filldraw((-0.5,0.5)--(0,1)--(0.5,0.5)--cycle,lightgreen,black+0.2);

dot(O,blue);

// Example plane.
a = (1,5);
draw(O--a,Arrow);
l = line(O,a);

mid=(O+a)/2.;
dot(mid,red);
lp = perpendicular(mid,l);

draw(lp,blue);
No tips yet.
Be the first to tip!
Like this post? Tip me with bitcoin!

1n4xLYjUueu6qzhxboJqWD7Zx2rjZsrAe

Share on RedditShare on FacebookShare on Google+Tweet about this on TwitterShare on StumbleUponPrint this page
{ Tags: , , , }

no comments

RSS / trackback

respond

Real Time Analytics