强关联中Tight-Binding哈密顿量的生成

一般强关联的格点系统无非就是方格子,三角格子,六角格子这些常见的晶格。首先我们需要给出晶格常数,并找出元胞中不等价的格点。同时我们也可以推导出倒格矢。通常H0的形式都是比较简单的,可以直接解析推导出来。

此时H0是一个k的函数,hopping项是给定的常数。k为(kx,ky,kz)

有时候H0比较复杂,需要从Wannier90中的hr.dat生成,这种情况,每次循环都需要调用函数构建一次H0。

import numpy as np
from np import sqrt, pi, exp

a1 = 1/2*np.array([3, sqrt(3)])
a2 = 1/2*np.array([3, -sqrt(3)]) 

b1 = 2*pi/3*np.array([1, sqrt(3)])
b2 = 2*pi/3*np.array([1, -sqrt(3)])

G = np.array([0, 0])
M = 2*pi/3*np.array([1, 0])
K = 2*pi/3*np.array([1, sqrt(3)/3])

High_symmetry_Kpoints = {'G': G, 'M': M, 'K': K}


def Hamiltonian(k, t = 1):
    return np.matrix([[0, -t*(1 + exp(-1j*np.vdot(k,a1)) + exp(-1j*np.vdot(k, a2)))],
                      [-t*(1 + exp(-1j*np.vdot(k,a1)) + exp(-1j*np.vdot(k, a2))), 0]])


后面计算通常有两种模式,一种是沿着高对称点,需要沿着高对称点均匀取点

另一种是布里渊区均与取点。此时一种等价的方法是沿着倒格矢构成的平行四边形布里渊区均与取点。后一种方法对于利用格林函数卷积计算关联函数磁化率非常有用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值