mirror of https://gitlab.com/QEF/q-e.git
327 lines
12 KiB
Modula-2
327 lines
12 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 determine_q_mesh_only -type LOGICAL {
|
|
default { .false. }
|
|
see { perturb_only_atom }
|
|
info {
|
|
If .true. determines the number of q points
|
|
for a given perturbed atom and exits smoothly.
|
|
This keyword can be used only if perturb_only_atom
|
|
is set to .true.
|
|
}
|
|
}
|
|
|
|
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.
|
|
4 = Perturb all Hubbard atoms (the most expensive option)
|
|
}
|
|
}
|
|
|
|
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
|
|
for DFT+U+V (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 for DFT+U+V 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 for
|
|
DFT+U+V). This keyword is useful when there
|
|
are e.g. defects in the system.
|
|
}
|
|
}
|
|
|
|
var dist_thr -type REAL {
|
|
default { 6.D-4 }
|
|
info {
|
|
Threshold (in Bohr) for comparing inter-atomic distances
|
|
when reconstructing the missing elements of the response
|
|
susceptibility in the post-processing step.
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|