Input-file format

The input file consists of six parameter blocks named [model], [system], [impurity_solver], [control], [tool], and [mpi].

The following table shows which blocks are used by each program.

dcore_pre

dcore

dcore_check

dcore_post

[model]

Yes

Yes

Yes

Yes

[system]

Yes

Yes

Yes

[impurity_solver]

Yes

Yes

[control]

Yes

[tool]

Yes

Yes

[mpi]

Yes

Yes

For example, we can see that dcore_pre reads only [model] block. Therefore, dcore_pre needs to be re-executed only when the parameters in [model] block 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” (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).

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

[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.

\[\Sigma_{i, \alpha \sigma \beta \sigma'}^{\rm dc-imp} = \delta_{\sigma \sigma'} \sum_{\gamma \delta \sigma_1} U_{\alpha \gamma \beta \delta} \langle c_{\gamma \sigma_1}^\dagger c_{\delta \sigma_1}\rangle_0 - \sum_{\gamma \delta} U_{\alpha \gamma \delta \beta} \langle c_{\gamma \sigma'}^\dagger c_{\delta \sigma}\rangle_0,\]

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.

[tool] block

This block includes parameters that are solely used by dcore_post.

Name

Type

Default

Description

nnode

Integer

0

[NOT USED] Number of node for the k path

nk_line

Integer

8

Number of k along each line

knode

String

[(G,0.0,0.0,0.0),(X,1.0,0.0,0.0)]

The name and the fractional coordinate of each k-node.

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

broadening

Float

0.0

An additional Lorentzian broadening

eta

Float

0.0

Imaginary frequency shift for the Pade approximation

omega_pade

Float

1e+20

Cutoff frequency for the Pade approximation. Data in [-i omega_pade, i omega_pade] is used.

n_pade_min

Integer

20

Minimum number of Matsubara frequencies used for Pade approximation.

n_pade_max

Integer

-1

Maximum number of Matsubara frequencies used for Pade approximation. If negative, this will be replaced with n_iw in [system] block.

post_dir

String

post

Directory to which results of dcore_post are stored.

omega_check

Float

0.0

Maximum frequency for dcore_check. If not specified, a fixed number of Matsubara points are taken.

nk_mesh

Integer

0

Number of k points along each axis for computation of A(k,omega) on a 3D mesh

nk0_mesh

Integer

0

Number of k points along b_0 for computation of A(k,omega) on a 3D mesh

nk1_mesh

Integer

0

Number of k points along b_1 for computation of A(k,omega) on a 3D mesh

nk2_mesh

Integer

0

Number of k points along b_2 for computation of A(k,omega) on a 3D mesh

Lambda_IR

Float

10000.0

IR parameter for computing G(k,iw)

cutoff_IR

Float

1e-05

IR cutoff parameter for computing G(k,iw)

cutoff_IR_2P

Float

1e-05

IR cutoff parameter for computing two-particle quantities

gk_smpl_freqs

String

dense

Sampling fermionic frequencies for dcore_gk. dense or the name of a text file that contains sampling frequencies.For gk_smpl_freqs = dense, all fermionic frequencies in the range of [-n_iw, n_iw] are used. A valid text file must contain the number of sampling frequencies in its first line.Each line after the first line must contain two integer numbers: The first one is an sequential index of a sampling frequency (start from 0), and the second one is a fermionic sampling frequency (i.e, -1, 0, 1).

[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>.