2018年,两片单层石墨烯以大约 1.1° 的微小角度叠放,在低温下出现了超导电性。这个结果最初看起来像实验上的偶然,但随后几年,“魔角”从一个具体数值变成了整个凝聚态物理的研究范式——扭转电子学(twistronics)。Simon Becker(西蒙·贝克尔)是这个方向上非常活跃的研究者之一,他一直专注于高质量莫尔异质结构的制备和极低温输运测量。他的研究路径有一个值得所有做材料和计算的人注意的结论:魔角莫尔材料并不是发现了一种新物质,而是把已有的二维材料放在一个可以被机械调节的几何参数下,从而打开全新的电子结构空间。
这篇文章不打算只复述新闻或者论文摘要。我想从一个更偏计算建模和技术实践的视角,把三件事讲清楚:魔角莫尔材料的物理核心是什么;为什么像 Simon Becker 这类输运测量工作能成为整个领域的“校准器”;以及,如果你想在自己机器上建模莫尔超胞、跑能带计算,应该从哪里入手,哪些坑会卡住你。
读完之后,你应该能做到:说清楚莫尔条纹、魔角、平带、强关联这些概念之间的因果关系;理解输运实验在魔角材料里的不可替代性;用 Python 脚本生成并检查莫尔超胞;在遇到超胞太大、收敛失败、结果不可复现时,知道问题最可能出在哪一环节。
1. 这篇文章真正要解决的问题
很多人第一次接触“魔角莫尔材料”时,会把它误当成一种新合成出来的化学物质。这是最大的误解。魔角石墨烯没有“粉末”或者“单晶块体”,它本质上是一片高质量石墨烯叠在另一片高质量石墨烯上,两层之间有一个极小的相对旋转角。材料本身没有变,变的是“层间堆叠的关系”。所以,你要研究的对象不是某个新的元素组合,而是一个几何结构。
为什么这个几何结构如此重要?因为当两层六角晶格相对旋转到某个临界角度时,布里渊区边界会发生强烈的层间杂化,导致费米速度显著降低,电子能带在大能量范围内变成几乎无色散的平带。平带意味着电子的动能为零主导、相互作用能被放大幅度,于是原本在石墨烯中很弱的电子关联效应被激活。这就是 Mott 绝缘态和超导态出现的物理基础。
从研究者视角看,这个问题的复杂性在于:
- 实验上,要在一块微米级器件中精确控制两层之间的扭转角到 0.1° 以内,同时保证界面干净;
- 理论上,要计算 1.1° 对应的莫尔超胞,这个超胞可能包含超过一万个原子,直接做第一性原理计算非常困难;
- 工程上,从器件测量得到的输运数据如何反推能带结构,又需要量子输运模拟和理论模型相互配合。
所以这篇文章真正要解决的,不是“魔角为什么能超导”这个仍然开放的科学问题,而是帮助读者建立一条从物理概念到计算实践、再到常见工程问题的完整认知链路。尤其适合三类读者:正在入门扭转电子学计算的研究生;从事二维材料实验、想理解输运数据背后物理的工程师;以及看到“魔角”热搜后想搞清楚底层逻辑的开发者。
2. 莫尔条纹到魔角:基础物理概念
2.1 莫尔条纹:不需要量子力学也能理解
莫尔条纹(moiré pattern)是日常生活中很常见的现象。把两块同样周期的网格或者纱窗叠在一起,稍微旋转一个角度,就会看到大尺度的明暗条纹,这就是莫尔条纹。它的本质是两个周期结构叠加后产生的“差频”调制:原周期是 a,相对转角是 θ,那么叠加后出现的宏观周期大约是:
L ≈ a / (2 sin(θ/2))
当 θ 很小时,L 会比 a 大几个数量级。石墨烯的晶格常数大约 2.46 埃,当 θ = 1.1° 时,L ≈ 13.4 纳米,也就是一百多个原子周期的范围。这就是为什么魔角石墨烯会产生“莫尔超晶格”的原因——它不是人为画上去的周期,而是两个原子晶格干涉出来的周期。
莫尔周期的出现,意味着原本周期为 a 的晶格,在实空间被一个新的、更大周期的结构重新调制。电子感受到的不再是单个石墨烯层简单的三角晶格势,而是一个缓慢变化的层间堆叠势。这种慢调制,会在动量空间产生两个原本不重叠的狄拉克锥之间的耦合。
2.2 平带:魔角为什么“魔”
在单层石墨烯中,布里渊区角落 K 点附近有狄拉克锥,电子是线性色散,行为像无质量狄拉克费米子。当两层石墨烯扭转后,上下两层的狄拉克锥在动量空间出现相对位移,两个锥发生杂交。在特定扭角下,这种杂交会让能带在费米能附近变得非常平。
平带的关键意义是:电子的有效质量被大幅增大,动能项被压制,相互作用项(库仑排斥)在能量标度上占据主导。这时候体系的基态不再由单粒子能带决定,而是由强关联效应决定。2018 年实验上观察到的 Mott 绝缘态和超导态,就是这种强关联物理的直接体现。所谓魔角,并不是魔法,而是让“平带”出现的最优几何参数。
2.3 术语表
| 术语 | 含义 |
|---|---|
| 莫尔条纹 | 两个周期结构叠加产生的空间调制图案 |
| 莫尔超晶格 | 扭转堆叠后形成的新的周期性结构 |
| 扭角 | 两层晶格之间的相对旋转角 |
| 魔角 | 使费米速度大幅下降、平带出现的特定扭角,一般约 1.1° |
| 平带 | 能量关于动量几乎不变的能带,动能为零 |
| 强关联 | 电子间相互作用不可忽略的物理状态 |
| 扭转电子学 | 通过层间扭转调控电子结构的领域 |
对初次接触这些概念的人来说,最需要记住的不是公式,而是“扭转改变了电子可感知的周期势”这条因果链:扭转 → 莫尔周期 → 层间杂化 → 平带/强关联 → 新奇量子态。
3. Simon Becker 与魔角莫尔材料的研究脉络
3.1 研究重心:高质量器件与量子输运
从公开研究资料可以看出,Simon Becker 的工作重心并不是单纯“找新材料”,而是把魔角莫尔材料做成高质量器件,再通过极低温、强磁场下的输运测量,把电子结构的光谱信息“读”出来。这类研究看起来不像第一性原理计算那样能直接画出能带,但它提供的是实验上最高精度的电子结构窗口。
输运测量的基本逻辑是:在霍尔巴器件上施加栅压,改变载流子浓度;在极低温下测量纵向电阻和 Hall 电阻,得到载流子密度、迁移率、朗道扇形图;再结合 Shubnikov-de Haas 振荡,反推出费米面的拓扑和 Berry 相位。放入魔角石墨烯语境中,这套方法能清晰地看到莫尔能带中平带的填充因子变化、关联绝缘态的相边界,以及超导相在相图中的位置。
3.2 为什么输运实验是该领域的高标准
一个人可能会问:既然连续模型已经能预测魔角能带,为什么还需要实验输运数据。原因在于模型预测依赖很多理想化假设:完美的扭转角、无应变、无杂质、层间距离均匀。真实器件中,任何一点局部应力、气泡、污染,都会让莫尔势发生畸变,平带被展宽,超导消失。
Simon Becker 这类高质量器件研究的价值,是给了理论和计算一套“极限标尺”。当实验测出干净明亮的朗道扇形图、清晰的量子振荡时,计算才有足够可靠的基准去调整参数。换句话说,如果你的计算模型对不齐这些实验结果,那模型里很可能少考虑了关键的修正项,比如应变、层间驰豫或者关联泛函的选取。
3.3 对计算模拟的启发
从这类输运测量研究中,计算模拟者可以提炼出几条实践原则:
- 不要只算理想魔角结构,要扫描扭角 1.0° 到 1.2° 的范围,观察平带宽度和带宽位置的变化;
- 要关注样品中的弛豫效应,真实魔角石墨烯的原子位置并不严格等于刚性的双层旋转,局部堆叠会优化,这会显著改变平带形貌;
- 计算结果要和实验输运特征比对,例如低能带带宽、费米速度、能带隙等,而不是只报告一张漂亮的能带图。
4. 环境准备与前置条件:模拟从哪入手
莫尔材料的研究非常依赖计算模拟。不过直接对一万个原子的魔角超胞做 DFT 计算,普通工作站很难承受。更通用的路径是分层递进:
- 第一层:几何建模和可视化,用 Python + numpy + matplotlib 快速生成莫尔超胞,评估周期和原子数;
- 第二层:连续模型或者紧束缚模型,用几十行代码扫描扭角,找出平带最平的区间;
- 第三层:对少量小角度近似结构做 DFT 验证,或者用机器学习势跑结构弛豫;
- 第四层:把最终结构导入 Quantum ESPRESSO、VASP、WannierTools 等专业工具,做能带、态密度、输运计算。
对于本文的演示,你需要准备:
- 一台装有 Python 3 的电脑;
- 安装了 numpy、matplotlib 的 Python 环境;
- 如果需要跑第一性原理计算,再准备 Quantum ESPRESSO 或 VASP 的授权与计算资源。
版本方面不需要刻意追新,Python 3.8 以上即可;以下代码用到的 numpy 和 matplotlib 都是非常稳定的接口,版本以你本机安装为准。关键不是工具版本,而是理解每一步在做什么。
5. 核心流程拆解:从几何建模到能带计算
5.1 第一步:生成莫尔超胞
生成莫尔超胞的常用方法有两种:刚性旋转法,直接让一个晶格旋转 θ 度后复制原子坐标;共格超胞法,用整数倍晶格矢构造一个与旋转后晶格近似的超胞。对于普通教学演示,刚性旋转法最简单直观。
做法是:
- 定义石墨烯三角晶格的基矢和原子坐标;
- 构造旋转矩阵 R(θ);
- 将第二层的所有原子坐标与 R 相乘;
- 在矩形范围内用散点图画出两层,观察莫尔条纹。
这一步的作用是确认角度和视野范围。如果角度选得不对,或者原胞太小,条纹可能根本看不到。
5.2 第二步:用连续模型扫描魔角
选择几个典型扭角(比如 2.0°、1.5°、1.1°、0.8°),分别计算莫尔周期 L 和超胞中的原子数 N。随着角度减小,L 增大,N 快速膨胀。这一步能让你直观理解为什么 DFT 算魔角如此昂贵:角度每减小一半,超胞面积变成原来的四倍,原子数翻数倍。
同时,如果是首次接触相关计算,可以在这一阶段先跑一个连续模型或紧束缚模型的“扫描脚本”,看能带带宽随角度变化的曲线。这样你能在进入大计算前,提前确定哪个角度最值得投入算力。
5.3 第三步:验证与对照实验
拿到莫尔超胞坐标后,检查以下事情:
- 层间距是否接近 3.35 埃;
- 扭角是否符合预期,可以通过最小二乘拟合原子位置反推;
- 莫尔周期是否和公式估算一致。
对照实验数据时,优先关注平带位置、带宽、Hall 载流子填充因子。比如实验上会在填充因子为 ±2 的整数摩尔超晶格态处看到电阻峰,对应莫尔能带半填充,这些特征在计算中应该能看到对应电子结构证据。
6. 完整示例代码实现
6.1 示例1:莫尔条纹可视化
下面代码生成两层三角晶格的旋转叠加图,并保存为图片。保存文件建议命名为moire_visual.py。
import numpy as np import matplotlib.pyplot as plt def hex_lattice(size, a=1.0): """生成三角晶格坐标,size 控制范围。""" points = [] for i in range(-size, size): for j in range(-size, size): x = a * (i + j * 0.5) y = a * (j * np.sqrt(3) / 2.0) points.append((x, y)) return np.array(points) a = 1.0 theta_deg = 5.0 theta = np.deg2rad(theta_deg) R = np.array([[np.cos(theta), -np.sin(theta)], [np.sin(theta), np.cos(theta)]]) lattice1 = hex_lattice(40) lattice2 = lattice1 @ R.T fig, ax = plt.subplots(figsize=(6, 6)) ax.plot(lattice1[:, 0], lattice1[:, 1], 'o', markersize=1.5, color='steelblue', label='Layer 1') ax.plot(lattice2[:, 0], lattice2[:, 1], 'o', markersize=1.5, color='crimson', label='Layer 2') ax.set_aspect('equal') ax.set_title(f'Moire pattern, theta = {theta_deg:.2f} deg') ax.legend(loc='upper right') plt.savefig('moire_visual.png', dpi=150)运行命令:
python moire_visual.py代码核心在hex_lattice:石墨烯是蜂窝结构,但只看一个原子的子格,它就是三角晶格;两层三角晶格叠加足以演示莫尔条纹。你可以把theta_deg改小到 1.1°,会看到条纹周期明显变大。
6.2 示例2:莫尔周期与超胞原子数估算
保存为moire_scan.py。这段代码输出角度扫描下莫尔周期和超胞原子数的趋势。
import numpy as np import matplotlib.pyplot as plt a = 2.46 # 石墨烯晶格常数,单位埃 def moire_period(theta_deg): theta = np.deg2rad(theta_deg) return a / (2.0 * np.sin(theta / 2.0)) theta_list = np.linspace(0.5, 2.0, 100) L_list = moire_period(theta_list) # 超胞中原子数近似与 (L / a)^2 成正比,这里取两层总原子数的粗略估计 N_atoms = 2.0 * (L_list / a) ** 2 fig, ax1 = plt.subplots(figsize=(7, 4)) ax1.plot(theta_list, L_list, 'b-', label='Moire period L (angstrom)') ax1.set_xlabel('Twist angle (degree)') ax1.set_ylabel('Period L (angstrom)', color='b') ax2 = ax1.twinx() ax2.plot(theta_list, N_atoms, 'r--', label='Estimated atoms per supercell') ax2.set_ylabel('Atoms per supercell (approx)', color='r') ax1.axvline(1.1, color='gray', ls=':', label='Magic angle ~1.1 deg') ax1.legend(loc='upper left') ax2.legend(loc='upper right') plt.savefig('moire_scan.png', dpi=150)运行后能清楚地看到:角度从 2° 下降到 0.5°,莫尔周期从约 70 埃增大到约 280 埃,超胞原子数从几百个增长到一万个以上。这就是魔角计算资源消耗的根本原因。
6.3 示例3:连续模型能带计算框架(教学演示)
要完整实现 Bistritzer-MacDonald 连续模型需要相当多的代码量,这里给出一个可运行的核心框架,重点演示“如何在小扭转角下构造动量空间耦合并找到平带”。它能帮助你理解流程,但实际科研中建议使用经过验证的成熟开源工具包。
保存为tbg_continuum_demo.py。
import numpy as np import matplotlib.pyplot as plt # 教学演示版连续模型参数,单位采用归一化单位 vF = 1.0 # 费米速度 theta = 1.05 # 扭角 a = 2.46 # 晶格常数,单位埃,用于动量转换 # 动量空间基矢(极简模型,仅用于教学启发) K1 = np.array([0.0, 0.0]) K2 = np.array([0.1, 0.0]) # 示意第二层狄拉克锥偏移 # 构造简化的 2x2 哈密顿量:对角块为两层狄拉克锥,非对角块为层间耦合 k_points = np.linspace(-0.2, 0.2, 201) band1 = [] band2 = [] for kx in k_points: k = np.array([kx, 0.0]) # 只保留垂直方向的线性色散,用于演示 h11 = vF * np.linalg.norm(k - K1) h22 = vF * np.linalg.norm(k - K2 + np.array([0.05, 0.0])) h12 = 0.02 # 固定耦合强度,演示能带劈裂 H = np.array([[h11, h12], [h12, h22]]) eigs = np.linalg.eigvalsh(H) band1.append(eigs[0]) band2.append(eigs[1]) plt.plot(k_points, np.array(band1), 'b-', label='lower band') plt.plot(k_points, np.array(band2), 'r-', label='upper band') plt.xlabel('k path') plt.ylabel('Energy (a.u.)') plt.title('Continuum model demo: band splitting near Dirac cones') plt.legend() plt.savefig('continuum_demo.png', dpi=150)运行命令:
python tbg_continuum_demo.py这段代码的意义不是复现魔角能带的精确结果,而是演示连续模型的核心逻辑:两个动量为 K1、K2 的狄拉克锥,通过耦合项 h12 发生杂化,出现能带劈裂。完整模型需要引入莫尔倒格矢形成的无穷维矩阵,但思路完全一致。
6.4 示例4:Quantum ESPRESSO 输入文件框架
当你已经有莫尔超胞的原子坐标后,可以用 Quantum ESPRESSO 做结构优化和电子结构计算。下面是一个输入文件框架,其中原子坐标和晶格矢量需要你用自己的超胞结构替换。
&CONTROL calculation = 'scf' prefix = 'tbg' outdir = './temp' pseudo_dir = './pseudo' verbosity = 'high' / &SYSTEM ibrav = 0 nat = 2600 ntyp = 1 ecutwfc = 55 occupations = 'smearing' degauss = 0.005 nspin = 1 / &ELECTRONS conv_thr = 1.0d-8 mixing_beta = 0.3 / ATOMIC_SPECIES C 12.011 C.upf CELL_PARAMETERS (angstrom) 30.000 0.000 0.000 0.000 30.000 0.000 0.000 0.000 20.000 ATOMIC_POSITIONS (angstrom) C 10.235 12.942 0.000 C 11.477 13.105 0.000 ... 此处填入完整超胞坐标 ...实际运行时,nat必须与ATOMIC_POSITIONS行数严格一致,否则 QE 会直接报错。ecutwfc 与赝势类型相关,建议先在小原胞上做收敛测试。另外,大超胞的 k 点取样量要很小,一般使用K_POINTS (gamma)或K_POINTS (automatic) 1 1 1 0 0 0,因为莫尔超胞本身已经很大,实空间周期长,对应倒空间只需要很少 k 点。
7. 运行结果与效果验证
要判断莫尔相关脚本运行成功,可以看三个指标:
一是在moire_visual.py生成的图片中,能清楚看到第二层相对第一层旋转后产生的低频干涉条纹。角度为 5° 时条纹周期中等;改为 1.1° 时条纹应明显变宽。
二是在moire_scan.png图中,莫尔周期曲线在 1.1° 附近达到约 128 埃左右。这符合公式估算:L = 2.46 / (2 sin(0.55°)) ≈ 128 埃。如果你算出的数值差距很大,说明角度单位转换出了错。
三是在连续模型演示图中,低能区出现两个分支的劈裂,整体趋势符合“层间杂化使能带重组”的物理图景。注意这不是完整 Bistritzer-MacDonald 结果,不能用来直接和实验数据对比,它的价值在于帮助你理解算法流程。
如果脚本运行失败,第一步看报错信息里是 Python 语法错误、模块缺失还是文件路径问题。最常见的错误是matplotlib未安装,用以下命令补装:
pip install numpy matplotlib8. 常见问题与排查方法
| 问题现象 | 可能原因 | 排查方式 | 解决方案 |
|---|---|---|---|
| 莫尔条纹图片中看不到条纹 | 视角范围过大或原子点太小 | 缩小 size 参数,增大 markersize | 调整hex_lattice(20)并增大点大小 |
| 周期公式算出的 L 与图片不符 | 角度用了弧度而不是角度制 | 检查 np.deg2rad 是否调用 | 确保公式输入为弧度 |
| 连续模型能带出现负能量 | 简化模型未加能量零点 | 检查常数偏移 | 给能带统一加减常数即可,不影响物理趋势 |
| QE 计算报 nat 不匹配 | ATOMIC_POSITIONS 行数与 nat 不一致 | 统计坐标行数 | 用脚本生成并二次检查 |
| DFT 计算内存不足 | 超胞过大,k 点取太多 | 查看输出文件中的网格 | 改用 1x1x1 k 点或降低 ecutwfc |
| 角度大于 2° 时没有平带 | 扭转角扫描超出魔角区间 | 检查扫描范围 | 将扫描范围缩小到 0.8° 到 1.5° |
对大体系计算来说,“计算无法启动”往往不是代码错了,而是资源规模超出硬件能力。建议先用小角度示例(比如 5°)把整个流程跑通,再逐步逼近魔角。
9. 最佳实践与工程建议
第一,把“角度扫描”作为第一性原理计算前的必做步骤。不要只算一个 1.1°。魔角具体数值会受衬底、应变、层间距和交换关联泛函影响,实验与理论之间可能差 0.05° 到 0.1°。先扫描几个角度,观察能带带宽的变化趋势,再锁定量级。
第二,严格检查结构弛豫结果。魔角石墨烯在真实样品中并不严格保持刚性旋转,原子位置会发生弛豫,局部区域趋向更容易稳定的堆叠方式。这种弛豫会改变莫尔势的形状,进而影响平带的带宽和带隙。建议使用机器学习势或者至少做限制原子位置的联合优化,把层间距和原子面内位移都放开。
第三,注意量子输运模拟与实验的配合。输运测量给出的不是直接的能带图,而是从电阻、Hall 效应、量子振荡反推出来的信息。做计算时,不要只输出能带图,也尽量计算态密度、费米速度、Berry 曲率等可以直接和实验量对照的量。
第四,版本管理要跟上。莫尔材料计算工作流会反复调整角度、原子数、k 点、赝势,建议把每一次跑结果的输入参数和输出文件打包保存,用脚本而不是手工去记录参数。常见做法是把生成超胞的脚本、QE/VASP 输入文件和计算日志放在同一个目录,用 Git 管理,避免几周后无法复现自己的结果。
第五,多参考实验文献中的真实器件参数。石墨烯晶格常数、层间距、介电环境、衬底栅极等都会进入模型。比如层间距设为 3.35 埃是最常见近似,但实际可能因为层间相互作用发生微调。只要模型参数没有实验约束,讨论魔角超导的相关性就要谨慎。
10. 总结与后续学习方向
魔角莫尔材料不是一个孤立的发现,它代表了一种新的材料调控思路:用几何自由度去改写电子结构。Simon Becker 的高质量输运研究提醒我们,在这个领域做出可靠结果的门槛很高,只有在样品质量、测量精度和理论模型三方面同时到位,才能被领域接受。对于大多数人而言,从莫尔超胞的几何建模入手,是成本最低、见效最快的入门方式。
我建议你按这个顺序继续深入:先跑通本文的 Python 可视化脚本;然后找一个成熟的连续模型工具包,复现魔角能带;接着尝试用第一性原理软件算一个小角度近似结构,比如 3° 或者 5°,把能带、态密度和实验数据做初步对比;最后再决定要不要投入资源算 1.1° 的完整魔角超胞。
这个领域最容易被低估的是“验证”这件事。一个能带图看上去平,不代表模型正确;一个实验电阻峰出现,也不代表超导。多问一句“平在哪里、陡在哪里、对应什么填充因子”,你在魔角莫尔材料上的研究路径就会清晰很多。建议收藏本文,后续计算时直接对照流程和排查表,可以少走很多弯路。