1. 二维SSH模型计算概述
在凝聚态物理研究中,Su-Schrieffer-Heeger(SSH)模型作为研究拓扑绝缘体的经典模型,其二维扩展形式展现出更丰富的物理特性。本文将详细介绍如何利用Matlab从紧束缚模型出发,完整实现二维SSH模型的能带计算,包括投影能带和原胞能带的绘制方法。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 紧束缚模型理论基础
2.1 模型物理背景
二维SSH模型描述的是电子在具有二聚化结构的二维晶格中的运动行为。与一维情况不同,二维SSH模型中存在两个空间维度的耦合,这使得其能带结构展现出更复杂的拓扑特性。模型中的每个原胞包含两个不等价的格点(A和B),通过调节格点间的跳跃积分参数,可以研究系统的拓扑相变。
2.2 哈密顿量构建
系统的完整哈密顿量可表示为:
[ H = \sum_{\langle i,j\rangle} t_{ij} c_i^\dagger c_j + h.c. ]
其中:
- ( t_{ij} ) 表示格点i和j之间的跳跃积分
- ( c_i^\dagger ) 和 ( c_j ) 分别为产生和湮灭算符
- h.c. 表示厄米共轭项
在二维SSH模型中,我们通常考虑两种不同的跳跃积分:
- 原胞内跳跃积分 ( t_1 )
- 原胞间跳跃积分 ( t_2 )
3. Matlab实现细节
3.1 参数初始化
matlab复制% 基本参数设置
a = 1; % 晶格常数(单位:Å)
t1 = 1.0; % 原胞内跳跃积分(eV)
t2 = 0.8; % 原胞间跳跃积分(eV)
Nx = 20; % x方向原胞数
Ny = 20; % y方向原胞数
参数选择说明:
- 晶格常数a归一化为1简化计算
- t1 > t2的设置对应于拓扑非平庸相
- 系统尺寸需足够大以避免有限尺寸效应
3.2 哈密顿量矩阵构建
matlab复制% 总格点数计算(每个原胞含2个格点)
N = 2 * Nx * Ny;
H = zeros(N, N);
% 格点索引映射函数
get_index = @(nx, ny, sublattice) 2*( (nx-1)*Ny + (ny-1) ) + s
