Programs¶
DCore consists of five main programs, dcore_pre
, dcore
, dcore_check
, dcore_anacont
, and dcore_spectrum
.
All programs read a single input file (say input.ini) which contains parameters classified into blocks.
It is also possible to pass multiple input files to the program. Parameters from all input files are merged. Duplicate paramegers are overwritten by the later one.
See Input-file format, for the list of parameters and detailed descriptions.
In the following, brief explanations are given for each program.
Pre-processing : dcore_pre
¶
This program generates model HDF5 file (seedname.h5).
You need to execute this program before running the main program, dcore
.
$ dcore_pre input.ini
Main program : dcore
¶
This is the main program, which performs DMFT cycle and output the self energy etc. into a HDF5 file (seedname.out.h5).
$ dcore input.ini --np 4
Please invoke dcore
in a single process, specifying the process number with --np
option.
In the above case, dcore
will lauch four MPI processes internally using the command specified by the parameter command
in the [mpi] block.
The solver is executed in the working directory named work/imp_shell0_iter1 (in the case with shell number 0 and iteration number 1). All output generated by the solver are stored in this working directory.
This program should be executed repeatedly until convergence is reached.
You can resume the DMFT iteration using the previous results by specifying restart = True
in the [control] block (default is False
).
The output file, seedname.out.h5, is created, updated, or backed up depending on
whether the previous run exists and also on the restart
parameter.
The behavior is summarized below.
seedname.out.h5 |
|
behavior |
---|---|---|
not exists |
True, False |
A new file is created |
exists |
False |
The file is backed up with the name seedname.out.h5.bak, and a new file is created |
exists |
True |
The iteration is resumed, and the file is updated |
Convergence-check : dcore_check
¶
This program is used to check the convergence of the DMFT loop.
$ dcore_check input.ini [--prefix PREFIX] [--ext EXT]
Here PREFIX
is the prefix for all output files,
and EXT
is the file extension of output figures (png, pdf, eps, jpg, etc).
The default values are PREFIX=check/
and EXT=png
.
All results are stored in check directory without specified.
Three kinds of figures will be included:
iter_mu.png
The chemical potential as a function of iteration number.
iter_sigma-ish0.png
The renormalization factor as a function of iteration number.
iter_occup-ish0.png
The spin- and orbital-dependent occupation numbers as a function of the iteration number.
Todo
figure
iter_spin-ish0.png
The spin moments as a function of the iteration number.
Todo
figure
sigma_ave.png
The averaged self-energy at the last seven iterations.
Here, the average is taken as follows:
\[\Sigma_{\rm Ave} (i \omega_n) = \left[\sum_i^{\rm shell} \sum_{\alpha \beta}^{N_{\rm orb}^i} \Sigma_{\alpha \beta}(i\omega)\right] /\left[\sum_i^{\rm shell} N_{\rm orb}^{i}\right],\]The maximum frequency of this plot is specified with the parameter
omega_check
in the[post.check]
block.
Analytic continuation : dcore_anacont
¶
This program performs the analytic continuation of the self-energy of Matsubara frequencies to the real frequency.
The self-energy of Matsubara frequencies is stored in the NumPy binary file seedname_sigma_iw.npz, which is one of the output files of the main program dcore
.
$ dcore_anacont input.ini
The obtained self-energy on the real axis is stored in the NumPy binary file sigma_w.npz in the post
directory; the name of the directory can be changed by the parameter dir_post
in the [post]
block.
Spectral functions : dcore_spectrum
¶
This program computes the total DOS (post/dos.dat) and momenum-resolved spectral function (post/akw.dat) reading the self-energy on the real axis stored in post/sigma_w.npz.
$ dcore_spectrum input.ini --np 4
Here, please specify the number of MPI processes.
The output files are saved in the directory post
; the name of the directory can be changed by the parameter dir_post
in the [post]
block.
The computed spectral function can be drawn by
$ cd post
$ gnuplot akw.gp
Using this gnuplot script, you can also see the original (DFT) band structure as follows if either seedname_band.dat (Wannier90 output) or dir-wan/dat.iband (RESPACK output) exists.
“+” indicates the original band structure.
The original band structure is shifted by the chemical potential specified by mu
in [system]
block.
Online help¶
For all programs, online help is available by -h
or --help
option.
For example, the help of the main program dcore
looks like
$ dcore -h
usage: dcore.py [-h] --np NP [--version]
[path_input_files [path_input_files ...]]
Main script in DCore
positional arguments:
path_input_files Input filename(s)
optional arguments:
-h, --help show this help message and exit
--np NP Number of MPI processes
--version show program's version number and exit
Additionally, the complete list of the input parameters are shown. It would help readers to make use of the latest features in the develop branch that are not documented in this manual.