What's a general algorithm to build a supercell from a primitive cell?

  • #1
36
0

Main Question or Discussion Point

Basically, I've written some code that take as inputs 1)Basis vectors 2)lattice translation vectors
and computes the structure factor of the basis, producing a diffraction pattern.

I'd like to begin incorporating subtle differences between atoms, so I want to compute the structure factor of a supercell instead of a primitive cell. So for instance, let's say I'm dealing with graphene. That lattice has a 2-atom basis, so a supercell would be built of maybe 4 or 6 atoms. The thing is, I'm not sure what algorithm determines the new lattice translation vectors. If these aren't chosen correctly, it messes up the reciprocal space and diffraction condition.

Ideally there should be some general, bravais-lattice-independent method of building the supercell so that the supercell lattice vectors are just multiples of the primitive lattice vectors, but I don't know which basis atoms to include to avoid overlap upon translation. Any tips or references would be greatly appreciated.
 

Answers and Replies

  • #2
898
67
There are many many possible supercells that can be found in surface science, magnetism, crystallographic phase transitions etc. I don't think that there is a single defined algorithm for designing "the" supercell.
 

Related Threads for: What's a general algorithm to build a supercell from a primitive cell?

  • Last Post
Replies
6
Views
7K
Replies
7
Views
21K
  • Last Post
Replies
1
Views
2K
Replies
5
Views
735
Replies
18
Views
66K
  • Last Post
Replies
2
Views
733
Replies
0
Views
7K
Top