October 29, 2013 at 07:50 - by eelvex | no comments (Leave a comment)

Inspired by a blog post detailing the 27 first brillouin zones I revisited my code for plotting brillouin zones. Here are the first Brillouin zones for 30, 50, 500 and a zillion.

I also plotted a gazillion zones but there is no visible difference from the zillion zones.

Maybe I'll do the hexagonal next.

[TOC]

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | N =: 400 NB. plot points NxN(x4 - symmetries) K =: >:2*N r =: 40 NB. density. Better be a divisor of N p =: >.2*(%:2)*N%r NB. lattice points that affect the plot span =: (0 0) -.~ >,{;/(2,>:2*p) $ r*i:p NB. (a,b)/(0,0) fx =: 3 : 0 NB. y=0 point and gradient 'a b' =. y p =. ((b%a)*(-:b)) + -:a p, p - ((b%a)*(1-~-:b)) + -:a ) minz =: 3 :'(a>0) ~: 1 #~ ,.j./"1 (,.(K-])) <.0.5+ ,. |. 0 >. K <. N + (13 :''x + y*i:N'')/fx ''a b'' =. y' mi0 =: 3 :'(K,K) $!.1 (K*N+>.-:|b=.{:y) # 0' mi =: minz :: (mi0`(|.@mi0) @. (0>{:)) ]M =: +/ mi"1 span viewmat M NB. or save/whatever. |

## no comments

RSS / trackback