# Multiorbital model by a QMC solver¶

dmft_bethe.ini

An interesting phenomena called spin-freezing transition occurs in multi-orbital models [P. Werner, E. Gull, M. Troyer and A. J. Millis, PRL 101, 166405 (2008)]. The spin-freezing phenomena is signaled by a peculiar frequency dependence of the self-energy: $$\mathrm{Im}\Sigma(i\omega_n) \propto \omega_n^{0.5}$$. In this tutorial, we solve the three-orbital model on a Bethe lattice to reproduce the results in the above reference.

[model]
lattice = bethe
seedname = bethe
nelec = 1.6
t = 1.0
norb = 3
interaction = kanamori
kanamori = [(8.0, 5.3333333, 1.33333)]
nk = 1000

[mpi]
command = '$MPIRUN -np #' [system] beta = 50.0 [impurity_solver] name = ALPS/cthyb timelimit{int} = 300 exec_path{str} =$HOME/opt/CT-HYB/bin/hybmat

[control]
max_step = 40
sigma_mix = 1.0
restart = False

[tool]
omega_max = 15.0
omega_min =-15.0
Nomega = 100


## Pre-process : dcore_pre¶

We first generate a h5 file that is necessary for DMFT calculations. The script dcore_pre is invoked for this purpose:

$dcore_pre dmft_bethe.ini  If successful, a h5 file named seedname.h5 (bethe.h5 in the present case) is generated. ## DMFT loop : dcore¶ The DMFT loop is performed by dcore program. In this tutorial, we use continuous-time QMC implementation of ALPS/CT-HYB. The runtime of the impurity solver is set to 300 sec. You should not use the Hubbard-I solver for a metallic system. One can run the program with 24 MPI processes as follows. For solving the same model with TRIQS/cthyb, use this input file instead. $ export MPIRUN="mpirun"
$dcore dmft_bethe.ini --np 24  Any environment variables in command of the mpi section and exec_path of the impurity_solver section are expanded at runtime. In addition, # in command of the mpi section is replaced by the number of processes specified at runtime (24 in this case). In the above example, we defined the environment varible MPIRUN. Note that dcore must be lauched without using the mpirun command as it launches MPI processes internally for heavy tasks. The QMC solver is executed with the number of MPI processes as well. Each self-consistent step takes around 5 min, most of which is spent for solving an effective impurity problem by QMC. 40 iterations take around 200 min. Results for the self-energy and Green’s function in each iteration are accumulated into a h5 file named seedname.out.h5 (bethe.out.h5 in the present case). One can check the convergence of DMFT iterations by using dcore_check program as follows. $ dcore_check dmft_bethe.ini


dcore_check program prints the value of the chemical potential at each iteration on the standard output:

  @ Reading dmft_bethe.ini ...
Total number of Iteration: 40

Iter  Chemical-potential
1 -0.751277456949
2 0.434702172833
3 1.24052366776
4 1.87430591459
5 2.3902083604
6 2.80560950907
7 3.15120273079
8 3.39906953401
9 3.59109395044
10 3.77841000694
11 3.94933085606
12 4.04565623891
13 4.14089310218
14 4.21761388235
15 4.19672207134
16 4.22954996706
17 4.21218913905
18 4.23609175782
19 4.29360816707
20 4.30206162285
21 4.30581583599
22 4.31236778925
23 4.3507968933
24 4.34734048538
25 4.34881158874
26 4.35435696735
27 4.32563489267
28 4.3284996731
29 4.32645567868
30 4.31936571106
31 4.30926807535
32 4.34097777828
33 4.3454259465
34 4.29481990383
35 4.32541999195
36 4.33632971069
37 4.38081434746
38 4.38713422713
39 4.34154680207
40 4.38279281529
Output check/sigma.dat
Output check/sigma_ave.png
Output check/iter_mu.dat
Output check/iter_mu.png
Output check/iter_sigma-ish0.png
Output check/iter_sigma.dat

Done


dcore_check generates several figures as well as data files in text format. For instance, check/iter_sigma-ish0.png shows how the renormalization factor converges for each orbital.

If those results are not converged, one can restart DMFT iterations.

You can plot the data for positive Matsubara frequencies as follows (like Fig. 3 of PRL 101, 166405 (2008)) using a gnuplot command file.

The reference data extracted from PRL 101, 166405 (2008) are available here. The plot should look like the following.