Input-file format

The input file consists of several parameter blocks.

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

Block name

dcore_pre

dcore

dcore_check

dcore_anacont

dcore_spectrum

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

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

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