我在研究RuO2这个材料时对其进行了能带计算,但是我发现了一个问题,按照RuO2的样子,Ru应该是s...

Creato il: 23 febbraio 2026

Risposto usando GPT-5.2 Thinking da Chat01

Domanda

我在研究RuO2这个材料时对其进行了能带计算,但是我发现了一个问题,按照RuO2的样子,Ru应该是sp3d2杂化,但Ru原子的DOS显示,Ru基本只有d轨道在费米面附近几个eV内不为0,基本没有s轨道和p轨道的DOS,这是为什么?对于RuO2体系来说,O在费米面附近只有p轨道存在有限的DOS,我想在此之后用wannier90去计算其Berry相位,我该对Ru只用d轨道投影还是用sp3d去投影,以及O只需要投影p轨道吗?

Pensiero

Considering Wannier90 projections for RuO2

For Wannier90 on RuO2, the projection should focus on Ru t2g and O p states, as they dominate the conduction band near EF. You can start with projections on Ru d and O p to capture hybridization. Check PDOS within the energy window and use disentanglement if needed to refine the bands for Berry curvature.

Explaining Wannier functions and hybridization

For Wannier90 calculations, the number of functions should match the targeted bands. Regarding sp3d2 hybridization: Ru in octahedral coordination involves d2sp3 or sp3d2. However, it's not about actual mixing, but a chemical concept. In DFT, PDOS depends on the basis and projection sphere, and s/p states are delocalized.

Berry phase calculation and projection for RuO2

For Berry phase in metallic RuO2, it's possible to compute this for loops around the Fermi surface or for topological analysis, particularly with spin-orbit coupling (SOC). However, Berry phase requires partially occupied bands, so you compute along closed loops. Start with initial projections on Ru d and O p.

Choosing Ru and O projections for Wannier functions

If only Ru t2g and O p dominate near EF, choosing 9 projections should be sufficient. If you need to account for bands a bit further away, include the eg states for a total of 11. For Ru, use d orbitals; sp3d is unnecessary. Adding Ru s might help with localization, but starting with d orbitals captures essential hybridization.

Thought for 1m 42s

Risposta

你看到的现象其实很常见:“sp³d²(或 d²sp³)杂化”是价键/配位化学里用来描述几何构型的一个语言,但在固体 DFT 的能量分辨图像(DOS/PDOS)里,“哪些轨道在费米能级附近有权重”主要由晶体场分裂 + 成键/反键能级位置 + 轨道能量本征差决定,并不要求 s、p 在 EFE_F 附近一定要有明显 DOS。


1) 为什么 Ru 在 EFE_F 附近几乎只有 d 态?

RuO2_2(金红石结构)里 Ru 是近八面体配位(RuO6_6)。在八面体晶体场下:

  • Ru 的 d 轨道分裂为 t2gt_{2g}(dxy/dxz/dyz)ege_g(dz²/dx²−y²)
  • ege_g 与 O-2p 的 σ\sigma 成键/反键耦合很强,通常把 ege_g 相关反键态推到更高能(离 EFE_F 更远)
  • 金属/半金属的低能导电往往由 Ru-4d 的 t2gt_{2g}(再混一点 O-2p)主导,所以你会看到:
    • EFE_F 附近 Ru:主要 d(尤其 t2gt_{2g}
    • EFE_F 附近 O:主要 p(来自 p–d 杂化尾巴)

至于 Ru 的 s、p

  • Ru 的 5s/5p 在很多体系里要么更“自由电子化”(很宽、分散、权重被摊薄),要么能量位置离 EFE_F 较远;
  • 一些 **Ru 的 p(如 4p)**常是“半芯态/深能级”,本来就不会在 EFE_F 附近出现;
  • PDOS 的投影也不是唯一的:在 PAW/赝势里 PDOS 只统计投影球/部分波内的权重,若某些 s/p 成分更多分布在键间区域或被强混合,投影出来会更小。

所以:“局域轨道杂化的几何描述” 和 **“费米附近哪些 Bloch 态具有哪些轨道成分”**不是同一件事。


2) Wannier90 投影应该选 Ru 的 d 还是 sp3d?O 只投 p 吗?

原则只有一个:你要用 Wannier 拟合/插值哪一段能带,就投影能覆盖那段能带主要轨道成分的最小集合。
对 RuO2_2 这种低能主要是 Ru-d 与 O-p 的体系,一般不需要把 Ru 的 s、p 也显式放进初始投影。

推荐做法(从最常用、最稳的开始)

A. 只关心 EFE_F 附近(比如 ±23\pm 2\sim 3 eV)Berry 相位/曲率

  • 优先尝试:Ru 的 t2gt_{2g}(3个) + O 的 p(每个 O 3个)
  • 每个化学式 RuO2_2
    • Ru t2gt_{2g}:3
    • 2 个 O 的 p:2×3=62\times 3=6
    • 总计 9 个 Wannier functions / f.u.
  • 这套往往能很好覆盖费米附近的“导电带 + 杂化带”,并且局域性也不错。

B. 需要覆盖更宽能窗,或你发现 disentanglement 很难稳定

  • 改用 Ru 全 d(5个) + O 全 p(6个) = 11 个 / f.u.
  • 这样更“保险”,尤其当 ege_g 带在你关心的能窗边缘、或者和别的带纠缠较强时。

C. Ru 的 s/p 要不要加?

通常 不需要。只有在这些情况下你才考虑加:

  • 你要拟合的能窗往更高能扩展,确实出现明显 Ru-s/p 成分的带;
  • 或者你做极宽能窗的 disentanglement 时,发现只用 d+p 总是跑偏,加一个 Ru-s 作为“缓冲基”能帮助收敛/局域(但这是工程技巧,不是常规必需)。

3) 一个很实用的检查流程(避免“投影猜错”)

  1. 先决定你要算的 Berry 量到底对应什么能窗:

    • 若是绝缘体极化的 Berry 相位(King-Smith/Vanderbilt):需要绝缘体且要覆盖全部占据带(RuO2_2 本身是金属,做“极化”意义上要小心)。
    • 若是金属的 Berry 曲率/反常霍尔/自旋霍尔,或某条闭合回路的 Berry 相位:重点是**EFE_F 附近若干条相关能带**,用 MLWF 做插值很合适。
  2. band structure + orbital projection(fatband),确认目标能窗里:

    • Ru 主要是 t2gt_{2g} 还是全 d?
    • O-p 的权重是否显著(通常显著)
  3. 用 wannier90 做两套对比(9 个 vs 11 个),选择:

    • 能带插值误差更小
    • spread 更小/更稳定
    • disentanglement 更不敏感的一套

4) 一个示例(思路示范)

比如你先试 11 个(更稳):

text
num_wann = 11 begin projections Ru: dxy; dxz; dyz; dx2-y2; dz2 O: px; py; pz O: px; py; pz end projections ! disentanglement window (示意,按你的能带实际改) dis_win_min = -8.0 dis_win_max = 4.0 dis_froz_min = -2.5 dis_froz_max = 2.0

如果你只想做费米附近并且 disentanglement 很干净,就把 Ru 改成只投 t2gt_{2g},并把 num_wann=9


5) 你当前 PDOS 结论对应的投影建议(直接回答你问的)

  • Ru:只用 d 轨道投影是合理且常用的(尤其是 EFE_F 附近只看到 d 非零时)。
    “sp³d²”不需要当作必须把 s/p 也投进去的依据。
  • O:通常只投 p 就够了(费米附近 O 的贡献基本来自 p;O-2s 往往在更低能)。

如果你告诉我:你打算算的是哪一种 Berry 相位(极化?某条费米面回路?反常霍尔/自旋霍尔?),以及你关心的能量窗口大概是 EFE_F 上下多少 eV,我可以更“定量地”给你建议 num_wann、窗口怎么取、以及是否必须开 SOC。

Domanda

我感到很奇怪,我目前做的结果反而是eg轨道在费米面处比较明显,t2g反而不太显著,但我查了一下很多文章明确指出了t2g轨道对于RuO2的重要性

Pensiero

Explaining strain effects on RuO2 and EF

The Springer review discusses how Ru 4d splits into t2g and eg, with EF deriving from t2g. Strain can modify dx2-y2 near EF, possibly shifting eg closer to EF. I’ll emphasize that if the lattice is strained or relaxed, eg can appear at EF, which recent works support. Be sure to check your structure, as strain or defects could influence this. Also, PRB 2006 confirms t2g is partially occupied, and eg remains unoccupied near EF.

Explaining potential reasons for observing eg at EF in RuO2

There could be a few reasons why you're seeing eg states near EF. First, axis misassignment can mix t2g and eg components due to the tetragonal distortion in rutile, with global axes affected by your code. Strain, distortion, or defects could also pull eg closer to EF, influencing magnetism. Additionally, model choices like spin polarization or DFT+U may shift the results. Smearing or k-mesh broadening can create tails, while Wannier functions should include all Ru-d and O-p states. For accurate results, diagonalize the onsite Hamiltonian and ensure dense k-grid interpolation for Berry phase calculations.

Advising on Berry phase and PDOS analysis for RuO2

When calculating the Berry phase around nodal lines, include all bands crossing the lines (use LOBSTER or Wannier90). For VASP, LORBIT with LOBSTER can compute cubic harmonics, and adjusting for local axes with LORBIT=11 is key. Be mindful that Berry phases in metals can be tricky, especially regarding occupied states. For PDOS, the typical energy window is important but not always defined. Keep it conceptual without overloading the user with code.

Clarifying t2g/eg at EF in RuO2 and checking model assumptions

Literature shows that t2g states dominate

Thought for 4m 44s

Risposta

你查到的“文献里强调 t2gt_{2g} 很重要”这点没错:对体相、接近理想金红石结构的 RuO2_2,经典的能带结果就是 Ru-4d 分成“部分占据的 t2gt_{2g}”和“未占据的 ege_g,而且 EFE_F 落在 Ru-t2gt_{2g} 流形附近。比如 FP-LAPW 的一篇 PRB 就直接写到:导带主要是 Ru-4d,分裂成“部分占据 t2gt_{2g}”和“未占据 ege_g”,且 EFE_F 靠近 Ru-t2gt_{2g} 的谷底。 (Harvest) 近期综述也同样总结“费米能级附近主要来自 Ru-t2gt_{2g}”。 (Springer)

那你为什么会看到“ege_g”在 EFE_F 更明显?最常见就两类原因:


1) 你看到的“eg/t2ge_g/t_{2g}”很可能是投影坐标系导致的“看起来像”

在 VASP/QE 这类程序里,PDOS/PROCAR 的 dd 轨道分量通常是按全局晶轴的实球谐(dz2,dx2y2,dxy,dxz,dyzd_{z^2}, d_{x^2-y^2}, d_{xy}, d_{xz}, d_{yz})给出来的。

但 RuO2_2 的 RuO6_6 八面体在金红石结构里并不是“完美 OhO_h + 完全对齐晶轴”的那种情况(有四方畸变、局域配位方向也不一定与你的全局轴完全一致),于是:

  • 真实局域晶场本征基里属于 “t2gt_{2g}-like” 的态,投影到你的全局 dz2/dx2y2d_{z^2}/d_{x^2-y^2} 上可能会冒出不小权重;
  • 你把 dz2+dx2y2d_{z^2}+d_{x^2-y^2} 简单相加当成“ege_g”时,就会得到“ege_gEFE_F 很大”的观感,但这不一定等价于“晶场意义上的 ege_g 真被拉到 EFE_F”。

怎么验证最直接: 用 Wannier 得到 Ru-5d 的 MLWF 后,把同一 Ru 位点的 onsite Hamiltonian(5×5)对角化,对角化后的本征轨道才是“正确局域晶场”下的 t2gt_{2g}-like / ege_g-like(或在更低对称下的进一步分裂)。这一步能把“坐标系混合”问题一次性消掉。


2) 你的结构/外参可能让 “ege_g-like” 真的靠近了 EFE_F

如果你不是算“体相无应变的标准 RuO2_2”——例如:

  • 你用了外延应变、各向异性应变、薄膜晶格常数;
  • 或者结构优化后 Ru–O 键长/角度变化明显;
  • 或者存在缺陷/非化学计量;

那么 dd 轨道相对位置确实会被重排。一个很具体的例子:近期综述总结在应变调控下,EFE_F 附近会出现更“动量选择”的 Ru-4d 与 O-2p 杂化,甚至提到应变会把某些窄峰推向 EFE_F,并讨论到 dx2y2d_{x^2-y^2} 等轨道在应变下的角色。 (Springer)
所以如果你的模型里有应变/畸变,“ege_g”更显著也可能是物理上真实的,不是 bug。


那么:Wannier90 我到底该怎么投影最稳?

在你现在“t2g/egt_{2g}/e_g 归属有点打架”的情况下,我反而建议你先别强行只投 t2gt_{2g},用更鲁棒的做法:

首选(最稳、最不怕你现在的困惑)

  • Ru:投影 5 个 d(全 d)
  • O:投影 p(每个 O 3 个 p)

也就是每个化学式 RuO2_25(Ru-d) + 6(2×O-p) = 11 个 Wannier
这样无论低能到底更像 t2gt_{2g} 还是混进了更多 “ege_g-like”,都能被 Hamiltonian 自己表达出来;之后你再用我上面说的 onsite 对角化来“重新命名”哪 3 个是低能 t2gt_{2g}-like。

什么时候才考虑只投 t2gt_{2g}(3 个)?

只有当你已经确认:

  • 你关心的能窗里确实就是“3 条 Ru-t2gt_{2g}-like + O-p 杂化”,
  • disentanglement 很干净、插值误差也小,

才值得把 Ru 从 5d 缩到 3(t2gt_{2g})。否则很容易因为“你定义的 t2gt_{2g}”和“体系真正的低能子空间”不一致而翻车。


额外提醒:你算的 Berry 相位是哪一种?

RuO2_2 是金属/半金属体系时,“绝缘体极化那套 Berry phase(对全部占据带)”在概念上要非常小心;但如果你算的是:

  • 围绕某条简并/节点线的闭合回路 Berry 相位,
  • 或 Berry 曲率相关量(AHE/SHE 等)用 Wannier 插值,

那就完全 OK,只要你的 Wannier 插值在目标能窗/目标 k 区域足够准。

如果你愿意把两条信息贴一下(不用很长):
1)你现在用的结构是体相晶格常数还是应变/优化后的?
2)你关注的 Berry 相位是“围绕节点的回路”还是“曲率/AHC”?
我可以更具体地给你:推荐的能窗(frozen/dis_win)、是否必须开 SOC、以及怎么从 Wannier onsite 对角化里把 t2g/egt_{2g}/e_g 可靠地分出来。

Domanda

为什么我注意到有些文章中认为RuO2中Ru的t2g轨道是dxz,dyz,dx2-y2?

Pensiero

Explaining switch due to rotation in oxides

arXiv 2108.01972 confirms that the d(x2-y2) orbital turns into d(xy) after a 45° axis rotation. This explains the orbital swap in rutile RuO2 where the local coordinate system is rotated 45°, leading to a switch between dxy and dx2-y2. The rotation also causes additional low-symmetry splitting within t2g orbitals. I'll cite these sources to support the point and provide transformation formulas for the rotation.

Understanding t2g orbital definitions and DFT projections

When you encounter t2g = {dxz, dyz, dx2-y2}, it likely means their dx2-y2 corresponds to dxy in standard axes. Always check coordinate definitions in figures or appendices, especially if the axes are aligned with Ru-O bonds. For DFT and Wannier, use all five d orbitals, then rotate to the crystal field basis.

Clarifying rutile symmetry and orbital labeling

In rutile, the local symmetry is D2h, so t2g/eg classifications are still approximate. The swapping of labels is due to coordinate rotation and different axes definitions. The 45° rotation swaps dxy and dx2-y2 orbitals. Reference appropriate citations for this symmetry and switch.

Thought for 2m 54s

Risposta

因为**“t2gt_{2g} 是哪三个 dd 轨道”这件事,严格来说取决于你用的“局域坐标系(local axes)”怎么选**。在 RuO2_2(金红石)这种低对称 + 八面体还带畸变/旋转的体系里,不同文章为了方便(尤其是配合实验散射几何、或配合 RuO6_6 八面体的主轴方向)会选不同坐标系,于是你就会看到有的写法把 “t2gt_{2g}” 写成 dxz,dyz,dx2y2d_{xz}, d_{yz}, d_{x^2-y^2}


1) 标准教科书定义(坐标轴沿着 M–O 键)

在理想八面体、并且把 x,y,zx,y,z 轴取在配体方向时:

  • t2g=dxy,dxz,dyzt_{2g} = d_{xy}, d_{xz}, d_{yz}
  • eg=dz2,dx2y2e_g = d_{z^2}, d_{x^2-y^2} (chem.ualberta.ca)

2) RuO2_2 里常见的“交换”来自 zz 轴转 45°

很多 RuO2_2/金红石相关论文会把**正交晶场(或八面体主轴)**选成相对“标准轴”**旋转 45°**的方向。这样一来,在新坐标系 (x,y,z)(x',y',z) 下:

dx2y2=cos2θdx2y2+sin2θdxydxy=sin2θdx2y2+cos2θdxy\begin{aligned} d_{x'^2-y'^2} &= \cos 2\theta\, d_{x^2-y^2} + \sin 2\theta\, d_{xy}\\ d_{x'y'} &= -\sin 2\theta\, d_{x^2-y^2} + \cos 2\theta\, d_{xy} \end{aligned}

θ=45\theta=45^\circ 时,cos90=0, sin90=1\cos 90^\circ=0,\ \sin 90^\circ=1,于是得到非常关键的结论:

  • dx2y2=dxyd_{x'^2-y'^2} = d_{xy}
  • dxy=dx2y2d_{x'y'} = -d_{x^2-y^2}

也就是说:转 45° 会把 “dxyd_{xy}” 和 “dx2y2d_{x^2-y^2}”(在命名上)互换(差一个符号不影响物理)

这不是我猜的——有些 RuO2_2 文章/补充材料会把这句话直接写出来:他们把 dx2y2d_{x^2-y^2}dxyd_{xy} “switch”,原因就是晶场主轴相对标准轴旋转了 45°。(arXiv)
也有文章非常直白地说:文中写的 d(x2y2)d(x^2-y^2) 其实就是把坐标系绕 zz 轴旋转 45° 后的 d(xy)d(xy)。(arXiv)

所以你看到“t2g=dxz,dyz,dx2y2t_{2g}=d_{xz},d_{yz},d_{x^2-y^2}”通常意味着:
作者的 dx2y2d_{x^2-y^2} 在他们的局域坐标里,对应你习惯坐标里的 dxyd_{xy}-like(或反过来),本质上还是同一组三个“介于配体方向之间”的轨道。


3) 实操建议(避免被命名绕晕)

  • 比较不同论文时,先找它的坐标系定义图/散射几何/“local axes”说明;看到“switch/45° rotation”基本就破案了。(arXiv)
  • 做 DFT / Wannier 时,别太纠结“名字”,更稳的方法是:
    1. 先用 **Ru 的全 5d(必要时 + O 的 2p)**建 Wannier 子空间;
    2. 再对同一 Ru 位点的 5×5 onsite Hamiltonian 对角化,得到真正的“局域晶场本征轨道”(你再把其中 3 个称作 t2gt_{2g}-like 就不会因坐标系而变了)。

如果你愿意贴一下:你看到那篇文章里 “坐标系/晶场主轴” 是怎么定义的(通常在 Fig.1 或 Appendix),我可以帮你把它的 dx2y2d_{x^2-y^2} 精确对应回你当前计算里 PROCAR/PDOS 的哪个分量。

Domanda

我明白了,那这个变换关系是什么?我发现我这里Ru的z方向是沿着[110]方向

Pensiero

Explaining coordinate transformation for z-axis along [110]

The user is asking about transforming orbitals when the z-axis is aligned along [110]. I’ll detail the process, starting by defining global and local axes, and then explaining how to rotate the orbitals. The local coordinate system involves adjusting the axes and considering gauge freedom.

Confirming right-handedness and rotation matrix

I computed cross products and confirmed the right-handedness of the coordinate system. The local axes I chose are: x'=[-1,1,0]/√2, y'=[0,0,1], and z'=[1,1,0]/√2. Then I constructed the rotation matrix, where the columns represent the local axes in the global basis. This matrix helps with rotation transformations.

Transforming d orbitals under rotation

I need to describe how d orbitals transform under rotations, specifically using Wigner D matrices for l=2. This could get a bit complex, so I’ll focus on a rotation involving 45° about the z-axis, then about x'. Since the user’s Ru z direction is along [110], I'll outline a method for transforming cubic d orbitals to the local system.

Transforming d orbitals with new z-axis orientation

Real d orbitals correspond to specific quadratic forms, like d_{x²-y²} ∝ x² - y². To transform them under rotation, I’ll substitute global coordinates in terms of local ones and expand them, mapping onto the basis. This transformation will help compute how the orbitals, like d_xy and d_x²-y², change with a z-axis along [110].

Calculating orbital transformations between bases

I’m using a 45° rotation formula in the xy-plane. However, with the z-direction now along [110], we swap axes, defining the new local z' as (x+y)/√2. I’ll compute the transformation of d orbitals, like d_{x'z'} and d_{y'z'}, and then express them in global coordinates, revealing interesting relationships between orbital types.

Deriving transformations with invariants

I'm using invariants to express the transformation components. For instance, A = x^2 - y^2 and B = xy, and I calculate the traceless nature of the orbital combinations by checking the trace for consistency. After working through the formulas, I express the final result as a combination of d orbitals.

Deriving transformation matrix for d orbitals

I’m mapping the local d orbitals to the global d orbitals under rotation. x'z' translates to d_{x^2-y^2} due to rotation, but I need to be careful about normalization. The transformation matrix between local and global bases is crucial, and the user likely wants to see it clearly defined, including constants and possibly spherical harmonics. Given the tricky nature of the axis rotation, I'll need to present it properly.

Explaining axis rotation and orbital transformations

The user's question relates to an axis swap and 45° rotation, so I’ll explain the transformation of d orbitals under these conditions. I'll break it down by defining the local and global axes, and show the relationships between the local orbitals and their expressions in terms of global orbitals. I'll emphasize the importance of normalization, practical projections, and gauge freedom when interpreting transformations across different papers.

Explaining t2g orbital transformation across local and global frames

When the local z-axis is along [110], the t2g orbitals (xy, xz, yz) in local coordinates correspond to combinations in global coordinates. Depending on axes choices and axis redefinitions, references to orbitals like dxz, dyz, and dx2-y2 might emerge. Variations in coordinate definitions can lead to differing labels, but the underlying orbital mapping remains similar.

Explaining orbital transformation and PDOS comparison

To explain the orbital transformation: define both global and local axes, then give the corresponding rotation matrix and orbital function mappings. This allows for the mixing of orbitals when rotating about the z' axis. If comparing with PDOS, ensure the projection matches the local frame for proper t2g/eg decomposition.

Thought for 5m 44s

Risposta

你这个情况本质上就是:你用来定义“局域 x,y,zx,y,z”的坐标轴变了(你说的“Ru 的 zz 沿 [110]”),于是“哪些具体写成 dxyd_{xy}dx2y2d_{x^2-y^2}”会发生线性组合/互换;但**t2gt_{2g} 这个三维子空间本身没变**(任意正交线性组合仍然是 t2gt_{2g})。

下面我给你一个最常用、并且右手系的局域坐标选择,以及对应的显式变换关系(“到一个常数因子/归一化为止”,符号也不影响物理):


1) 坐标系怎么取(你说 z[110]z'\parallel[110]

令全局晶轴

x[100],y[010],z[001].x\parallel[100],\quad y\parallel[010],\quad z\parallel[001].

你给的局域轴取为

z=x+y2[110],x=x+y2[1ˉ10],y=z[001].z'=\frac{x+y}{\sqrt 2}\parallel[110],\quad x'=\frac{-x+y}{\sqrt 2}\parallel[\bar110],\quad y'=z\parallel[001].

这是一个标准的右手系(x×y=zx'\times y'=z')。


2) 把局域 dd 轨道写成全局 dd 轨道的线性组合

用实 dd 轨道对应的二次型:

dx2y2x2y2,  dxyxy,  dxzxz,  dyzyz,  dz2(2z2x2y2).d_{x^2-y^2}\propto x^2-y^2,\; d_{xy}\propto xy,\; d_{xz}\propto xz,\; d_{yz}\propto yz,\; d_{z^2}\propto (2z^2-x^2-y^2).

x=x+y2,y=z,z=x+y2x'=\frac{-x+y}{\sqrt2},\quad y'=z,\quad z'=\frac{x+y}{\sqrt2}

代进去,就得到:

(A)局域的三个 t2gt_{2g}(按“局域轴”定义就是 dxy,dxz,dyzd_{x'y'},d_{x'z'},d_{y'z'}

dxydxz+dyz2,dyzdxz+dyz2,dxzdx2y2.\boxed{ \begin{aligned} d_{x'y'} &\propto \frac{-d_{xz}+d_{yz}}{\sqrt2},\\[4pt] d_{y'z'} &\propto \frac{d_{xz}+d_{yz}}{\sqrt2},\\[4pt] d_{x'z'} &\propto -\,d_{x^2-y^2}. \end{aligned}}

注意第三条非常关键:zz'xyxy 平面内时,局域的 dxzd_{x'z'} 会“长得像”全局的 dx2y2d_{x^2-y^2}

因此,同一个 t2gt_{2g} 子空间完全可以写成全局基底的

t2g span {dxz,dyz,dx2y2}\boxed{\text{$t_{2g}$ span } \{d_{xz},\, d_{yz},\, d_{x^2-y^2}\}}

(因为前两条只是 dxz,dyzd_{xz},d_{yz} 的旋转组合,张成的空间相同)。

这就解释了你看到的“有些文章写 t2g=dxz,dyz,dx2y2t_{2g}=d_{xz},d_{yz},d_{x^2-y^2}”——他们用的就是类似这种把局域 zz 放到 [110] 的坐标约定,或者等价的轴置换/旋转。

(B)局域的两个 ege_g 会落在全局的 {dxy,dz2}\{d_{xy},d_{z^2}\} 子空间里

同样代换可得(只给你结论,仍“到归一化为止”):

dx2y2dxy12dz2,dz23dxy12dz2.\boxed{ \begin{aligned} d_{x'^2-y'^2} &\propto -\,d_{xy}-\frac12 d_{z^2},\\[4pt] d_{z'^2} &\propto 3\,d_{xy}-\frac12 d_{z^2}. \end{aligned}}

所以在你这种坐标下,“看起来像 ege_g”的成分,可能会主要投影到全局的 dxyd_{xy} 上,而不是你直觉里的 dz2/dx2y2d_{z^2}/d_{x^2-y^2}


3) 为什么不同文章会写得不一样?

即便都固定了 z[110]z'\parallel[110]绕着 zz' 仍然可以任意再转一个角度 χ\chi。这会在子空间内部进一步混合:

  • (dxz,dyz)(d_{x'z'}, d_{y'z'}) 会像二维向量一样转动;
  • (dx2y2,dxy)(d_{x'^2-y'^2}, d_{x'y'}) 会按 2χ2\chi 的角度混合。

所以不同文章只要局域 x,yx',y' 的选取不同,就会写出不同“具体是哪三个”的 t2gt_{2g} 名字,但它们指的是同一个三维空间


如果你接下来要把你计算里的 PDOS/PROCAR 和文献一一对上,关键是确认:你的程序输出的 dd 分波是按全局晶轴,还是按你定义的局域轴。如果是全局轴,而你又想讨论“局域晶场意义的 t2g/egt_{2g}/e_g”,最稳的办法是:用 Wannier(Ru 全 5d + O 2p)后对 Ru 位点的 5×5 onsite Hamiltonian 对角化,得到真正的“局域晶场本征轨道”,那样就不会被坐标系命名绕晕。

Domanda

image.pngimage.png

我的这个体系因为有2个Ru原子(保证其反铁磁),因而VASP的默认BANDS是32,我现在想使用wannier90,但我不知道我的能量window该怎么取,看上去这个体系不是那么容易解纠缠(图中为计算能带图)

Python

python
from PIL import Image, ImageEnhance img=Image.open('/mnt/data/image.png') img.size (1404, 1098)

Python

python
import matplotlib.pyplot as plt, numpy as np plt.figure(figsize=(12,8)) plt.imshow(img) plt.axis('off') plt.show()

Pensiero

Assessing energy bands and Wannier options

I'm analyzing the energy bands, with a range from -10 to +6 eV around the Fermi level. There are segments highlighted in blue, possibly corresponding to t2g orbitals. With the supercell having 2 Ru, the bands double, and it seems 32 bands should be enough for the calculation. I'll select the Ru 5d and O 2p orbitals.

Guidance for Wannier90 setup

For the user: Set num_wann based on the number of orbitals you're working with. For energy window, set dis_win_min/max to span the relevant bands while keeping it wide enough to reproduce. Frozen window should focus on bands near EF. A typical range is -2.5 to +2.5 eV for frozen, with an outer window from -8 to +6 eV. This ensures good disentanglement for metallic systems.

Adjusting energy window based on band plot

Looking at your band plot, it seems like the O 2p bands are around -8 to -2 eV, with some groupings from -8 to -6 likely from O 2s, though that's deeper at around -18 eV. For disentanglement, we can set an outer window from -8 to +5.5 eV, but need to ensure the number of bands within the window is at least as large as num_wann at each k-point. With 32 bands, this looks fine, as long as no more bands are included than computed.

Adjusting NBANDS and settings for stability

For disentanglement stability, I recommend increasing the number of bands beyond the default NBANDS, aiming for around 50-80 bands, especially for a metallic system. You’ll need extra unoccupied states to define the outer window properly. Start with NBANDS ≥ num_wann + 10-30. Also, ensure LORBIT=11 for projections, and use LWANNIER90=.TRUE. for Wannier. Since you're focusing on energy windows, we should consider the bands within your target energy range for interpolation.

Setting up Berry curvature and Wannier90 parameters

For Berry curvature near EF, I recommend using an energy window like [-1,1] or [-2,2]. Start with num_wann based on the orbitals (Ru d, O p) and set projections. Use dis_froz to include cleanly separated bands, keeping the number of bands within this window ≤ num_wann at each k-point. Ensure that the outer window has enough states, and consider using visualizations like wannier_plot=true and disentanglement=true. For AFM, separate spin channels are needed, and SOC might be essential for Berry curvature computation.

Proposing a robust disentanglement workflow for Wannier fits

The blue lines likely represent orbital character markers, potentially projections of orbital weights like fat bands. The issue with disentangling could be related to the window settings, so I suggest using postw90 to visualize the spread and adjusting the windows. For optimal results, select 22 WFs (Ru d + O p) and refine your energy windows, like dis_win_min=-8.0 and dis_win_max=5.5. If focusing on Berry curvature near EF, you can exclude high conduction bands above 2 eV.

Refining the frozen window and band selection process

To set the frozen window, include the entire d+p manifold (roughly -7 to +2) but ensure the total number of bands within the window equals num_wann (22 bands). For accuracy, monitor the band count and avoid exceeding 22. If the window is too broad, consider narrowing it to avoid unnecessary bands like Ru s. Use Wannier90’s output warnings to guide adjustments.

Selecting appropriate energy windows and projections

For a stable disentanglement, set NBANDS = num_wann + 20 (with 60 bands for a 2-Ru cell). Use projections with 5 Ru d orbitals and 3 O p orbitals. Start outer window at -8 eV and end at +5 eV, making sure it includes at least num_wann bands at each kk-point. Adjust frozen window to cover near the Fermi level, starting from -6.5 eV to +2.0 eV.

Adjusting frozen window and handling spin polarization

Set the frozen window to (-6.5, +1.5). Run the calculation and check if the frozen window contains more than num_wann states—if so, adjust the window by tightening the maximum or raising the minimum energy. Pay attention to energy mismatches, adjusting the outer window or NBANDS if needed. For spin-polarized AFM, ensure the Wannier functions are treated correctly for each spin channel.

Berry phase and disentanglement considerations

For Berry phase in collinear AFM without SOC, we can treat spins separately, as the Berry curvature contributions may cancel out. However, SOC is important for topological features. Start without SOC and verify. Ensure good initial projections, use projections and wannier_plot, and consider exclude_bands for high-energy bands. Choose 22 WFs for robustness, adjusting NBANDS to about 1.5 times num_wann.

Thought for 4m 23s

Risposta

你这个图看起来费米能级附近是金属态、多条带交缠,用 wannier90 一定要走 disentanglement(解纠缠)。能量窗口怎么取,核心不是“看起来像不像”,而是满足两条硬条件 + 一套调参流程。


1) 先把 num_wann 定死:你的 2-Ru 反铁磁胞 = 2 个化学式单元

对 RuO2_2 最稳的低能模型一般是 Ru-4d + O-2p

  • 每个 RuO2_2(1 f.u.):Ru 5d(5)+ 2×O 2p(6)= 11 个 WFs
  • 你现在胞里有 2 个 Ru(=2 f.u.):num_wann = 22

在你已经遇到 “t2g/eg 定义容易被坐标系搅乱 + 带交缠明显” 的情况下,我强烈建议先用 22(Ru 全 d + O 全 p),不要一上来就缩到 t2g-only(18 个),否则很容易因为“你定义的 t2g 子空间”与实际低能子空间不完全一致导致解纠缠不稳定、插值乱跳。


2) 你现在 NBANDS=32 很可能太紧:先加 NBANDS 再谈窗口

wannier 的解纠缠需要在外窗口里“可选择的 Bloch 态”足够多。

经验上(尤其金属):

  • NBANDS 至少要比 num_wann 大一截,建议 NBANDS ≳ num_wann + 10~30
  • num_wann=22 时,NBANDS=32 只是“勉强够”,很容易出现:某些 k 点外窗口里可用态数 ≈ 22,算法选择空间太小 → 解纠缠敏感、拟合差

✅ 建议你先把 VASP 里 NBANDS 提到 50~70 再做 wannier(开 SOC 时甚至更需要)。


3) 能量窗口怎么取:两个硬条件(不满足就必炸)

wannier90 的窗口有两层:

  • dis_win_min/max:外窗口(参与解纠缠的候选能带)
  • dis_froz_min/max:冻结窗口(你“必须精确重现”的那部分带)

硬条件 A: 对每个 k 点,外窗口里能带数必须满足

Nwin(k)num_wannN_\text{win}(k) \ge \text{num\_wann}

否则解纠缠无解。

硬条件 B: 对每个 k 点,冻结窗口里能带数必须满足

Nfroz(k)num_wannN_\text{froz}(k) \le \text{num\_wann}

否则会报错(冻结的带比你 Wannier 数还多,装不下)。

所以窗口不是“看着顺眼”,而是:先满足 A/B,再追求插值精度。


4) 给你一套“从你这张图出发”的可用起始窗口(按 EEFE-E_F

从图上看,主要的 d/p 混合带大概覆盖到 -8 eV 左右,上方到 +4~+5 eV 还有明显的导带分支。一个很常用、也比较稳的起步是:

起步方案(推荐先跑通)

  • 外窗口dis_win_min = -8.5dis_win_max = +5.5
  • 冻结窗口(只锁定你最关心、最需要精确的部分):
    如果你主要算费米面附近 Berry 量,先用
    dis_froz_min = -2.0dis_froz_max = +2.0

这样做的好处是:冻结窗口窄,不容易违反条件 B;外窗口宽,给解纠缠足够自由度(前提是 NBANDS 够)。

如果你想“把整个 d+p 流形都锁死”(更贴带但更容易违反 B)

等你确认外窗口态数足够后,再尝试把冻结窗口拓宽到例如:

  • dis_froz_min = -6.5dis_froz_max = +1.5

但一旦出现 wout 里提示某些 k 点 N_froz > num_wann,就把 dis_froz_max 往下收(通常先收上边界更有效)。


5) 你怎么快速判断该往哪调?看 wannier90.wout 这几行就够了

跑完后打开 wannier90.wout,你会看到每个 k 点(或统计)的类似信息(不同版本表述略有差异):

  • 外窗口里选到的 band 数是否有 小于 num_wann 的 k 点
    → 有的话:增大 NBANDS缩小外窗口上边界(让外窗口别去碰你没算到的高能态)
  • 冻结窗口里 band 数是否有 大于 num_wann 的 k 点
    → 有的话:缩小冻结窗口(优先把 dis_froz_max 往下收)

然后再看 bands_plot(wannier 插值 vs DFT):

  • EF 附近不贴:先改冻结窗口(让 EF 附近落在 froz 内)
  • 整体形状乱:通常是 NBANDS 不够 或 外窗口太窄导致选择空间不足
  • 某些能段贴、某些不贴:可能 num_wann 太少(比如你用 18 个强行 t2g-only),回到 22 个更稳

6) 你这个体系“看起来不容易解纠缠”的额外小技巧(很管用)

  1. 用 22 个(Ru 5d + O 2p)先跑通,别急着降维
  2. 增加 NBANDS(这条往往比你怎么微调窗口更关键)
  3. projections 写清楚(每个 Ru 都投 d,每个 O 都投 p),让初始子空间接近目标
  4. 如果还是敏感:把 dis_froz 先缩到只覆盖 ±12\pm 1\sim2 eV,先把你要的 Berry 物理量做稳,再逐步加宽

如果你把 你准备用的投影(num_wann 是 22 还是 18)、以及你要算的 Berry 量是 “费米面附近 Berry 曲率/AHC” 还是 “某条回路 Berry 相位” 说一下,我可以直接给你一份更贴你目的的 *.win 模板(窗口、投影、是否 spinors/SOC、以及更合适的 froz/win 范围)。

Domanda

image.pngimage.png

我现在想定一下RuO2在wannier90中的window(我这个体系里有两个Ru原子,因为体系是反铁磁),但我看基本都是不能去纠缠的,我该怎么办?(能带图在附件中)

Domanda

我尝试了一下,它显示:
param_get_projections: too few projection functions defined

Pensiero

Clarifying VASP parameters and projections

In VASP, NBANDS is the total number of bands per spin per k-point. For ISPIN=2, it means double the bands for each spin. The user's AFM setup with Ru atoms may still plot both spins together. The error too few projection functions hints that projections count should match num_wann.

Clarifying Wannier90 projections and num_wann

In Wannier90, specifying Ru:d projects onto all Ru atoms, creating 5 projections per atom, so for 2 Ru atoms, that's 10 functions. Similarly, O:p for all O atoms creates 3 projections per atom. If num_wann=22, it should match. The error suggests projections were defined improperly, or num_wann was too large.

Breaking down disentanglement and AFM with Wannier90

The user’s issue with disentanglement might stem from having too few bands in the outer window or an issue with win_max being too high while NBANDS is low. For AFM collinear with 2 Ru atoms, treat each spin separately and consider num_wann per spin channel. For VASP, with ISPIN=2, separate seedname.win files for each spin might be necessary.

Fixing projection errors in Wannier90

The user's error comes from wannier90.x not parsing the win file correctly. To fix this, make sure the number of projections matches num_wann. Treat orbital entanglement by expanding projections or widening the outer window. Tuning parameters like NBANDS and the frozen window, along with symmetry constraints, might also help.

Fixing and streamlining Wannier90 workflow for 2 Ru + 4 O cell

For a 2 Ru + 4 O system, use either automatic projections like:

text
num_wann = 22 begin projections Ru:d O:p end projections

Or explicit projections defining orbitals per atom. Ensure each spin channel (spin = up and spin = down) is separately run. Set window and NBANDS appropriately — consider increasing NBANDS to 60. Use wannier_plot = true to visualize and refine; apply dis_proj_min if needed for accuracy.

Providing a practical approach to Wannier90 disentanglement

When disentanglement fails, ensure the projection functions cover all orbital components (e.g., Ru:d, O:p) and adjust num_wann to match the total number of projections. For tricky cases, try these parameters:

text
dis_num_iter = 2000 dis_mix_ratio = 0.5 dis_conv_tol = 1e-10 guiding_centres = true

Also, ensure consistent kmesh with VASP settings and avoid band structure k-path for better results.

Thought for 2m 34s

Risposta

你现在这个报错其实跟“解纠缠难不难”还没关系——它是 .win 里定义的投影函数个数 < num_wann,wannier90 在读入阶段就直接停了:

param_get_projections: too few projection functions defined


1) 这句报错到底是什么意思?

在 wannier90 里:

  • num_wann = 你要生成的 Wannier 函数数目
  • begin projections ... end projections 里你写的每一行,会展开成若干个“投影函数”
    • s → 1 个
    • p → 3 个
    • d → 5 个

如果你写的投影总数 少于 num_wann,就会出现这个报错。


2) 你的 AFM 超胞(2 Ru)最稳的设置:num_wann = 22

你这个胞里 2 个 Ru = 2 个 RuO₂ 化学式单元,一般最低能想覆盖 Ru-4d 与 O-2p:

  • 2×Ru(d) = 2×5 = 10
  • 4×O(p) = 4×3 = 12
    合计 22

所以最推荐的“先跑通版本”是:

text
num_wann = 22 begin projections Ru:d O:p end projections

注意:Ru:d 会自动对胞里所有 Ru 原子各放 5 个 d 投影;O:p 同理会对所有 O 放 3 个 p 投影。
只要你的胞真的是 2 Ru + 4 O,这两行加起来就是 22 个投影,报错就会消失。

如果你现在仍报错,最常见原因是:

  • 你只写了 Ru:d,没写 O:p(那就只有 10 个投影)
  • 或者你把 num_wann 设成了比 22 更大,但投影没跟上

3) 你说“基本不能解纠缠”,最关键往往是 NBANDS 太少

你之前提到 VASP 默认 NBANDS=32。对金属体系做 disentanglement 时,外窗口里每个 k 点必须有至少 num_wann 条带可选,否则解纠缠会非常敏感甚至失败。

你若用 num_wann=22NBANDS=32 只是“勉强够”,强烈建议:

  • 把 VASP 的 NBANDS 提到 60 左右(至少 num_wann + 20

这样外窗口才能开得比较宽,不会在某些 k 点“候选带不够”。


4) 给你一个能直接起步的 window(按你图的能量范围)

先用一个“宽外窗 + 窄冻结窗”的稳健起步(能量单位 eV,零点通常就是 EF=0):

text
dis_win_min = -8.5 dis_win_max = 5.5 dis_froz_min = -2.0 dis_froz_max = 2.0

这套思路是:先把 EF 附近 ±2 eV 拟合得很准(你要 Berry 相关量一般也主要靠这里),外窗给足自由度去“挑”出正确子空间。


5) 下一步你应该怎么排查(很快定位问题)

跑起来后看 wannier90.wout,重点就两件事:

  1. 有无提示某些 k 点 外窗口内 band 数 < num_wann
    → 继续加 NBANDS 或者收窄 dis_win_max

  2. 有无提示某些 k 点 冻结窗口内 band 数 > num_wann
    → 收窄冻结窗(通常先把 dis_froz_max 往下收)


如果你把你现在的 *.win 里这几段(num_wann/num_bands/projections/windows)贴出来(不用全文件),我可以直接帮你把 投影数是否匹配、以及 window/NBANDS 哪里会导致解纠缠失败一眼改到能跑通的版本。

Condividi questa Q&A