Study the behavior of the Dimer Bethe lattice in the Transition

Specific Regions of the phase diagram are reviewed to inspect the behavior of the insulating state

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import axes3d
import dmft.dimer as dimer
import dmft.common as gf
import dmft.ipt_imag as ipt


def loop_u_tp(Drange, tprange, beta, seed='mott gap'):
    tau, w_n = gf.tau_wn_setup(dict(BETA=beta, N_MATSUBARA=256))
    giw_d, giw_o = dimer.gf_met(w_n, 0., 0., 0.5, 0.)
    if seed == 'mott gap':
        giw_d, giw_o = 1 / (1j * w_n + 4j / w_n), np.zeros_like(w_n) + 0j

    giw_s = []
    sigma_iw = []
    ekin, epot = [], []
    iterations = []
    for D, tp in zip(Drange, tprange):
        giw_d, giw_o, loops = dimer.ipt_dmft_loop(
            beta, 1, tp, giw_d, giw_o, tau, w_n, t=D / 2)
        giw_s.append((giw_d, giw_o))
        iterations.append(loops)
        g0iw_d, g0iw_o = dimer.self_consistency(
            1j * w_n, 1j * giw_d.imag, giw_o.real, 0., tp, D**2 / 4)
        siw_d, siw_o = ipt.dimer_sigma(1, tp, g0iw_d, g0iw_o, tau, w_n)
        sigma_iw.append((siw_d.copy(), siw_o.copy()))

        ekin.append(dimer.ekin(giw_d, giw_o, w_n, tp, beta))

        epot.append(dimer.epot(giw_d, w_n, beta, 1 / 4 + tp**2, ekin[-1], 1))
    print(np.array(iterations))
    # last division in energies because I want per spin epot
    return np.array(giw_s), np.array(sigma_iw), np.array(ekin) / 4, np.array(epot) / 4, w_n

Drange = np.linspace(0.05, .85, 61)
Drange = np.concatenate((Drange[::-1], Drange))
data = []
for beta in [16., 18., 20., 22., 24., 26., 28., 40., 100., 200.]:
    giw_s, sigma_iw, ekin, epot, w_n = loop_u_tp(
        Drange, .3 * np.ones_like(Drange), beta, 'met')
    data.append((giw_s, sigma_iw, ekin, epot, w_n, beta))

for sim in data:
    giw_s, sigma_iw, ekin, epot, w_n, beta = sim
    plt.plot(Drange, 2 * epot, '-', label=beta)

plt.title(r'Double occupation $t_\perp/U=0.3$')
plt.ylabel(r'$\langle n_\uparrow n_\downarrow \rangle$')
plt.xlabel(r'$D/U$')
plt.legend()
../_images/sphx_glr_plot_bandwidth_transition_0011.png

Out:

[25 21 20 20 19 19 18 18 17 17 17 16 15 14 14 14 13 13 13 12 12 11 11 10 10
  9  8  8  7  7  8  9 10 10 10 11 11 10 10 10 10  9  9  9  8  8  7  7  7  7
  6  6  6  5  5  5  5  4  4  4  4  1  4  4  4  5  5  5  5  6  6  6  6  7  7
  7  8  8  8  9  9 10 10 10 10 11 11 10 10 10  9  8  8  7  8  8  9 10 10 11
 11 12 12 13 13 13 14 14 15 16 16 17 17 17 18 18 19 19 20 20 21 21]
[29 23 23 22 22 21 21 20 19 18 18 17 17 17 16 16 15 15 14 13 13 12 11 11 10
  9  8  8  8 10 11 12 12 13 13 13 12 12 11 11 10 10  9  9  8  8  7  7  7  6
  6  6  6  5  5  5  5  4  4  4  4  1  4  4  4  5  5  5  5  6  6  6  6  7  7
  7  8  8  9  9 10 10 11 11 12 12 13 13 13 13 12 11 10  9  8  8  9 10 11 11
 12 13 13 14 15 15 16 16 17 17 17 18 18 19 20 21 21 22 22 23 23 24]
[32 26 25 25 24 23 22 22 21 21 20 20 19 19 18 17 17 16 15 15 14 12 12 11 10
 10  9  9 11 13 14 15 15 15 15 14 13 12 12 11 10 10  9  9  8  8  7  7  7  6
  6  6  5  5  5  5  5  4  4  4  4  1  4  4  4  5  5  5  5  5  6  6  6  7  7
  7  8  8  9  9 10 10 11 12 12 13 14 15 15 15 15 14 13 11  9  9  9 10 11 12
 12 14 15 15 16 17 17 18 19 19 20 20 21 21 22 22 23 24 25 25 26 27]
[35 28 28 27 26 26 25 25 24 23 22 22 21 20 20 19 18 17 16 16 15 14 13 12 11
 10  9 11 14 16 18 18 18 17 16 15 13 12 12 11 10  9  9  8  8  7  7  7  6  6
  6  6  5  5  5  5  4  4  4  4  4  1  4  4  4  4  5  5  5  5  6  6  6  6  7
  7  7  8  8  9  9 10 11 11 12 13 14 16 17 18 18 18 16 14 12  9 10 11 12 13
 14 15 16 16 17 17 19 20 20 21 22 22 23 24 25 25 26 26 27 28 28 29]
[38 31 31 30 29 28 27 27 26 25 25 24 22 22 21 20 20 19 18 17 16 15 14 13 11
 10 10 14 18 20 22 21 20 18 16 14 13 12 11 10 10  9  9  8  8  7  7  7  6  6
  6  6  5  5  5  5  4  4  4  4  4  1  4  4  4  4  5  5  5  5  5  6  6  6  7
  7  7  8  8  8  9 10 10 11 12 13 14 16 18 19 21 22 21 18 15 11 10 11 13 14
 15 16 17 18 19 20 20 21 22 22 24 25 25 26 27 27 28 29 30 31 31 32]
[42 34 33 32 32 31 30 28 28 27 26 26 25 24 23 22 21 20 19 18 17 16 15 13 12
 10 12 17 22 25 25 23 20 17 15 14 13 12 11 10  9  9  8  8  7  7  7  6  6  6
  6  5  5  5  5  5  4  4  4  4  4  1  4  4  4  4  5  5  5  5  5  6  6  6  6
  7  7  7  8  8  9  9 10 11 11 12 14 15 17 20 22 25 25 23 18 13  9 12 13 15
 16 17 18 19 21 22 22 23 24 25 26 26 27 28 29 30 31 32 32 33 34 35]
[46 37 36 34 34 33 32 31 31 30 29 28 27 26 25 24 23 22 20 19 18 17 16 14 12
 10 15 22 28 30 27 23 19 17 15 13 12 11 10 10  9  8  8  8  7  7  7  6  6  6
  6  5  5  5  5  4  4  4  4  4  3  1  4  4  4  4  4  5  5  5  5  6  6  6  6
  7  7  7  8  8  8  9  9 10 11 12 13 15 16 19 22 26 30 29 23 16  9 12 14 16
 17 18 19 20 22 23 24 25 26 27 28 29 30 31 31 32 33 34 34 36 37 38]
[67 54 53 52 50 49 48 47 45 44 43 41 39 38 37 35 34 32 30 29 26 25 22 19 15
 19 66 60 32 23 18 16 14 12 11 10 10  9  9  8  8  8  7  7  7  6  6  6  6  5
  5  5  5  5  5  4  4  4  4  4  3  1  4  4  4  4  4  4  5  5  5  5  5  6  6
  6  6  7  7  7  7  8  8  9  9 10 10 11 12 14 15 18 22 30 54 74 22 15 19 22
 25 26 29 30 32 34 35 37 38 39 41 43 44 45 47 48 49 51 52 53 55 56]
[178 145 142 139 136 133 130 127 123 120 115 112 109 105 102  98  93  88
  83  78  73  67  59  50  35  33  16  14  13  12  11  10  10   9   9   9
   8   8   8   7   7   7   7   6   6   6   6   6   5   5   5   5   5   5
   4   4   4   4   4   4   3   1   4   4   4   4   4   4   5   5   5   5
   5   5   6   6   6   6   6   7   7   7   7   8   8   8   9   9   9  10
  10  11  12  13  14  15  18  22  32  89  68  74  78  84  88  93  98 102
 105 110 112 117 120 123 127 130 133 136 139 142 145 148]
[366 301 295 290 282 274 271 263 258 250 243 236 229 222 212 206 197 187
 178 166 152 136 121  97  67  27  14  13  12  11  11  10  10   9   9   9
   8   8   8   7   7   7   7   7   6   6   6   6   6   5   5   5   5   5
   4   4   4   4   4   4   3   1   4   4   4   4   4   4   5   5   5   5
   5   6   6   6   6   6   6   7   7   7   7   8   8   8   8   9   9  10
  10  11  11  12  13  13  15  16  19  23  37 186 166 179 188 197 206 212
 222 231 238 243 250 258 263 271 274 282 290 295 301 307]
data = []
for beta in [16., 18., 20., 22., 24., 26., 28., 40., 100., 200.]:
    giw_s, sigma_iw, ekin, epot, w_n = loop_u_tp(
        Drange, .15 * np.ones_like(Drange), beta, 'met')
    data.append((giw_s, sigma_iw, ekin, epot, w_n, beta))

for sim in data:
    giw_s, sigma_iw, ekin, epot, w_n, beta = sim
    plt.plot(Drange, 2 * epot, '-', label=beta)

plt.title(r'Double occupation $t_\perp/U=0.15$')
plt.ylabel(r'$\langle n_\uparrow n_\downarrow \rangle$')
plt.xlabel(r'$D/U$')
plt.legend()
../_images/sphx_glr_plot_bandwidth_transition_0021.png

Out:

[23 20 20 20 20 20 20 19 19 19 19 19 19 18 18 18 18 17 17 17 17 17 17 16 16
 16 16 16 16 15 15 15 15 14 14 14 13 13 13 12 12 11 11 11 10 10  9  9  8  8
  8  7  7  6  6  6  5  5  5  4  4  1  4  5  5  5  6  6  6  7  7  8  8  8  9
  9 10 10 11 11 11 12 12 13 13 14 14 14 14 15 15 15 15 16 16 16 16 16 16 17
 17 17 17 17 17 18 18 18 18 19 19 19 19 19 19 20 20 20 20 20 20 20]
[25 20 20 20 20 20 21 21 21 21 20 20 20 20 20 20 20 19 19 19 19 19 19 19 18
 18 18 18 18 18 18 17 17 17 17 16 16 15 15 14 14 13 12 12 11 10 10  9  9  8
  8  7  7  6  6  6  5  5  5  4  4  1  4  5  5  5  6  6  6  7  7  8  8  9  9
 10 10 11 12 12 13 14 14 15 15 16 16 17 17 17 18 18 18 18 18 18 18 18 19 19
 19 19 19 19 19 20 20 20 20 20 20 20 21 21 21 21 20 20 20 20 20 21]
[28 23 23 22 21 20 20 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21
 21 21 20 20 20 20 20 20 20 19 19 18 17 17 16 15 14 13 12 12 11 10  9  9  8
  8  8  7  7  6  6  6  5  5  5  4  1  5  5  5  6  6  6  7  7  8  8  8  9  9
 10 11 12 12 13 14 15 16 17 17 18 19 19 20 20 20 20 20 21 21 21 21 21 21 21
 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 20 20 21 22 23 23 24]
[31 25 25 24 23 23 22 21 20 21 21 22 22 22 22 22 22 22 22 22 22 22 22 22 23
 23 23 23 23 23 23 23 22 22 22 21 20 19 18 17 16 15 14 13 12 11 10 10 10  9
  9  8  8  7  7  6  6  6  5  5  4  1  5  5  6  6  6  7  7  8  8  9  9 10 10
 10 11 12 13 14 15 16 17 18 19 20 21 22 22 23 23 23 23 23 23 23 23 23 22 22
 22 22 22 22 22 22 22 22 22 22 22 21 21 20 21 22 23 23 24 25 25 25]
[33 28 27 26 25 24 24 23 22 22 20 21 22 22 23 23 23 23 23 24 24 24 24 24 24
 24 25 25 25 25 25 25 25 25 24 23 22 21 20 18 17 15 14 13 12 12 12 11 10 10
  9  9  8  8  7  7  6  6  5  5  4  1  5  5  6  6  7  7  8  8  9  9 10 10 11
 12 12 12 13 14 15 17 18 20 21 22 23 24 25 25 25 25 25 25 25 25 24 24 24 24
 24 24 24 23 23 23 23 23 22 22 21 20 22 22 23 24 24 25 26 27 28 29]
[37 31 30 29 28 27 26 24 24 23 23 22 20 21 22 23 23 24 24 24 25 25 25 25 26
 26 26 27 27 27 28 28 28 27 26 25 24 23 21 19 17 15 15 15 14 13 13 12 11 10
 10  9  8  8  7  7  6  6  5  5  4  1  5  5  6  6  7  7  8  8  9  9 10 11 12
 13 13 14 15 15 15 17 19 21 23 24 26 27 27 28 28 28 27 27 27 26 26 26 25 25
 25 25 24 24 24 23 23 22 21 20 22 23 23 24 24 26 27 28 29 30 31 32]
[40 32 32 31 30 29 28 27 27 25 24 23 23 22 20 22 23 24 24 25 25 25 26 26 27
 27 28 28 29 29 30 30 30 29 29 27 26 24 21 19 17 17 17 16 16 15 13 12 11 10
 10  9  8  7  7  6  6  6  5  5  4  1  5  5  5  6  6  7  7  8  9  9 10 11 12
 13 14 16 16 17 17 17 19 21 24 26 28 29 30 30 30 30 29 29 28 28 27 27 26 26
 25 25 25 24 24 23 22 20 22 23 23 24 25 27 27 28 29 30 31 32 32 34]
[60 49 47 46 45 44 43 41 40 38 37 35 34 33 32 30 29 27 26 25 24 22 21 23 25
 27 28 30 31 33 34 36 37 37 37 35 31 31 43 46 34 25 19 16 13 12 10  9  9  8
  7  7  6  6  6  5  5  5  4  4  4  1  4  4  5  5  5  6  6  6  7  7  8  9  9
 10 12 13 15 19 24 33 46 44 33 31 35 37 38 37 36 34 33 31 30 28 27 25 23 21
 22 24 25 26 27 29 30 32 33 34 35 37 38 40 41 43 44 45 46 47 49 51]
[162 134 129 127 124 119 116 114 108 106 103 100  96  93  89  86  84  80
  77  73  70  67  64  61  57  55  51  48  44  41  37  33  29  24  19  21
  37  12  11  11  10   9   9   8   8   7   7   7   7   6   6   6   5   5
   5   5   5   4   4   4   4   1   4   4   4   5   5   5   5   5   6   6
   6   7   7   7   7   8   8   9   9  10  10  11  12  13  14  15  19  27
  57  37  41  44  48  51  55  57  61  64  68  70  73  77  80  84  86  89
  93  96 100 103 106 110 114 116 119 124 127 129 134 137]
[332 276 268 259 258 250 241 236 228 223 215 207 203 197 190 182 177 170
 165 158 153 147 141 133 128 121 116 111 103  96  90  83  74  65  56  43
  26  18  11  11  10   9   9   8   8   7   7   7   7   6   6   6   5   5
   5   5   5   4   4   4   4   1   4   4   4   5   5   5   5   5   6   6
   6   7   7   7   7   8   8   9   9  10  10  11  12  13  14  16  18  20
  24  31  45 131 111 116 123 128 133 141 148 153 160 165 172 177 182 190
 198 203 207 215 223 228 236 241 250 258 263 268 277 282]

Total running time of the script: ( 1 minutes 32.414 seconds)

Generated by Sphinx-Gallery