Page 1 of 1

Triangular Lattice

Posted: 18 Apr 2019, 12:44
by bart
It would be useful to have an implementation for a triangular lattice integrated into the main code (tenpy.models.lattice), since it comes up so frequently. Many thanks :)

Re: Triangular Lattice

Posted: 18 Apr 2019, 13:02
by Johannes
Agreed.
The Triangular lattice is basically just a simple square lattice with one of the basis vectors rotated by 30 degrees towards the other. I'd suggest to use

Code: Select all

basis = np.array([[0.5 *np.sqrt(3), 0.5], # first basis vector
                  [0., 1.]]) # second basis vector: y-direction
If you quickly write down the (next-)(next-)nearest neighbors, I'll copy over the code from the tenpy.models.lattice.Square lattice and make the figure.

Re: Triangular Lattice

Posted: 18 Apr 2019, 14:53
by bart
Using this basis, for a point at the origin:

There are 6 NN at a distance 1.
There are 6 nNN at a distance sqrt(3).
There are 6 nnNN at a distance 2.

Code: Select all

NN = {1/2 {Sqrt[3], 1}, {0, 1}, -(1/2) {Sqrt[3], 1}, -{0, 1}, 1/2 {Sqrt[3], -1}, 1/2 {-Sqrt[3], 1}};
nNN = {{Sqrt[3], 0}, {-Sqrt[3], 0}, 1/2 {Sqrt[3], 3}, -(1/2) {Sqrt[3], 3}, 1/2 {-Sqrt[3], 3}, 1/2 {Sqrt[3], -3}};
nnNN = {{0, 2}, {0, -2}, {Sqrt[3], 1}, -{Sqrt[3], 1}, {-Sqrt[3], 1}, {Sqrt[3], -1}};
Checked with Mathematica. Many thanks :)

Re: Triangular Lattice

Posted: 23 Apr 2019, 08:47
by Johannes
Implemented ;)

Re: Triangular Lattice

Posted: 24 Apr 2019, 06:42
by bart
Thank you very much! :D