Giter Club home page Giter Club logo

brillouinzones's Introduction

brillouinzones

Includes python function to find the points marking the corners in any brillouin zone.

Principle

The first brillouin zone is the area where the origin is the closest lattice point. The n:th brillouin zone is the area where the origin is the n:th closest lattice point. To write my program one needs to realize two clever things:

Clever thing one

The corners of the zones are circle centers through (at least) 3 points. One realizes this by the fact that at the corner of a zone, the origin must be exactly as far away as two other points. Thus, the corner must lie on the center of the circle intersecting these three points. Further, if the circle contains k points in it's interior, the circle center is an outer corner of the k+1:th brillouin zone. The reverse, however, does not hold and one needs to realize

Clever thing two

The number of lattice points on the edge of the circle is the number of brillouin zones the point is a (inner or outer) corner of. The (outer) corners of the k:th brillouin zone thus contains the centers of circles with k-1 points inside as well as the centers of circles containing k-2 points, containing k-3 points and touching at least 4 lattice points, containing k-4 points and touching at least 5 lattice points, and so on.

Pretty figures

Animation with first vector [1, 0] second vector [x, 1], where x goes from 0 to 1. sqr

60 brillouin zones of a hexagonal lattice. hex60

60 brillouin zones of an oblique lattice. oblique60

100 brillouin zones of a square lattice. square100

60 brillouin zones of a rectangular lattice. theEye_0-4_60

brillouinzones's People

Contributors

hamdav avatar

Stargazers

 avatar  avatar John Christensen avatar

Watchers

 avatar

Forkers

esetcn

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.