We solve the almost-bosonic anyon model of https://arxiv.org/pdf/1901.10739.pdf
using DFTK
using StaticArrays
using Plots
# Unit cell. Having one of the lattice vectors as zero means a 2D system
a = 14
lattice = a .* [[1 0 0.]; [0 1 0]; [0 0 0]];
# Confining scalar potential
pot(x, y, z) = ((x - a/2)^2 + (y - a/2)^2);
# Parameters
Ecut = 50
n_electrons = 1
β = 5;
# Collect all the terms, build and run the model
terms = [Kinetic(; scaling_factor=2),
ExternalFromReal(X -> pot(X...)),
Anyonic(1, β)
]
model = Model(lattice; n_electrons, terms, spin_polarization=:spinless) # "spinless electrons"
basis = PlaneWaveBasis(model; Ecut, kgrid=(1, 1, 1))
scfres = direct_minimization(basis, tol=1e-14) # Reduce tol for production
E = scfres.energies.total
s = 2
E11 = π/2 * (2(s+1)/s)^((s+2)/s) * (s/(s+2))^(2(s+1)/s) * E^((s+2)/s) / β
println("e(1,1) / (2π)= ", E11 / (2π))
heatmap(scfres.ρ[:, :, 1, 1], c=:blues)
Iter Function value Gradient norm 0 8.213711e+01 1.445182e+01 * time: 0.003056049346923828 1 6.476434e+01 1.063904e+01 * time: 0.009303092956542969 2 5.922706e+01 1.520632e+01 * time: 0.02283191680908203 3 4.232887e+01 1.008649e+01 * time: 0.04101705551147461 4 3.165956e+01 8.433190e+00 * time: 0.059565067291259766 5 2.372372e+01 5.983930e+00 * time: 0.07554292678833008 6 2.079007e+01 5.973274e+00 * time: 0.15797710418701172 7 1.064214e+01 2.531650e+00 * time: 0.17158198356628418 8 9.439508e+00 2.659705e+00 * time: 0.184906005859375 9 8.799953e+00 2.233042e+00 * time: 0.19839096069335938 10 8.616953e+00 4.066396e+00 * time: 0.2091219425201416 11 8.320228e+00 1.858970e+00 * time: 0.22004199028015137 12 7.994988e+00 2.428314e+00 * time: 0.2304069995880127 13 7.874427e+00 3.489153e+00 * time: 0.24109506607055664 14 7.480597e+00 2.852043e+00 * time: 0.2545750141143799 15 7.248406e+00 2.867995e+00 * time: 0.26534295082092285 16 6.846120e+00 1.830237e+00 * time: 0.27594590187072754 17 6.290937e+00 2.342350e+00 * time: 0.28664612770080566 18 5.947970e+00 9.987168e-01 * time: 0.2973921298980713 19 5.808335e+00 9.009823e-01 * time: 0.30821704864501953 20 5.754029e+00 1.155335e+00 * time: 0.3584280014038086 21 5.707907e+00 8.853206e-01 * time: 0.36942601203918457 22 5.676146e+00 7.153643e-01 * time: 0.379986047744751 23 5.660713e+00 7.717801e-01 * time: 0.388106107711792 24 5.639805e+00 6.396866e-01 * time: 0.39899396896362305 25 5.626301e+00 4.477176e-01 * time: 0.4097900390625 26 5.606456e+00 3.757860e-01 * time: 0.4179420471191406 27 5.600886e+00 6.250544e-01 * time: 0.4260580539703369 28 5.594316e+00 3.352632e-01 * time: 0.4340829849243164 29 5.586218e+00 3.295751e-01 * time: 0.44203996658325195 30 5.580040e+00 3.081015e-01 * time: 0.45023608207702637 31 5.573570e+00 1.853913e-01 * time: 0.45848989486694336 32 5.571455e+00 1.758360e-01 * time: 0.4695320129394531 33 5.571234e+00 3.163240e-01 * time: 0.4776020050048828 34 5.571085e+00 2.307208e-01 * time: 0.48577189445495605 35 5.568023e+00 2.189568e-01 * time: 0.493786096572876 36 5.566746e+00 1.704337e-01 * time: 0.5016629695892334 37 5.565481e+00 1.742482e-01 * time: 0.5097188949584961 38 5.564505e+00 1.223883e-01 * time: 0.5484020709991455 39 5.563004e+00 7.657680e-02 * time: 0.5595691204071045 40 5.562733e+00 2.046510e-01 * time: 0.5678369998931885 41 5.562562e+00 1.084981e-01 * time: 0.5762720108032227 42 5.562353e+00 9.420440e-02 * time: 0.5843679904937744 43 5.562093e+00 1.119612e-01 * time: 0.592566967010498 44 5.561754e+00 5.788977e-02 * time: 0.6031959056854248 45 5.561358e+00 6.454494e-02 * time: 0.6113770008087158 46 5.561122e+00 7.479902e-02 * time: 0.619175910949707 47 5.561024e+00 5.722902e-02 * time: 0.6274199485778809 48 5.560832e+00 3.946113e-02 * time: 0.6353919506072998 49 5.560752e+00 6.592560e-02 * time: 0.6435000896453857 50 5.560708e+00 4.341524e-02 * time: 0.6515789031982422 51 5.560663e+00 3.429373e-02 * time: 0.6621990203857422 52 5.560629e+00 3.657749e-02 * time: 0.6702830791473389 53 5.560584e+00 2.766974e-02 * time: 0.6783099174499512 54 5.560578e+00 3.066428e-02 * time: 0.686068058013916 55 5.560543e+00 2.145540e-02 * time: 0.6938381195068359 56 5.560520e+00 2.324216e-02 * time: 0.7186830043792725 57 5.560501e+00 1.548501e-02 * time: 0.7294111251831055 58 5.560488e+00 1.023482e-02 * time: 0.7400960922241211 59 5.560476e+00 7.974800e-03 * time: 0.7480790615081787 60 5.560471e+00 9.991263e-03 * time: 0.7561631202697754 61 5.560468e+00 4.694532e-03 * time: 0.7670650482177734 62 5.560466e+00 4.731802e-03 * time: 0.7751379013061523 63 5.560465e+00 2.575454e-03 * time: 0.7858200073242188 64 5.560464e+00 3.776137e-03 * time: 0.7963221073150635 65 5.560464e+00 2.360424e-03 * time: 0.8070690631866455 66 5.560463e+00 2.003373e-03 * time: 0.8152060508728027 67 5.560463e+00 1.687464e-03 * time: 0.8233280181884766 68 5.560463e+00 1.488161e-03 * time: 0.8314290046691895 69 5.560463e+00 1.245889e-03 * time: 0.8394739627838135 70 5.560463e+00 1.098997e-03 * time: 0.8500490188598633 71 5.560463e+00 1.246140e-03 * time: 0.8581669330596924 72 5.560463e+00 1.354342e-03 * time: 0.8662550449371338 73 5.560463e+00 8.755295e-04 * time: 0.8743751049041748 74 5.560463e+00 8.394436e-04 * time: 0.8961079120635986 75 5.560463e+00 4.868165e-04 * time: 0.9068179130554199 76 5.560463e+00 3.382988e-04 * time: 0.9175510406494141 77 5.560463e+00 3.029369e-04 * time: 0.9284369945526123 78 5.560463e+00 5.095378e-04 * time: 0.936439037322998 79 5.560463e+00 2.615929e-04 * time: 0.9474270343780518 80 5.560463e+00 2.313423e-04 * time: 0.9580779075622559 81 5.560463e+00 2.405130e-04 * time: 0.968635082244873 82 5.560463e+00 1.953079e-04 * time: 0.9794259071350098 83 5.560463e+00 1.951937e-04 * time: 0.992811918258667 84 5.560463e+00 1.659792e-04 * time: 1.006005048751831 85 5.560463e+00 1.659795e-04 * time: 1.0391590595245361 e(1,1) / (2π)= 1.7391793785607679