使用Kwant建模计算一维开边界能带

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

graphene = kwant.lattice.general([a1, a2],  # lattice vectors
                                 [A_POS, B_POS, C_POS, D_POS])  # Coordinates of the sites

A, B, C, D = graphene.sublattices

zigzag_ribbon = kwant.Builder(kwant.TranslationalSymmetry([1, 0]))
zigzag_ribbon[graphene.shape((lambda pos: pos[1] > -30 and pos[1] <= 0), (0, 0))] = 0

hoppings0 = (((0, 0),  A,  B), 
            ((0, 0),   B,  C), 
            ((0, 0),   C,  D),
            ((0, -1),  B,  A),
            ((-1, 0),  D,  A))

t = 1
hopping_pi = ((0, -1), D, C)

zigzag_ribbon[[kwant.builder.HoppingKind(*hopping) for
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值