Input-file format¶
The input file consists of several parameter blocks.
The following table shows which blocks are used by each program.
Block name |
|
|
|
|
|
---|---|---|---|---|---|
[model] |
Yes |
Yes |
Yes |
Yes |
Yes |
[pre] |
Yes |
||||
[system] |
Yes |
Yes |
Yes |
Yes |
|
[impurity_solver] |
Yes |
Yes |
|||
[control] |
Yes |
||||
[post] |
Yes |
Yes |
Yes |
||
[post.check] |
Yes |
||||
[post.anacont] |
Yes |
||||
[post.anacont.pade] |
Yes |
||||
[post.anacont.spm] |
Yes |
||||
[post.spectrum] |
Yes |
||||
[mpi] |
Yes |
Yes |
For example, we can see that dcore_pre
reads only [model] and [pre] blocks. Therefore, dcore_pre
needs to be re-executed only when the parameters in [model] and [pre] blocks are changed.
The parameters included in each block are explained below.
[model] block¶
This block includes parameters for defining a model to be solved.
Name |
Type |
Default |
Description |
---|---|---|---|
seedname |
String |
dcore |
Name of the system. The model HDF5 file will be seedname.h5. |
lattice |
String |
chain |
Chosen from “chain”, “square”, “cubic”, “bethe”, “wannier90”, and “external” |
t |
Float |
1.0 |
Transfer integral (Nearest neighbor) |
t’ |
Float |
0.0 |
Transfer integral (Second nearest) |
nelec |
Float |
1.0 |
Number of electrons per unit cell. |
norb |
String |
1 |
Number of orbitals at each inequivalent shell (integers separated by commas or spaces.) |
ncor |
Integer |
1 |
Number of correlated shells in a unit cell (for lattice = wannier90). |
corr_to_inequiv |
String |
None |
Mapping from correlated shells to equivalent shells (for lattice = wannier90) |
bvec |
String |
[(1.0,0.0,0.0),(0.0,1.0,0.0),(0.0,0.0,1.0)] |
Reciprocal lattice vectors in arbitrary unit. |
nk |
Integer |
8 |
Number of k along each line. This automatically sets nk0=nk1=nk2=nk. This parameter and (nk0, nk1, nk2) are mutually exclusive. |
nk0 |
Integer |
0 |
Number of k along b_0 (for lattice = wannier90, external) |
nk1 |
Integer |
0 |
Number of k along b_1 (for lattice = wannier90, external) |
nk2 |
Integer |
0 |
Number of k along b_2 (for lattice = wannier90, external) |
spin_orbit |
Bool |
False |
Whether the spin-orbit case. |
interaction |
String |
kanamori |
Chosen from “slater_uj”, “slater_f”, “kanamori”, “respack”, “file” (See below) |
density_density |
Bool |
False |
If true, only the density-density part of the interaction is used (See below). |
kanamori |
String |
None |
U (Diagonal Coulomb pot.), U’ (Off-diagonal Coulomb pot.) and J (Hund coupling) (See below). |
slater_f |
String |
None |
Angular momentum, Slater integrals F (See below). |
slater_uj |
String |
None |
Angular momentum, Slater integrals in U and J (See below). |
slater_basis |
String |
cubic |
Basis of the Slater interaction (See below). |
interaction_file |
String |
None |
list of filenames that contain U tensor for each inequivalent shell |
local_potential_matrix |
String |
None |
dict of {ish: ‘filename’} to specify local potential matrix of ish-th shell |
local_potential_factor |
String |
1.0 |
Prefactors to the local potential matrix (float or list with len=ncor) |
See separate pages from the link below for detailed descriptions of some parameters.
lattice parameter¶
interaction parameter¶
slater_basis parameter¶
local_potential_* parameters¶
[pre] block¶
This block includes parameters that controls the behavior of dcore_pre
.
Name |
Type |
Default |
Description |
---|---|---|---|
skip_lattice |
Bool |
False |
Skip generation of lattice model including H(k) in dcore_pre. If True, data in seedname.h5/dft_input are kept. |
skip_umat |
Bool |
False |
Skip generation of U matrix in dcore_pre. If True, data in seedname.h5/DCore/Umat are kept. |
skip_local_potential |
Bool |
False |
Skip generation of local potential in dcore_pre. If True, data in seedname.h5/DCore/LocalPotential are kept. |
overwrite |
Bool |
True |
Whether seedname.h5 is overwritten. If False, the existing seedname.h5 is repalced. |
[system] block¶
This block includes thermodynamic parameters and some technical parameters such as the number of Matsubara frequencies.
Name |
Type |
Default |
Description |
---|---|---|---|
beta |
Float |
1.0 |
Inverse temperature. This parameter is overwritten, if T is given. |
T |
Float |
-1.0 |
Temperature. If this parameter is given, beta is overwritten by 1/T. |
n_iw |
Integer |
2048 |
Number of Matsubara frequencies |
fix_mu |
Bool |
False |
Whether or not to fix chemical potential to a given value. |
mu |
Float |
0.0 |
Initial chemical potential. |
prec_mu |
Float |
0.0001 |
Threshold for calculating chemical potential with the bisection method. |
with_dc |
Bool |
False |
Whether or not to use double-counting (DC) correction (See below) |
dc_type |
String |
HF_DFT |
Chosen from ‘HF_DFT’ (default), ‘HF_imp’, ‘FLL’ |
dc_orbital_average |
Bool |
False |
If true, the DC correction is averaged over orbitals in each shell. Off-diagonal components are dropped. |
no_tail_fit |
Bool |
False |
Compute Matsubara summation without fitting high-frequency moments. |
If the parameter with_dc
is specified to True
,
the following part of the self-energy is subtracted to avoid the double-counting error of
the self-energy.
where \(\langle \cdots \rangle_0\) indicates the expectation value at the initial (Kohn-Sham) state.
[impurity_solver] block¶
This block specifies an impurity solver to be used and necessary parameters for running the solver program.
Name |
Type |
Default |
Description |
---|---|---|---|
name |
String |
null |
Name of impurity solver. Available options are null, TRIQS/cthyb, TRIQS/hubbard-I, ALPS/cthyb, ALPS/cthyb-seg, pomerol. |
basis_rotation |
String |
None |
You can specify either ‘Hloc’, ‘None’, or the location of a file. |
Additionally, we have to specify solver-dependent parameters in the way like n_cycles{int} = 500000
.
For details, see the reference manual for each solver.
[control] block¶
This block includes parameters that control the self-consistency loop of DMFT.
Name |
Type |
Default |
Description |
---|---|---|---|
max_step |
Integer |
100 |
Maximum steps of DMFT loops |
sigma_mix |
Float |
0.5 |
Mixing parameter for self-energy |
restart |
Bool |
False |
Whether or not restart from a previous calculation stored in a HDF file. |
initial_static_self_energy |
String |
None |
dict of {ish: ‘filename’} to specify initial value of the self-energy of ish-th shell. The file format is the same as local_potential_matrix. |
initial_self_energy |
String |
None |
Filename containing initial self-energy in the same format as sigma.dat generated by dcore_check. |
time_reversal |
Bool |
False |
If true, an average over spin components are taken to set Sz = 0. |
time_reversal_transverse |
Bool |
False |
If true, the self-energy is symmetrized so that Sx=Sy=0. |
symmetry_generators |
String |
None |
Generators for symmetrization of self-energy. |
n_converge |
Integer |
1 |
The DMFT loop is terminated if the convergence criterion defined with converge_tol is satisfied n_converge times consecutively. |
converge_tol |
Float |
0.0 |
Tolerance in the convergence check. The chemical potential and the renormalization factor are examined. |
[post] block¶
This block includes parameters that are solely used by dcore_anacont
and dcore_spectrum
.
Name |
Type |
Default |
Description |
---|---|---|---|
dir_post |
String |
post |
Directory to which results of dcore_post are stored. |
dir_work |
String |
work/post |
Directory to which temporary files of dcore_post are stored. |
[post.anacont] block¶
This block includes parameters that are solely used by dcore_anacont
.
Name |
Type |
Default |
Description |
---|---|---|---|
solver |
String |
algorithm |
Algorithm for analytic continuation |
omega_min |
Float |
-1.0 |
Minimum value of real frequency |
omega_max |
Float |
1.0 |
Max value of real frequency |
Nomega |
Integer |
100 |
Number of real frequencies |
show_result |
Bool |
False |
plot result of analytic continuation |
save_result |
Bool |
False |
plot result of analytic continuation |
[post.anacont.pade] block¶
This block includes parameters that are solely used by dcore_anacont
.
Name |
Type |
Default |
Description |
---|---|---|---|
iomega_max |
Float |
0.0 |
Cut-off frequency of the Matsubara frequency |
n_min |
Integer |
0 |
lower bound of the number of used Matsubara frequency |
n_max |
Integer |
100000000 |
upper bound of the number of used Matsubara frequency |
eta |
Float |
0.01 |
Imaginary Frequency shift to avoid divergence |
[post.anacont.spm] block¶
This block includes parameters that are solely used by dcore_anacont
.
Name |
Type |
Default |
Description |
---|---|---|---|
n_matsubara |
Integer |
100000 |
number of tau points |
n_tau |
Integer |
-1 |
number of tau points |
n_tail |
Integer |
10 |
number of matsubara points for tail-fitting |
n_sv |
Integer |
50 |
number of singular values to be used |
lambda |
Float |
1e-05 |
coefficient of L1 regularization |
solver |
String |
ECOS |
solver to be used |
verbose_opt |
Bool |
False |
show optimization progress |
show_fit |
Bool |
False |
plot result of tail-fitting |
[post.spectrum] block¶
This block includes parameters that are solely used by dcore_spectrum
.
[post.check] block¶
This block includes parameters that are solely used by dcore_check
.
Name |
Type |
Default |
Description |
---|---|---|---|
omega_check |
Float |
0.0 |
Maximum frequency for dcore_check. If not specified, a fixed number of Matsubara points are taken. |
[mpi] block¶
This block includes parameters which are read by dcore
and dcore_post
.
Name |
Type |
Default |
Description |
---|---|---|---|
command |
String |
mpirun -np # |
Command for executing a MPI job. # will be relaced by the number of processes. |
When an option -DMPIEXEC=<MPIRUN>
is passed to the cmake
command,
The default value of command
will be replaced with <MPIRUN>
.