一般示意图都是有限尺寸的,所以画出来肯定是有限尺寸,但是可以通过matplotlib截图的方式demo示意图。
该方法可以实现任意格点模型的可视化,不需要自己造轮子
import numpy as np
import kwant
import matplotlib.pyplot as plt
rt3 = np.sqrt(3)
a1 = np.array([2*rt3, 0])/2/rt3
a2 = np.array([rt3/2, -1.5])/2/rt3
A_POS = np.array([0, 0])/2/rt3
B_POS = np.array([rt3/2, -0.5])/2/rt3
C_POS = np.array([np.sqrt(3), 0])/2/rt3
D_POS = np.array([np.sqrt(3)*3/2, -0.5])/2/rt3
lat = kwant.lattice.general([a1, a2], # lattice vectors
[A_POS, B_POS, C_POS, D_POS]) # Coordinates of the sites
A, B, C, D = lat.sublattices
syst = kwant.Builder()
## Add sites and hoppings.
for i in range(6):
for j in range (6):
syst[A(i, j)] = 0
syst[B(i, j)] = 0
syst[C(i, j)] = 0
syst[D(i, j)] = 0
hoppings0 = (((0, 0), A, B),
((0, 0), B, C),
((0, 0), C, D),