quantum-espresso/HP/Doc/INPUT_HP.def

306 lines
11 KiB
Modula-2

input_description -distribution {Quantum Espresso} -package PWscf -program hp.x {
toc {}
intro {
@b {Input data format:} { } = optional, [ ] = it depends, # = comment
@b {Structure of the input data:}
===============================================================================
@b &INPUTHP
...
@b /
}
namelist INPUTHP {
var prefix -type CHARACTER {
default { 'pwscf' }
info {
Prepended to input/output filenames; must be the same
used in the calculation of unperturbed system.
}
}
var outdir -type CHARACTER {
default {
value of the @tt ESPRESSO_TMPDIR environment variable if set;
@br current directory ('./') otherwise
}
info {
Directory containing input, output, and scratch files;
must be the same as specified in the calculation of
the unperturbed system.
}
}
var iverbosity -type INTEGER {
default { 1 }
info {
= 1 : minimal output
= 2 : as above + symmetry matrices, final response
matrices chi0 and chi1 and their inverse matrices,
full U matrix
= 3 : as above + various detailed info about the NSCF
calculation at k and k+q
= 4 : as above + response occupation matrices at every
iteration and for every q point in the star
}
}
var max_seconds -type REAL {
default { 1.d7 }
info {
Maximum allowed run time before the job stops smoothly.
}
}
vargroup -type INTEGER {
var nq1
var nq2
var nq3
default { 1,1,1 }
info {
Parameters of the Monkhorst-Pack grid (no offset).
Same meaning as for nk1, nk2, nk3 in the input of pw.x.
}
}
var skip_equivalence_q -type LOGICAL {
default { .false. }
info {
If .true. then the HP code will skip the equivalence
analysis of q points, and thus the full grid of q points
will be used. Otherwise the symmetry is used to determine
equivalent q points (star of q), and then perform
calculations only for inequivalent q points.
}
}
var determine_num_pert_only -type LOGICAL {
default { .false. }
see { find_atpert }
info {
If .true. determines the number of perturbations
(i.e. which atoms will be perturbed) and exits smoothly
without performing any calculation. For DFT+U+V, it also
determines the indices of inter-site couples.
}
}
var find_atpert -type INTEGER {
default { 1 }
info {
Method for searching of atoms which must be perturbed.
1 = Find how many inequivalent Hubbard atoms there are
by analyzing unperturbed occupations.
2 = Find how many Hubbard atoms to perturb based on
how many different Hubbard atomic types there are.
Warning: atoms which have the same type but which
are inequivalent by symmetry or which have different
occupations will not be distinguished in this case
(use option 1 or 3 instead).
3 = Find how many inequivalent Hubbard atoms
there are using symmetry. Atoms which have the
same type but are not equivalent by symmetry will
be distinguished in this case.
}
}
var docc_thr -type REAL {
default { 5.D-5 }
info {
Threshold for a comparison of unperturbed occupations
which is needed for the selection of atoms which must
be perturbed. Can be used only when @ref find_atpert = 1.
}
}
dimension skip_type -start 1 -end ntyp -type LOGICAL {
default { skip_type(i) = .false. }
see { equiv_type }
info {
@ref skip_type(i), where i runs over types of atoms.
If @ref skip_type(i)=.true. then no linear-response
calculation will be performed for the i-th atomic type:
in this case @ref equiv_type(i) must be specified, otherwise
the HP code will stop. This option is useful if the
system has atoms of the same type but opposite spin
pollarizations (anti-ferromagnetic case).
This keyword cannot be used when @ref find_atpert = 1.
}
}
dimension equiv_type -start 1 -end ntyp -type INTEGER {
default { equiv_type(i) = 0 }
see { skip_type }
info {
@ref equiv_type(i), where i runs over types of atoms.
@ref equiv_type(i)=j, will make type i equivalent to type j
(useful when nspin=2). Such a merging of types is done
only at the post-processing stage.
This keyword cannot be used when @ref find_atpert = 1.
}
}
dimension perturb_only_atom -start 1 -end ntyp -type LOGICAL {
default { perturb_only_atom(i) = .false. }
see { compute_hp }
info {
If @ref perturb_only_atom(i)=.true. then only the i-th
atom will be perturbed and considered in the run.
This variable is useful when one wants to split
the whole calculation on parts.
@b Note: this variable has a higher priority than @ref skip_type.
}
}
var start_q -type INTEGER {
default { 1 }
see { last_q, sum_pertq }
info {
Computes only the q points from @ref start_q to @ref last_q.
@b IMPORTANT: @ref start_q must be smaller or equal to
the total number of q points found.
}
}
var last_q -type INTEGER {
default { number of q points }
see { start_q, sum_pertq }
info {
Computes only the q points from @ref start_q to @ref last_q.
@b IMPORTANT: @ref last_q must be smaller or equal to
the total number of q points found.
}
}
var sum_pertq -type LOGICAL {
default { .false. }
see { start_q, last_q, perturb_only_atom }
info {
If it is set to .true. then the HP code will collect
pieces of the response occupation matrices for all
q points. This variable should be used only when
@ref start_q, @ref last_q and @ref perturb_only_atom are used.
}
}
var compute_hp -type LOGICAL {
default { .false. }
see { perturb_only_atom }
info {
If it is set to .true. then the HP code will collect
pieces of the chi0 and chi matrices (which must have
been produced in previous runs) and then compute
Hubbard parameters. The HP code will look for files
tmp_dir/HP/prefix.chi.i.dat. Note that all files
prefix.chi.i.dat (where i runs over all perturbed
atoms) must be placed in one folder tmp_dir/HP/.
@ref compute_hp=.true. must be used only when the
calculation was parallelized over perturbations.
}
}
var conv_thr_chi -type REAL {
default { 1.D-5 }
info {
Convergence threshold for the response function chi,
which is defined as a trace of the response
occupation matrix.
}
}
var thresh_init -type REAL {
default { 1.D-14 }
info {
Initial threshold for the solution of the linear
system (first iteration). Needed to converge the
bare (non-interacting) response function chi0.
The specified value will be multiplied by the
number of electrons in the system.
}
}
var ethr_nscf -type REAL {
default { 1.D-11 }
info {
Threshold for the convergence of eigenvalues during
the iterative diagonalization of the Hamiltonian in
the non-self-consistent-field (NSCF) calculation at
k and k+q points. Note, this quantity is NOT extensive.
}
}
var niter_max -type INTEGER {
default { 100 }
info {
Maximum number of iterations in the iterative
solution of the linear-response Kohn-Sham equations.
}
}
var alpha_mix(i) -type REAL {
default { alpha_mix(1)=0.3 }
info {
Mixing parameter (for the i-th iteration) for updating
the response SCF potential using the modified Broyden
method. See: D.D. Johnson, PRB 38, 12807 (1988).
}
}
var nmix -type INTEGER {
default { 4 }
info {
Number of iterations used in potential mixing
using the modified Broyden method. See:
D.D. Johnson, PRB 38, 12807 (1988).
}
}
var num_neigh -type INTEGER {
default { 6 }
info {
Number of nearest neighbors of every Hubbard atom which
will be considered when writting Hubbard V parameters to
the file parameters.out, which can be used in the
subsequent DFT+U+V calculation. This keyword is used only
when lda_plus_u_kind = 2 (post-processing stage).
}
}
var lmin -type INTEGER {
default { 2 }
info {
Minimum value of the orbital quantum number of the Hubbard
atoms starting from which (and up to the maximum l in the
system) Hubbard V will be written to the file parameters.out.
@ref lmin refers to the orbital quantum number of the atom
corresponding to the first site-index in Hubbard_V(:,:,:).
This keyword is used only when lda_plus_u_kind = 2 and only
in the post-processing stage. Example: @ref lmin=1 corresponds to
writing to file V between e.g. oxygen (with p states) and its
neighbors, and including V between transition metals (with d
states) and their neighbors. Instead, when @ref lmin=2 only the
latter will be written to parameters.out.
}
}
var rmax -type REAL {
default { 100.D0 }
info {
Maximum distance (in Bohr) between two atoms to search
neighbors (used only at the postprocessing step when
lda_plus_u_kind = 2). This keyword is useful when there
are e.g. defects in the system.
}
}
}
}