7. Constraining the WF center

The matrix manifold based view point of Wannierization provides a transparent way to apply constraint on WF centers, during both disentanglement and maximal localization. Instead of localizing the MV spread functional, we optimize

\[\Omega_r = \Omega + \lambda(\langle \bm{r} \rangle - \bm{r}_0)^{2},\]

where $\lambda$ is a Lagrange multiplier, and $r_0$ is the desired center.

In this tutorial, we will start from the s, p initial projections of silicon valence + conduction bands, add WF center penalty, to force the WFs to be centered at the bond centers, i.e., bonding and anti-bonding orbitals.

Outline

  1. construct a Model, by reading the win, amn, mmn, and eig files
  2. disentangle, without WF center penalty
  3. disentangle, with WF center penalty
Tip

This is a HTML version of the tutorial, you can download corresponding

Preparation

Load the package

using Wannier

Model generation

We will use the read_w90 function to read the win, amn, mmn, and eig files, and construct a Model that abstracts the calculation

model = read_w90("si2")
lattice: Å
  a1:  0.00000  2.71527  2.71527
  a2:  2.71527  0.00000  2.71527
  a3:  2.71527  2.71527  0.00000

atoms: fractional
  Si:  0.00000  0.00000  0.00000
  Si:  0.25000  0.25000  0.25000

n_bands: 16
n_wann : 8
kgrid  : 4 4 4
n_kpts : 64
n_bvecs: 8

b-vectors:
         [bx, by, bz] / Å⁻¹                weight
  1       0.28925   -0.28925    0.28925    1.49401
  2      -0.28925   -0.28925   -0.28925    1.49401
  3      -0.28925    0.28925   -0.28925    1.49401
  4      -0.28925   -0.28925    0.28925    1.49401
  5       0.28925    0.28925   -0.28925    1.49401
  6      -0.28925    0.28925    0.28925    1.49401
  7       0.28925   -0.28925   -0.28925    1.49401
  8       0.28925    0.28925    0.28925    1.49401

Disentanglement

First let's disentangle the valence + conduction manifold, without WF center penalty

U = disentangle(model);
[ Info: Initial spread
  WF     center [rx, ry, rz]/Š             spread/Ų
   1    -0.00000     0.00000     0.00000     1.33119
   2     0.00001     0.00011    -0.00000     1.92293
   3    -0.00000     0.00011     0.00011     1.92297
   4     0.00001    -0.00000     0.00011     1.92303
   5     1.35763     1.35763     1.35763     1.33119
   6     1.35762     1.35752     1.35763     1.92293
   7     1.35763     1.35752     1.35752     1.92297
   8     1.35762     1.35763     1.35752     1.92303
Sum spread: Ω = ΩI + Ω̃, Ω̃ = ΩOD + ΩD
   ΩI  =     9.69628
   Ω̃   =     4.50396
   ΩOD =     4.49427
   ΩD  =     0.00968
   Ω   =    14.20024


[ Info: Initial spread (with states freezed)
  WF     center [rx, ry, rz]/Š             spread/Ų
   1     0.00000     0.00000     0.00000     1.79953
   2     0.00000    -0.00000    -0.00000     2.44042
   3     0.00000    -0.00000     0.00000     2.44042
   4    -0.00000    -0.00000    -0.00000     2.44042
   5     1.35763     1.35763     1.35763     1.79953
   6     1.35763     1.35763     1.35763     2.44042
   7     1.35763     1.35763     1.35763     2.44042
   8     1.35763     1.35763     1.35763     2.44042
Sum spread: Ω = ΩI + Ω̃, Ω̃ = ΩOD + ΩD
   ΩI  =    12.82012
   Ω̃   =     5.42148
   ΩOD =     5.34421
   ΩD  =     0.07726
   Ω   =    18.24160


Iter     Function value   Gradient norm
     0     1.824160e+01     6.135873e-01
 * time: 0.004395961761474609
     1     1.609863e+01     8.063143e-02
 * time: 0.039566993713378906
     2     1.571861e+01     4.479970e-02
 * time: 0.06500411033630371
     3     1.559753e+01     3.171032e-02
 * time: 0.18116402626037598
     4     1.551187e+01     1.252183e-02
 * time: 0.2165989875793457
     5     1.548086e+01     8.310836e-03
 * time: 0.2519509792327881
     6     1.547552e+01     4.120118e-03
 * time: 0.2770700454711914
     7     1.547423e+01     1.505832e-03
 * time: 0.31289196014404297
     8     1.547405e+01     5.299607e-04
 * time: 0.34834909439086914
     9     1.547403e+01     4.244924e-04
 * time: 0.3841531276702881
    10     1.547402e+01     2.528288e-04
 * time: 0.4096529483795166
    11     1.547402e+01     8.185063e-05
 * time: 0.509821891784668
    12     1.547402e+01     4.605264e-05
 * time: 0.5460410118103027
[ Info: Final spread
  WF     center [rx, ry, rz]/Š             spread/Ų
   1     0.00000     0.00000     0.00000     1.44670
   2     0.00000     0.00000    -0.00000     2.09677
   3    -0.00000    -0.00000     0.00000     2.09677
   4    -0.00000    -0.00000    -0.00000     2.09677
   5     1.35763     1.35763     1.35763     1.44670
   6     1.35763     1.35763     1.35763     2.09677
   7     1.35763     1.35763     1.35763     2.09677
   8     1.35763     1.35763     1.35763     2.09677
Sum spread: Ω = ΩI + Ω̃, Ω̃ = ΩOD + ΩD
   ΩI  =    10.05117
   Ω̃   =     5.42285
   ΩOD =     5.36573
   ΩD  =     0.05711
   Ω   =    15.47402

Now we arrive at s, p WFs centered at atom centers,

omega(model, U)
  WF     center [rx, ry, rz]/Š             spread/Ų
   1     0.00000     0.00000     0.00000     1.44670
   2     0.00000     0.00000    -0.00000     2.09677
   3    -0.00000    -0.00000     0.00000     2.09677
   4    -0.00000    -0.00000    -0.00000     2.09677
   5     1.35763     1.35763     1.35763     1.44670
   6     1.35763     1.35763     1.35763     2.09677
   7     1.35763     1.35763     1.35763     2.09677
   8     1.35763     1.35763     1.35763     2.09677
Sum spread: Ω = ΩI + Ω̃, Ω̃ = ΩOD + ΩD
   ΩI  =    10.05117
   Ω̃   =     5.42285
   ΩOD =     5.36573
   ΩD  =     0.05711
   Ω   =    15.47402

Disentanglement with constraint

As has been done in the 1. Maximal localization of isolated manifold tutorial, we can use the find_nearests function to find the bond centers, which are

r₀ = [
    0.67882 -0.67882 -0.67882 0.67882 0.67882 -0.67882 -0.67882 0.67882
    -0.67882 -0.67882 0.67882 0.67882 -0.67882 -0.67882 0.67882 0.67882
    -0.67882 0.67882 -0.67882 0.67882 -0.67882 0.67882 -0.67882 0.67882
]
3×8 Matrix{Float64}:
  0.67882  -0.67882  -0.67882  0.67882   0.67882  -0.67882  -0.67882  0.67882
 -0.67882  -0.67882   0.67882  0.67882  -0.67882  -0.67882   0.67882  0.67882
 -0.67882   0.67882  -0.67882  0.67882  -0.67882   0.67882  -0.67882  0.67882

note each column is a target center.

We use 1.0 as the Lagrange multiplier,

λ = 1.0
1.0

First, we calculate the initial spread with WF center penalty, now we need to use omega_center instead of omega,

Wannier.omega_center(model, r₀, λ)
  WF     center [rx, ry, rz]/Å              spread/Ų  ω  ωc  ωt
   1    -0.00000     0.00000     0.00000     1.33119     1.38239     2.71358
   2     0.00001     0.00011    -0.00000     1.92293     1.38255     3.30549
   3    -0.00000     0.00011     0.00011     1.92297     1.38239     3.30535
   4     0.00001    -0.00000     0.00011     1.92303     1.38223     3.30526
   5     1.35763     1.35763     1.35763     1.33119     8.75506    10.08625
   6     1.35762     1.35752     1.35763     1.92293     8.75457    10.67751
   7     1.35763     1.35752     1.35752     1.92297     8.75447    10.67744
   8     1.35762     1.35763     1.35752     1.92303     1.38220     3.30523
Sum spread: Ωt = Ω + Ωc, Ω = ΩI + Ω̃, Ω̃ = ΩOD + ΩD
   Ωt  =    47.37610
   Ωc  =    33.17586
   Ω   =    14.20024
   ΩI  =     9.69628
   ΩOD =     4.49427
   ΩD  =     0.00968
   Ω̃   =     4.50396

where the last three columns, ω, ωc, ωt are the MV spread, the penalty, and the total spread for each WF. As expected, there are large penalties on WFs due to there centers.

Then disentangle with disentangle_center function,

U1 = disentangle_center(model, r₀, λ);
[ Info: Initial spread
  WF     center [rx, ry, rz]/Å              spread/Ų  ω  ωc  ωt
   1    -0.00000     0.00000     0.00000     1.33119     1.38239     2.71358
   2     0.00001     0.00011    -0.00000     1.92293     1.38255     3.30549
   3    -0.00000     0.00011     0.00011     1.92297     1.38239     3.30535
   4     0.00001    -0.00000     0.00011     1.92303     1.38223     3.30526
   5     1.35763     1.35763     1.35763     1.33119     8.75506    10.08625
   6     1.35762     1.35752     1.35763     1.92293     8.75457    10.67751
   7     1.35763     1.35752     1.35752     1.92297     8.75447    10.67744
   8     1.35762     1.35763     1.35752     1.92303     1.38220     3.30523
Sum spread: Ωt = Ω + Ωc, Ω = ΩI + Ω̃, Ω̃ = ΩOD + ΩD
   Ωt  =    47.37610
   Ωc  =    33.17586
   Ω   =    14.20024
   ΩI  =     9.69628
   ΩOD =     4.49427
   ΩD  =     0.00968
   Ω̃   =     4.50396

[ Info: Initial spread (with states freezed)
  WF     center [rx, ry, rz]/Å              spread/Ų  ω  ωc  ωt
   1     0.00000     0.00000     0.00000     1.79953     1.38239     3.18192
   2     0.00000    -0.00000    -0.00000     2.44042     1.38239     3.82281
   3     0.00000    -0.00000     0.00000     2.44042     1.38239     3.82281
   4    -0.00000    -0.00000    -0.00000     2.44042     1.38239     3.82281
   5     1.35763     1.35763     1.35763     1.79953     8.75506    10.55459
   6     1.35763     1.35763     1.35763     2.44042     8.75506    11.19549
   7     1.35763     1.35763     1.35763     2.44042     8.75506    11.19549
   8     1.35763     1.35763     1.35763     2.44042     1.38236     3.82278
Sum spread: Ωt = Ω + Ωc, Ω = ΩI + Ω̃, Ω̃ = ΩOD + ΩD
   Ωt  =    51.41871
   Ωc  =    33.17711
   Ω   =    18.24160
   ΩI  =    12.82012
   ΩOD =     5.34421
   ΩD  =     0.07726
   Ω̃   =     5.42148

Iter     Function value   Gradient norm
     0     5.141871e+01     6.242602e-01
 * time: 0.0044519901275634766
     1     4.551119e+01     1.554105e-01
 * time: 0.0418400764465332
     2     4.177915e+01     1.775544e-01
 * time: 0.0794670581817627
     3     3.815452e+01     1.142556e-01
 * time: 0.11723208427429199
     4     3.527368e+01     8.740494e-02
 * time: 0.15498709678649902
     5     3.278466e+01     9.874413e-02
 * time: 0.2578110694885254
     6     3.027711e+01     1.128481e-01
 * time: 0.29560399055480957
     7     2.775961e+01     1.039067e-01
 * time: 0.33287596702575684
     8     2.522508e+01     1.084466e-01
 * time: 0.37023210525512695
     9     2.309199e+01     7.927632e-02
 * time: 0.40793609619140625
    10     2.137551e+01     7.746493e-02
 * time: 0.44551897048950195
    11     2.015442e+01     6.228587e-02
 * time: 0.48319005966186523
    12     1.910341e+01     6.407832e-02
 * time: 0.520578145980835
    13     1.826504e+01     6.152310e-02
 * time: 0.6228151321411133
    14     1.758323e+01     6.980949e-02
 * time: 0.65997314453125
    15     1.694671e+01     5.148097e-02
 * time: 0.6972110271453857
    16     1.643278e+01     3.637169e-02
 * time: 0.7344491481781006
    17     1.601539e+01     3.740355e-02
 * time: 0.771726131439209
    18     1.570069e+01     3.790137e-02
 * time: 0.8090739250183105
    19     1.547133e+01     2.547564e-02
 * time: 0.8465070724487305
    20     1.529566e+01     2.693237e-02
 * time: 0.9495749473571777
    21     1.516174e+01     2.033466e-02
 * time: 0.9868021011352539
    22     1.505334e+01     2.423032e-02
 * time: 1.0240590572357178
    23     1.496660e+01     2.330651e-02
 * time: 1.0614590644836426
    24     1.488270e+01     1.732872e-02
 * time: 1.0989069938659668
    25     1.480827e+01     1.512787e-02
 * time: 1.136146068572998
    26     1.474092e+01     1.478235e-02
 * time: 1.173293113708496
    27     1.467948e+01     1.548079e-02
 * time: 1.2104599475860596
    28     1.462497e+01     1.346388e-02
 * time: 1.3053219318389893
    29     1.457279e+01     1.213910e-02
 * time: 1.3422510623931885
    30     1.452001e+01     1.505024e-02
 * time: 1.3792610168457031
    31     1.447352e+01     1.392017e-02
 * time: 1.4163451194763184
    32     1.443694e+01     1.269613e-02
 * time: 1.4534571170806885
    33     1.441082e+01     9.530009e-03
 * time: 1.4905710220336914
    34     1.438903e+01     8.680185e-03
 * time: 1.5277149677276611
    35     1.437123e+01     8.084113e-03
 * time: 1.6228950023651123
    36     1.435696e+01     7.296080e-03
 * time: 1.660187005996704
    37     1.434533e+01     6.870232e-03
 * time: 1.697632074356079
    38     1.433581e+01     6.213121e-03
 * time: 1.7350759506225586
    39     1.432762e+01     4.560134e-03
 * time: 1.7725629806518555
    40     1.432042e+01     4.927508e-03
 * time: 1.8100099563598633
    41     1.431422e+01     4.703799e-03
 * time: 1.8474020957946777
    42     1.430837e+01     5.161186e-03
 * time: 1.8858189582824707
    43     1.430230e+01     4.375159e-03
 * time: 1.9842700958251953
    44     1.429671e+01     4.914855e-03
 * time: 2.021631956100464
    45     1.429206e+01     4.529336e-03
 * time: 2.0589001178741455
    46     1.428789e+01     4.718275e-03
 * time: 2.096066951751709
    47     1.428373e+01     4.728993e-03
 * time: 2.1331441402435303
    48     1.427936e+01     4.067328e-03
 * time: 2.1700379848480225
    49     1.427519e+01     4.025320e-03
 * time: 2.2069880962371826
    50     1.427080e+01     4.811489e-03
 * time: 2.3017079830169678
    51     1.426554e+01     5.206415e-03
 * time: 2.3385660648345947
    52     1.425989e+01     6.114556e-03
 * time: 2.37540602684021
    53     1.425420e+01     5.560564e-03
 * time: 2.412285089492798
    54     1.424849e+01     5.345485e-03
 * time: 2.44931697845459
    55     1.424263e+01     4.650235e-03
 * time: 2.4862051010131836
    56     1.423743e+01     4.783608e-03
 * time: 2.523061990737915
    57     1.423308e+01     4.892709e-03
 * time: 2.6172850131988525
    58     1.422953e+01     4.610459e-03
 * time: 2.6544570922851562
    59     1.422653e+01     3.552166e-03
 * time: 2.691411018371582
    60     1.422427e+01     2.950846e-03
 * time: 2.7283289432525635
    61     1.422269e+01     2.815676e-03
 * time: 2.765259027481079
    62     1.422136e+01     2.553205e-03
 * time: 2.802204132080078
    63     1.422031e+01     2.322051e-03
 * time: 2.839195966720581
    64     1.421948e+01     1.827253e-03
 * time: 2.876189947128296
    65     1.421880e+01     1.830575e-03
 * time: 2.9712560176849365
    66     1.421820e+01     1.481196e-03
 * time: 3.0084190368652344
    67     1.421773e+01     1.699133e-03
 * time: 3.0457911491394043
    68     1.421734e+01     1.221767e-03
 * time: 3.0831949710845947
    69     1.421699e+01     1.035086e-03
 * time: 3.1204910278320312
    70     1.421667e+01     1.138761e-03
 * time: 3.1578140258789062
    71     1.421637e+01     1.153531e-03
 * time: 3.1950860023498535
    72     1.421613e+01     1.050299e-03
 * time: 3.290087938308716
    73     1.421590e+01     1.189060e-03
 * time: 3.3276119232177734
    74     1.421571e+01     9.106610e-04
 * time: 3.364629030227661
    75     1.421555e+01     7.664420e-04
 * time: 3.401447057723999
    76     1.421541e+01     7.162366e-04
 * time: 3.4383981227874756
    77     1.421528e+01     7.303721e-04
 * time: 3.475172996520996
    78     1.421517e+01     8.672785e-04
 * time: 3.511824131011963
    79     1.421507e+01     8.299648e-04
 * time: 3.548380136489868
    80     1.421498e+01     6.495339e-04
 * time: 3.6428000926971436
    81     1.421490e+01     6.401547e-04
 * time: 3.679219961166382
    82     1.421482e+01     7.780928e-04
 * time: 3.715916156768799
    83     1.421475e+01     5.953102e-04
 * time: 3.752671957015991
    84     1.421467e+01     6.539914e-04
 * time: 3.7894160747528076
    85     1.421460e+01     6.605057e-04
 * time: 3.826396942138672
    86     1.421453e+01     7.601512e-04
 * time: 3.863326072692871
    87     1.421445e+01     7.227036e-04
 * time: 3.9582040309906006
    88     1.421436e+01     6.771225e-04
 * time: 3.995337963104248
    89     1.421428e+01     6.319613e-04
 * time: 4.032376050949097
    90     1.421421e+01     7.628183e-04
 * time: 4.069455146789551
    91     1.421412e+01     7.562003e-04
 * time: 4.106621980667114
    92     1.421402e+01     8.858775e-04
 * time: 4.143702030181885
    93     1.421389e+01     1.032017e-03
 * time: 4.180773973464966
    94     1.421370e+01     1.396906e-03
 * time: 4.217836141586304
    95     1.421336e+01     1.417632e-03
 * time: 4.3128180503845215
    96     1.421256e+01     2.626765e-03
 * time: 4.349996089935303
    97     1.421062e+01     2.508767e-03
 * time: 4.387232065200806
    98     1.420863e+01     4.077040e-03
 * time: 4.413782119750977
    99     1.420465e+01     8.115206e-03
 * time: 4.440356016159058
   100     1.419562e+01     9.638571e-03
 * time: 4.4774720668792725
   101     1.418284e+01     7.003445e-03
 * time: 4.5145790576934814
   102     1.416522e+01     1.282492e-02
 * time: 4.541260004043579
   103     1.413663e+01     7.319819e-03
 * time: 4.625324964523315
   104     1.409797e+01     1.137819e-02
 * time: 4.6520750522613525
   105     1.406908e+01     1.551680e-02
 * time: 4.678635120391846
   106     1.404043e+01     8.036903e-03
 * time: 4.716172933578491
   107     1.399818e+01     1.222842e-02
 * time: 4.75330114364624
   108     1.397809e+01     8.049092e-03
 * time: 4.779739141464233
   109     1.395343e+01     9.203412e-03
 * time: 4.817017078399658
   110     1.393863e+01     7.755720e-03
 * time: 4.855158090591431
   111     1.392722e+01     6.743063e-03
 * time: 4.892483949661255
   112     1.391865e+01     4.669041e-03
 * time: 4.987519025802612
   113     1.391287e+01     4.704973e-03
 * time: 5.024906158447266
   114     1.390922e+01     3.460858e-03
 * time: 5.062174081802368
   115     1.390697e+01     2.827598e-03
 * time: 5.099524974822998
   116     1.390539e+01     2.136470e-03
 * time: 5.136837959289551
   117     1.390419e+01     1.880080e-03
 * time: 5.17409610748291
   118     1.390325e+01     1.413695e-03
 * time: 5.211395025253296
   119     1.390242e+01     1.380716e-03
 * time: 5.306957960128784
   120     1.390173e+01     1.645893e-03
 * time: 5.344264984130859
   121     1.390111e+01     2.060189e-03
 * time: 5.381724119186401
   122     1.390047e+01     1.750806e-03
 * time: 5.4190709590911865
   123     1.389973e+01     1.424874e-03
 * time: 5.45653510093689
   124     1.389888e+01     1.616405e-03
 * time: 5.493885040283203
   125     1.389800e+01     1.930972e-03
 * time: 5.531183958053589
   126     1.389708e+01     1.985363e-03
 * time: 5.568349123001099
   127     1.389608e+01     2.369816e-03
 * time: 5.663486003875732
   128     1.389484e+01     2.014579e-03
 * time: 5.700727939605713
   129     1.389356e+01     2.168547e-03
 * time: 5.737942934036255
   130     1.389229e+01     1.915106e-03
 * time: 5.775361061096191
   131     1.389126e+01     2.102994e-03
 * time: 5.813575029373169
   132     1.389038e+01     1.936740e-03
 * time: 5.851124048233032
   133     1.388955e+01     1.829416e-03
 * time: 5.890165090560913
   134     1.388881e+01     1.381362e-03
 * time: 5.985392093658447
   135     1.388820e+01     1.321446e-03
 * time: 6.022536039352417
   136     1.388774e+01     1.110782e-03
 * time: 6.0598509311676025
   137     1.388743e+01     1.132308e-03
 * time: 6.099574089050293
   138     1.388720e+01     1.133313e-03
 * time: 6.136857986450195
   139     1.388700e+01     8.134191e-04
 * time: 6.174065113067627
   140     1.388682e+01     8.180784e-04
 * time: 6.211137056350708
   141     1.388665e+01     9.253950e-04
 * time: 6.305774927139282
   142     1.388652e+01     8.050521e-04
 * time: 6.343440055847168
   143     1.388641e+01     8.703993e-04
 * time: 6.380488157272339
   144     1.388629e+01     7.296819e-04
 * time: 6.417686939239502
   145     1.388619e+01     5.653899e-04
 * time: 6.454920053482056
   146     1.388610e+01     4.359365e-04
 * time: 6.492016077041626
   147     1.388601e+01     4.729001e-04
 * time: 6.529036045074463
   148     1.388595e+01     5.467996e-04
 * time: 6.5659120082855225
   149     1.388590e+01     4.984536e-04
 * time: 6.66035795211792
   150     1.388586e+01     3.919395e-04
 * time: 6.697222948074341
   151     1.388584e+01     3.194011e-04
 * time: 6.7340309619903564
   152     1.388582e+01     2.180319e-04
 * time: 6.770916938781738
   153     1.388581e+01     2.287536e-04
 * time: 6.807768106460571
   154     1.388580e+01     1.716130e-04
 * time: 6.844694137573242
   155     1.388579e+01     1.219654e-04
 * time: 6.881693124771118
   156     1.388579e+01     1.010460e-04
 * time: 6.97870397567749
   157     1.388579e+01     8.824319e-05
 * time: 7.015944957733154
   158     1.388578e+01     1.045123e-04
 * time: 7.0529890060424805
   159     1.388578e+01     1.275517e-04
 * time: 7.0899059772491455
   160     1.388578e+01     1.179329e-04
 * time: 7.126917123794556
   161     1.388577e+01     1.026798e-04
 * time: 7.163928985595703
   162     1.388577e+01     9.629964e-05
 * time: 7.200922012329102
   163     1.388577e+01     9.151837e-05
 * time: 7.237774133682251
   164     1.388576e+01     1.230071e-04
 * time: 7.333606958389282
   165     1.388576e+01     9.666684e-05
 * time: 7.37045693397522
   166     1.388576e+01     9.519450e-05
 * time: 7.407377004623413
   167     1.388576e+01     8.045397e-05
 * time: 7.444282054901123
   168     1.388575e+01     6.994162e-05
 * time: 7.481281042098999
   169     1.388575e+01     9.317564e-05
 * time: 7.518265962600708
   170     1.388575e+01     1.000114e-04
 * time: 7.555211067199707
   171     1.388575e+01     7.418015e-05
 * time: 7.649691104888916
   172     1.388575e+01     7.294361e-05
 * time: 7.686767101287842
[ Info: Final spread
  WF     center [rx, ry, rz]/Å              spread/Ų  ω  ωc  ωt
   1     0.67899    -0.67852    -0.67890     1.15678     0.00000     1.15678
   2    -0.67957    -0.68012     0.67692     1.15682     0.00001     1.15683
   3    -0.67667     0.67948    -0.68023     1.15688     0.00001     1.15689
   4     0.67816     0.67815     0.68009     1.15686     0.00000     1.15686
   5     0.67856    -0.67909    -0.67858     2.31459     0.00000     2.31459
   6    -0.67822    -0.67775     0.68084     2.31458     0.00001     2.31459
   7    -0.68081     0.67819    -0.67725     2.31466     0.00001     2.31466
   8     0.67945     0.67943     0.67760     2.31456     0.00000     2.31456
Sum spread: Ωt = Ω + Ωc, Ω = ΩI + Ω̃, Ω̃ = ΩOD + ΩD
   Ωt  =    13.88575
   Ωc  =     0.00003
   Ω   =    13.88572
   ΩI  =    10.71900
   ΩOD =     3.15284
   ΩD  =     0.01387
   Ω̃   =     3.16672

the final spreads are

Wannier.omega_center(model, U1, r₀, λ)
  WF     center [rx, ry, rz]/Å              spread/Ų  ω  ωc  ωt
   1     0.67899    -0.67852    -0.67890     1.15678     0.00000     1.15678
   2    -0.67957    -0.68012     0.67692     1.15682     0.00001     1.15683
   3    -0.67667     0.67948    -0.68023     1.15688     0.00001     1.15689
   4     0.67816     0.67815     0.68009     1.15686     0.00000     1.15686
   5     0.67856    -0.67909    -0.67858     2.31459     0.00000     2.31459
   6    -0.67822    -0.67775     0.68084     2.31458     0.00001     2.31459
   7    -0.68081     0.67819    -0.67725     2.31466     0.00001     2.31466
   8     0.67945     0.67943     0.67760     2.31456     0.00000     2.31456
Sum spread: Ωt = Ω + Ωc, Ω = ΩI + Ω̃, Ω̃ = ΩOD + ΩD
   Ωt  =    13.88575
   Ωc  =     0.00003
   Ω   =    13.88572
   ΩI  =    10.71900
   ΩOD =     3.15284
   ΩD  =     0.01387
   Ω̃   =     3.16672

Look, the the WF centers are positioned where we want, and now these are 4 degenerate bonding WFs, and 4 degenerate anti-bonding WFs!

Note now the total spread is smaller than the s, p disentanglement case, since they are the bonding/anti-bonding combinations. 🎉


This page was generated using Literate.jl.