Multiorbital model by a QMC solver¶
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
[post.anacont]
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 ...
Loading Sigma_iw...
Loading dc_imp and dc_energ...
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.