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.373262e+01 1.473173e+01 * time: 0.004369020462036133 1 6.181286e+01 9.424847e+00 * time: 0.012845039367675781 2 5.730653e+01 1.332171e+01 * time: 0.1429281234741211 3 4.111002e+01 9.094423e+00 * time: 0.16821718215942383 4 3.278998e+01 8.708089e+00 * time: 0.19269013404846191 5 3.207671e+01 8.130955e+00 * time: 0.21332502365112305 6 1.794137e+01 5.222238e+00 * time: 0.2336280345916748 7 1.392088e+01 3.460109e+00 * time: 0.2509341239929199 8 1.081712e+01 4.927425e+00 * time: 0.26448702812194824 9 8.871162e+00 3.611963e+00 * time: 0.281447172164917 10 7.899794e+00 2.446670e+00 * time: 0.29865503311157227 11 7.183731e+00 2.423015e+00 * time: 0.3133699893951416 12 6.723927e+00 3.022203e+00 * time: 0.38468408584594727 13 6.426257e+00 1.836654e+00 * time: 0.3999931812286377 14 6.245604e+00 1.149805e+00 * time: 0.4139900207519531 15 6.183646e+00 1.576459e+00 * time: 0.42772912979125977 16 6.044556e+00 1.806774e+00 * time: 0.4418652057647705 17 5.921497e+00 9.543571e-01 * time: 0.45578813552856445 18 5.886266e+00 1.399724e+00 * time: 0.46642017364501953 19 5.804765e+00 1.120524e+00 * time: 0.47691917419433594 20 5.769294e+00 1.292946e+00 * time: 0.4880549907684326 21 5.729341e+00 6.018522e-01 * time: 0.5027279853820801 22 5.684643e+00 6.545033e-01 * time: 0.516801118850708 23 5.647523e+00 8.595996e-01 * time: 0.5271501541137695 24 5.615312e+00 5.179389e-01 * time: 0.5410439968109131 25 5.600388e+00 5.167113e-01 * time: 0.5513961315155029 26 5.593794e+00 3.383487e-01 * time: 0.56581711769104 27 5.587878e+00 4.156380e-01 * time: 0.6231989860534668 28 5.580488e+00 2.350075e-01 * time: 0.6379520893096924 29 5.574371e+00 2.759970e-01 * time: 0.6486921310424805 30 5.571000e+00 1.704074e-01 * time: 0.6628050804138184 31 5.567104e+00 1.623976e-01 * time: 0.6734540462493896 32 5.566883e+00 2.346724e-01 * time: 0.6840620040893555 33 5.565906e+00 1.551490e-01 * time: 0.6978662014007568 34 5.564864e+00 1.586927e-01 * time: 0.7082531452178955 35 5.563443e+00 1.820743e-01 * time: 0.7188570499420166 36 5.562844e+00 1.079697e-01 * time: 0.7294712066650391 37 5.562135e+00 8.784016e-02 * time: 0.739915132522583 38 5.561503e+00 6.406086e-02 * time: 0.7503809928894043 39 5.561314e+00 3.956035e-02 * time: 0.7640790939331055 40 5.561110e+00 6.085595e-02 * time: 0.7777981758117676 41 5.560936e+00 2.773294e-02 * time: 0.7918150424957275 42 5.560786e+00 2.922346e-02 * time: 0.8212339878082275 43 5.560705e+00 3.828851e-02 * time: 0.8326292037963867 44 5.560678e+00 3.178743e-02 * time: 0.8432400226593018 45 5.560640e+00 2.659538e-02 * time: 0.8572499752044678 46 5.560596e+00 2.331114e-02 * time: 0.8711750507354736 47 5.560566e+00 1.981264e-02 * time: 0.885310173034668 48 5.560538e+00 2.399216e-02 * time: 0.8954579830169678 49 5.560527e+00 2.180800e-02 * time: 0.905879020690918 50 5.560514e+00 1.809218e-02 * time: 0.9161181449890137 51 5.560502e+00 1.169501e-02 * time: 0.9300141334533691 52 5.560490e+00 7.590705e-03 * time: 0.9437880516052246 53 5.560485e+00 1.731625e-02 * time: 0.9543640613555908 54 5.560480e+00 8.731067e-03 * time: 0.9646711349487305 55 5.560474e+00 6.518268e-03 * time: 0.9750311374664307 56 5.560471e+00 5.395783e-03 * time: 0.9884591102600098 57 5.560469e+00 4.344324e-03 * time: 1.0215489864349365 58 5.560467e+00 2.985214e-03 * time: 1.0368411540985107 59 5.560467e+00 6.343350e-03 * time: 1.0477252006530762 60 5.560465e+00 3.726513e-03 * time: 1.05885910987854 61 5.560464e+00 2.442238e-03 * time: 1.0702450275421143 62 5.560464e+00 1.714623e-03 * time: 1.0852010250091553 63 5.560464e+00 1.888507e-03 * time: 1.0998461246490479 64 5.560464e+00 4.058083e-03 * time: 1.11051607131958 65 5.560463e+00 3.619347e-03 * time: 1.1248271465301514 66 5.560463e+00 2.193256e-03 * time: 1.1353859901428223 67 5.560463e+00 1.921064e-03 * time: 1.1458940505981445 68 5.560463e+00 1.479551e-03 * time: 1.1598000526428223 69 5.560463e+00 1.212007e-03 * time: 1.173539161682129 70 5.560463e+00 1.008847e-03 * time: 1.187148094177246 71 5.560463e+00 6.111069e-04 * time: 1.2009592056274414 72 5.560463e+00 7.708128e-04 * time: 1.2297241687774658 73 5.560463e+00 5.619155e-04 * time: 1.2411301136016846 74 5.560463e+00 4.407222e-04 * time: 1.255547046661377 75 5.560463e+00 4.871960e-04 * time: 1.2694401741027832 76 5.560463e+00 3.619096e-04 * time: 1.2802400588989258 77 5.560463e+00 4.568508e-04 * time: 1.2907171249389648 78 5.560463e+00 3.385982e-04 * time: 1.3043551445007324 79 5.560463e+00 3.215527e-04 * time: 1.3148210048675537 80 5.560463e+00 4.307813e-04 * time: 1.325383186340332 81 5.560463e+00 2.834495e-04 * time: 1.3393089771270752 82 5.560463e+00 2.935447e-04 * time: 1.3495080471038818 83 5.560463e+00 2.665229e-04 * time: 1.3598260879516602 84 5.560463e+00 2.144549e-04 * time: 1.3698961734771729 85 5.560463e+00 2.273653e-04 * time: 1.3802452087402344 86 5.560463e+00 2.506765e-04 * time: 1.3904991149902344 87 5.560463e+00 1.336142e-04 * time: 1.403954029083252 88 5.560463e+00 1.801719e-04 * time: 1.4324381351470947 89 5.560463e+00 1.550423e-04 * time: 1.4435451030731201 90 5.560463e+00 1.283101e-04 * time: 1.4543280601501465 91 5.560463e+00 1.988984e-04 * time: 1.4646780490875244 92 5.560463e+00 1.219513e-04 * time: 1.4751310348510742 93 5.560463e+00 1.133006e-04 * time: 1.4860990047454834 94 5.560463e+00 1.775406e-04 * time: 1.4969711303710938 95 5.560463e+00 1.140080e-04 * time: 1.5076391696929932 96 5.560463e+00 3.138961e-04 * time: 1.5181941986083984 97 5.560463e+00 2.873798e-04 * time: 1.5287971496582031 98 5.560463e+00 2.310047e-04 * time: 1.5395431518554688 99 5.560463e+00 1.805115e-04 * time: 1.5537981986999512 100 5.560463e+00 1.717529e-04 * time: 1.5680911540985107 101 5.560463e+00 1.470132e-04 * time: 1.581780195236206 102 5.560463e+00 9.742409e-05 * time: 1.5956029891967773 103 5.560463e+00 7.471977e-05 * time: 1.6096620559692383 104 5.560463e+00 7.286124e-05 * time: 1.646496057510376 105 5.560463e+00 7.286123e-05 * time: 1.6977920532226562 106 5.560463e+00 7.286123e-05 * time: 1.7524051666259766 e(1,1) / (2π)= 1.7391794030083887