ABINIT, anaddb input variables:
List and description.
This document lists and provides the description
of the name (keywords) of the "anaddb" input
variables to be used in the input file for the ANADDB executable of the ABINIT package.
Copyright (C) 1998-2017 ABINIT group (DCA,XG,RC,YG,FJ)
Content of the file : alphabetical list of "anaddb" variables.
A.
a2fsmear
alphon
asr
atftol
atifc
B.
band_gap
brav
C.
chneut
D.
dieflag
dipdip
dosdeltae
dossmear
dossum
dostol
E.
eivec
elaflag
elph_fermie
elphflag
elphsmear
enunit
ep_b_max
ep_b_min
ep_extrael
ep_int_gkk
ep_keepbands
ep_nqpt
ep_nspline
ep_prt_yambo
ep_qptlist
ep_scalprod
F.
freeze_displ
frmax
frmin
G.
gkqwrite
gruns_ddbs
gruns_nddbs
H.
I.
iatfix
iatprj_bs
ifcana
ifcflag
ifcout
ifltransport
instrflag
istrfix
J.
K.
kptrlatt
kptrlatt_fine
L.
M.
mustar
N.
natfix
natifc
natprj_bs
nchan
ndivsm
nfreq
ng2qpt
ngqpt
ngrids
nlflag
nph1l
nph2l
nqpath
nqshft
nsphere
nstrfix
ntemper
nwchan
O.
outboltztrap
outscphon
P.
piezoflag
polflag
prt_ifc
prtbltztrp
prtddb
prtdos
prtfsurf
prtmbm
prtnest
prtphbands
prtsrlr
prtvol
Q.
q1shft
q2shft
qgrid_type
qpath
qph1l
qph2l
qrefine
R.
ramansr
relaxat
relaxstr
rfmeth
rifcsph
S.
selectz
symdynmat
symgkq
T.
targetpol
telphint
temperinc
tempermin
thermal_supercell
thmflag
thmtol
U.
use_k_fine
V.
vs_qrad_tolkms
a2fsmear
Mnemonics: Alpha2F SMEARing factor
Executable: anaddb
Characteristic: ENERGY
Mentioned in topic: ElPhonTransport.
Moderately used: [1/70] in anaddb tests, [0/10] in tuto anaddb tests. Test list: {v5:[91]}.
Variable type: real
Default is 2e-05
Smearing width for the Eliashberg alpha^2F function
(similar to a phonon DOS), which is sampled on a finite q and k grid. The Dirac delta
functions in energy are replaced by Gaussians of width a2fsmear
(by default in Hartree).
Go to the top
| Complete list of input variables
alphon
Mnemonics: ALign PHONon mode eigendisplacements
Executable: anaddb
Mentioned in topic: nonlinear.
Moderately used: [3/70] in anaddb tests, [1/10] in tuto anaddb tests. Test list: {tutorespfn:[nlo_5],v4:[54],v8:[49]}.
Variable type: integer
Default is 0
In case alphon is set to 1, ANADDB will compute linear combinations of
the eigendisplacements of modes that are degenerate (twice or three times),
in order to align the mode effective charges along the cartesian axes.
This option is useful in the mode-by-mode decomposition of the electrooptic tensor, and to compute
the Raman susceptibilities of individual phonon modes.
In case of uniaxial crystals, the z-axis should be chosen along the optical axis.
Go to the top
| Complete list of input variables
asr
Mnemonics: Acoustic Sum Rule
Executable: anaddb
Mentioned in topics: Phonons, PhononBands.
Moderately used: [23/70] in anaddb tests, [3/10] in tuto anaddb tests. Tuto test list: {tutorespfn:[eph_4,eph_5,eph_6]}.
Variable type: integer
Default is 1 (Comment: was 0 before v5.3)
Govern the imposition of the Acoustic Sum Rule (ASR).
- 0 => no ASR for interatomic force constants is imposed.
- 1 or 2 => the ASR for interatomic force constants
is imposed by modifying the on-site interatomic force constants,
in a symmetric way (asr=2), or in the more general case, unconstrained way (asr=1).
More detailed explanations: the total energy should be
invariant under translation of the crystal as a whole. This
would guarantee that the three lowest phonon modes at Gamma
have zero frequency (Acoustic Sum Rule - ASR).
Unfortunately, the way the DDB is
generated (presence of a discrete grid of points for the
evaluation of the exchange-correlation potential and energy)
slightly breaks the translational invariance.
Well, in some pathological cases, the breaking can be rather important.
Two quantities are affected: the interatomic forces
(or dynamical matrices), and the effective charges.
The ASR for the effective charges is called the charge
neutrality sum rule, and will be dealt with by the variable
chneut.
The ASR for the interatomic forces can be restored,
by modifying the interatomic force of the atom on itself,
(called self-IFC), as soon as the dynamical matrix at Gamma is known.
This quantity should be equal to minus the sum of all interatomic
forces generated by all others atoms (action-reaction law!),
which is determined by the dynamical matrix at Gamma.
So, if asr is non-zero, the correction to the self-force
will be determined, and the self-force will be imposed to be consistent with the ASR.
This correction will work if IFCs are computed
(ifcflag/=0),
as well as if the IFCs are not computed
(ifcflag==0).
In both cases, the phonon frequencies will not be the same
as the ones determined by the output of abinit, RF case.
If you want to check that the DDB is correct, by comparing
phonon frequencies from abinit and anaddb, you should turn off both asr and
chneut.
Until now, we have not explained the difference between
asr=1 and asr=2.
This is rather subtle.
In some local low-symmetry cases (basically the effective charges should be anisotropic),
when the dipole-dipole contribution is evaluated and subtracted,
the ASR cannot be imposed without breaking the
symmetry of the on-site interatomic forces. That explains why two
options are given: the second case (asr=2, sym) does not
entirely impose the ASR, but simply the part that keeps the on-site
interatomic forces symmetric (which means that the acoustic frequencies
do not go to zero exactly), the first case (asr=1, asym)
imposes the ASR, but breaks the symmetry.
asr=2 is to be preferred for the analysis of the interatomic force
constant in real space, while asr=1 should be used to get the phonon band structure.
(NOTE: in order to confuse even more the situation,
it seems that the acoustic phonon frequencies generated by the code
for both the sym and asym options are exactly the same ...
likely due to an extra symmetrisation in the diagonalisation routine.
Of course, when the matrix at Gamma has been generated from IFCs coming from dynamical
matrices none of which are Gamma, the breaking of the ASR is rather severe.
In order to clear the situation, one should use a diagonalisation
routine for non-hermitian matrices. So, at the present status of
understanding, one should always use the asr=2 option ).
Go to the top
| Complete list of input variables
atftol
Mnemonics: ATomic Temperature Factor TOLerance
Executable: anaddb
Mentioned in topic: Temperature.
Rarely used: [0/70] in anaddb tests, [0/10] in tuto anaddb tests.
Variable type: real
Default is 0.05
The relative tolerance on the atomic temperature factors.
This number will determine when the series of channel widths
with which the DOS is calculated can be stopped, i.e.
the mean of the relative change going from one grid
to the next bigger is smaller than wtol2.
Go to the top
| Complete list of input variables
atifc
Mnemonics: AToms for IFC analysis
Executable: anaddb
Mentioned in topic: PhononBands.
Very frequently used: [36/70] in anaddb tests, [4/10] in tuto anaddb tests. Tuto test list: {tutorespfn:[eph_4,eph_5,eph_6,rf2_4]}.
Variable type: integer(array 'natifc')
Default is 0
The actual numbers of the atoms for which the interatomic
force constant have to be written and eventually analysed.
WARNING: there will be an in-place change of meaning of atifc (this is
confusing, and should be taken away in one future version - sorry for this).
Go to the top
| Complete list of input variables
band_gap
Mnemonics: BAND GAP
Executable: anaddb
Characteristic: ENERGY
Mentioned in topic: ElPhonTransport.
Moderately used: [5/70] in anaddb tests, [0/10] in tuto anaddb tests. Test list: {v6:[94,95,96],v7:[93,94]}.
Variable type: real
Default is 999.0
Allow setting the target band gap, in eV.
(elphflag@anaddb=1).
NOTE XG20170811 : apparently no effective test for this input variable. Also, the descirption is strange ...!
Go to the top
| Complete list of input variables
brav
Mnemonics: BRAVais
Executable: anaddb
Mentioned in topic: PhononBands.
Very frequently used: [55/70] in anaddb tests, [7/10] in tuto anaddb tests. Tuto test list: {tutorespfn:[depes_2,eph_4,eph_5,eph_6,rf2_4,rf2_5,rf2_7]}.
Variable type: integer
Default is 1
Allows to specify the Bravais lattice of the crystal,
in order to help to generate a grid of special q points.
- 1 => all the lattices (including FCC, BCC
and hexagonal)
- 2 => specific for Face Centered lattices
- 3 => specific for Body Centered lattices
- 4 => specific for the Hexagonal lattice
Note that in the latter case, the rprim of
the unit cell have to be 1.0 0.0 0.0 -.5 sqrt(3)/2 0.0 0.0 0.0 1.0
in order for the code to work properly.
Warning: the generation of q-points in anaddb is rather
old-fashioned, and should be replaced by routines used by the main abinit code.
Go to the top
| Complete list of input variables
chneut
Mnemonics: Integer for CHarge NEUTrality treatment
Executable: anaddb
Mentioned in topic: Phonons.
Very frequently used: [41/70] in anaddb tests, [7/10] in tuto anaddb tests. Tuto test list: {tutorespfn:[depes_2,elast_3,ffield_3,nlo_5,rf2_4,rf2_5,rf2_7]}.
Variable type: integer
Default is 0
Set the treatment of the Charge Neutrality requirement for
the effective charges.
- chneut=0 => no ASR for effective charges is imposed
- chneut=1 => the ASR for effective charges is imposed
by giving to each atom an equal portion
of the missing charge. See Eq.(48) in Phys. Rev. B55, 10355 (1997).
- chneut=2 => the ASR for effective charges is imposed
by giving to each atom a portion of the
missing charge proportional to the screening charge
already present. See Eq.(49) in Phys. Rev. B55, 10355 (1997).
More detailed explanation: the sum of the effective charges
in the unit cell should be equal to zero. It is not the case
in the DDB, and this sum rule is sometimes strongly violated.
In particular, this will make the lowest frequencies at Gamma
non-zero. There is no "best" way of imposing the ASR on effective charges.
Go to the top
| Complete list of input variables
dieflag
Mnemonics: DIElectric FLAG
Executable: anaddb
Mentioned in topic: Phonons.
Very frequently used: [40/70] in anaddb tests, [4/10] in tuto anaddb tests. Tuto test list: {tutorespfn:[eph_4,eph_5,eph_6,nlo_5]}.
Variable type: integer
Default is 0
Integer. Frequency-dependent dielectric tensor flag.
- 0 => No dielectric tensor is calculated.
- 1 => The frequency-dependent dielectric tensor is calculated.
Requirements for preceding response-function DDB generation
run: electric-field and full atomic-displacement responses.
Set rfstrs = 1, 2, or 3 (preferably 3).
Set rfatpol and
rfdir to do a full calculation of
phonons at Q=0.
The frequencies are defined by the
nfreq,frmin,frmax
variables. Also, the generalized Lyddane-Sachs-Teller
relation will be used as an independent check of the
dielectric tensor at zero frequency (this for the
directions defined in the phonon list 2.
See nph2l.
- 2 => Only the electronic dielectric tensor is calculated.
It corresponds to a zero-frequency homogeneous field,
with quenched atomic positions. For large band gap materials,
this quantity is measurable because the highest phonon
frequency is on the order of a few tenths of eV, and the
band gap is larger than 5eV. Requirements for preceding response-function
DDB generation: electric-field response.
Set rfelfd = 1 or 3 (preferably 3).
Note that the same information on the electronic dielectric tensor will be printed in the
.out file of the rfelfd run.
- 3 => Compute and print the relaxed-ion dielectric tensor.
Requirements for preceding response-function DDB generation
run: electric-field and full atomic-displacement responses.
Set rfstrs = 1, 2, or 3 (preferably 3).
Set rfatpol and
rfdir to do a full calculation of
phonons at Q=0 (needed because the inverse of
force-constant tensor is required). Furthermore, in the anaddb input file the variable
nph2l must be nonzero in order to initiate
computation of atomic displacements. If only the dielectric response is needed it
is sufficient to set nph2l to 1 and leave
qph2l at its default value (the Gamma point).
Note that the relaxed-ion dielectric tensor computed here can
also be obtained as the zero-frequency limit of the
frequency-dependent dielectric tensor using input variables
dieflag=1 and frmin=0.0. (The results obtained using these two
approaches should agree to good numerical precision.) The ability
to compute and print the static dielectric tensor here is provided
for completeness and consistency with the other tensor
quantities that are computed in this section of the code.
- 4 => Calculate dielectric tensor of both relaxed ion and
free stress.
We need information of internal strain and elastic tensor (relaxed ion)
in this computation. So please set:
elaflag=2,3,4 or 5 and
instrflag=1
Go to the top
| Complete list of input variables
dipdip
Mnemonics: DIPole-DIPole interaction
Executable: anaddb
Mentioned in topic: PhononBands.
Very frequently used: [52/70] in anaddb tests, [7/10] in tuto anaddb tests. Tuto test list: {tutorespfn:[depes_2,eph_4,eph_5,eph_6,rf2_4,rf2_5,rf2_7]}.
Variable type: integer
Default is 1
-
0 => the dipole-dipole interaction is not handled separately
in the treatment of the interatomic forces.
This option is available for testing purposes or if effective charge
and/or dielectric tensor is not available in the derivative database.
It gives results much less accurate than dipdip=1.
-
1 => the dipole-dipole interaction is subtracted from the dynamical
matrices before Fourier transform, so that only the short-range
part is handled in real space. Of course, it is reintroduced
analytically when the phonon spectrum is interpolated, or if
the interatomic force constants have to be analysed in real space.
The abinit input variable dipdip has a similar meaning.
Go to the top
| Complete list of input variables
dosdeltae
Mnemonics: DOS DELTA in Energy
Executable: anaddb
Mentioned in topic: PhononBands.
Rarely used: [0/70] in anaddb tests, [0/10] in tuto anaddb tests.
Variable type: real
Default is 4.5E-06 Hartree = 1 cm-1
The input variable dosdeltae is used to define the step of the frequency grid used to
calculate the phonon density of states when prtdos=1.
Go to the top
| Complete list of input variables
dossmear
Mnemonics: DOS SMEARing value
Executable: anaddb
Characteristic: ENERGY
Mentioned in topic: PhononBands.
Moderately used: [1/70] in anaddb tests, [0/10] in tuto anaddb tests. Test list: {v5:[91]}.
Variable type: real
Default is 4.5E-05 Hartree = 10 cm-1
dossmear defines the gaussian broadening used to calculate the phonon density
of states when prtdos=1.
Go to the top
| Complete list of input variables
dossum
Mnemonics: DOS SUM
Executable: anaddb
Mentioned in topic: PhononBands.
Moderately used: [1/70] in anaddb tests, [0/10] in tuto anaddb tests. Test list: {v2:[15]}.
Variable type: integer
Default is 0
Set the flag to calculate the two phonon dos density of states. Sum and Difference for
the Gamma point. The DOS is converged and based on that, the sum and different is
reported in the output file dossum.
Go to the top
| Complete list of input variables
dostol
Mnemonics: DOS TOLerance
Executable: anaddb
Mentioned in topic: PhononBands.
Moderately used: [3/70] in anaddb tests, [0/10] in tuto anaddb tests. Test list: {v4:[54,71],v8:[49]}.
Variable type: real
Default is 0.25
The relative tolerance on the phonon density of state.
This number will determine when the series of grids
with which the DOS is calculated can be stopped, i.e.
the mean of the relative change going from one grid
to the next bigger is smaller than dostol.
Go to the top
| Complete list of input variables
eivec
Mnemonics: EIgenVECtors
Executable: anaddb
Mentioned in topics: Phonons, PhononBands.
Very frequently used: [36/70] in anaddb tests, [5/10] in tuto anaddb tests. Tuto test list: {tutorespfn:[eph_4,eph_5,eph_6,nlo_5,rf2_5]}.
Variable type: integer
Default is 0
- 0 => do not write the phonon eigenvectors;
- 1 or 2 => write the phonon eigenvectors;
- 4 => generate output files for band2eps (drawing tool for the phonon band structure);
Go to the top
| Complete list of input variables
elaflag
Mnemonics: ELAstic tensor FLAG
Executable: anaddb
Mentioned in topic: Elastic.
Moderately used: [6/70] in anaddb tests, [3/10] in tuto anaddb tests. Test list: {tutorespfn:[elast_3,ffield_3,nlo_5],v4:[68,70,83]}.
Variable type: integer
Default is 0
Flag for calculation of elastic and compliance tensors
- 0 => No elastic or compliance tensor will be calculated.
- 1 => Only clamped-ion elastic and compliance tensors will be
calculated.
Requirements for preceding response-function DDB generation
run: Strain perturbation.
Set rfstrs to 1, 2, or 3.
Note that rfstrs=3 is recommended so that responses to
both uniaxial and shear strains will be computed.
- 2 => Both relaxed- and clamped-ion elastic and compliance tensor
will be calculated, but only the relaxed-ion quantities
will be printed.
The input variable instrflag
should also be set to 1, because
the internal-strain tensor is needed to compute the relaxed-ion
corrections. Requirements for preceding response-function DDB
generation run: Strain and atomic-displacement responses at Q=0.
Set rfstrs = 1, 2, or 3 (preferably 3).
Set rfatpol and
rfdir to do a full calculation of
phonons at Q=0 (needed because the inverse of
force-constant tensor is required).
- 3 => Both relaxed and clamped-ion elastic and compliance tensors
will be printed out.
The input variable instrflag
should also be set to 1.
Requirements for preceding response-function DDB generation
run: Same as for elaflag=2.
- 4 => Calculate the elastic and compliance tensors (relaxed ion)
at fixed displacement field, the relaxed-ion tensors at fixed
electric field will be printed out too, for comparison.
When elaflag=4, we need the information of internal strain and
relaxed-ion dielectric tensor to build the whole tensor, so
we need set instrflag=1 and
dieflag=3 or 4 .
- 5 => Calculate the relaxed ion elastic and compliance tensors, considering
the stress left inside cell. At the same time, bare relaxed ion tensors
will still be printed out for comparison.
In this calculation, stress tensor is needed to compute the correction
term, so one supposed to merge the first order derivative data base (DDB file)
with the second order derivative data base (DDB file) into a new DDB file, which
can contain both information. And the program will also check for the users.
Go to the top
| Complete list of input variables
elph_fermie
Mnemonics: ELectron-PHonon FERMI Energy
Executable: anaddb
Characteristic: ENERGY
Mentioned in topic: ElPhonTransport.
Moderately used: [2/70] in anaddb tests, [0/10] in tuto anaddb tests. Test list: {v5:[93],v6:[93]}.
Variable type: real
Default is 0.0
If non-zero, will fix artificially the value of the Fermi energy
(e.g. for semiconductors), in the electron-phonon case. Note that elph_fermie and ep_extrael
should not be used at the same time. (elphflag=1).
Go to the top
| Complete list of input variables
elphflag
Mnemonics: ELectron-PHonon FLAG
Executable: anaddb
Mentioned in topics: PhononWidth, ElPhonTransport.
Moderately used: [20/70] in anaddb tests, [3/10] in tuto anaddb tests. Tuto test list: {tutorespfn:[eph_4,eph_5,eph_6]}.
Variable type: integer
Default is 0
If elphflag is 1, anaddb performs an analysis of the electron-phonon coupling.
Go to the top
| Complete list of input variables
elphsmear
Mnemonics: ELectron-PHonon SMEARing factor
Executable: anaddb
Characteristic: ENERGY
Mentioned in topic: ElPhonTransport.
Moderately used: [2/70] in anaddb tests, [2/10] in tuto anaddb tests. Test list: {tutorespfn:[eph_5,eph_6]}.
Variable type: real
Default is 0.01 Hartree
Smearing width for the Fermi surface integration (in Hartree by default).
Go to the top
| Complete list of input variables
enunit
Mnemonics: ENergy UNITs
Executable: anaddb
Mentioned in topics: Phonons, PhononBands.
Moderately used: [11/70] in anaddb tests, [1/10] in tuto anaddb tests. Tuto test list: {tutorespfn:[nlo_5]}.
Variable type: integer
Default is 0
Give the energy for the phonon frequency output
(in the output file, not in the console log file, for
which Hartree units are used).
- 0 => Hartree and cm-1;
- 1 => meV and Thz;
- 2 => Hartree, cm-1, meV, Thz, and Kelvin.
Go to the top
| Complete list of input variables
ep_b_max
Mnemonics: Electron Phonon integration Band MAXimum
Executable: anaddb
Mentioned in topic: ElPhonTransport.
Moderately used: [1/70] in anaddb tests, [0/10] in tuto anaddb tests. Test list: {v5:[92]}.
Variable type: integer
Default is 0
When set, and telphint is equal to 2, this variable determines the k-point integration weights which are used in the electron-phonon part of the code. Instead of weighting according to a distance from the Fermi surface, an equal weight is given to all k-points, for all bands between ep_b_min and ep_b_max.
Go to the top
| Complete list of input variables
ep_b_min
Mnemonics: Electron Phonon integration Band MINimum
Executable: anaddb
Mentioned in topic: ElPhonTransport.
Moderately used: [1/70] in anaddb tests, [0/10] in tuto anaddb tests. Test list: {v5:[92]}.
Variable type: integer
Default is 0
As for ep_b_max, but ep_b_min is the lower bound on the band integration, instead of the upper bound. See also telphint.
Go to the top
| Complete list of input variables
ep_extrael
Mnemonics: Electron-Phonon EXTRA ELectrons
Executable: anaddb
Mentioned in topic: ElPhonTransport.
Moderately used: [5/70] in anaddb tests, [0/10] in tuto anaddb tests. Test list: {v6:[94,95,96],v7:[93,94]}.
Variable type: real
Default is 0.0
If non-zero, will fix artificially the number of extra electrons per unit cell (positive for electron doping), according to a doped case.
(e.g. for semiconductors), in the electron-phonon case.
This field can also be filled with doping concentration, in the units of cm-3 (negative for electron doping).
Note that ep_extrael and elph_fermie should not be used at the same time.
(elphflag=1).
Go to the top
| Complete list of input variables
ep_int_gkk
Mnemonics: Electron-Phonon INTerpolation of GKK
Executable: anaddb
Mentioned in topic: PhononWidth.
Moderately used: [1/70] in anaddb tests, [0/10] in tuto anaddb tests. Test list: {v6:[77]}.
Variable type: integer
Default is 0
This flag determines whether the interpolation of the electron-phonon matrix
elements over the coarse k-grid is done (ep_int_gkk 1) before summing
with appropriate Fermi Surface weights. In this way, the two integration weights
are treated symmetrically.
Go to the top
| Complete list of input variables
ep_keepbands
Mnemonics: Electron-Phonon KEEP dependence on electron BANDS
Executable: anaddb
Mentioned in topic: ElPhonTransport.
Moderately used: [10/70] in anaddb tests, [1/10] in tuto anaddb tests. Tuto test list: {tutorespfn:[eph_6]}.
Variable type: integer
Default is 0
This flag determines whether the dependency of the electron-phonon matrix
elements on the electron band index is kept (ep_keepbands 1), or whether
it is summed over immediately with appropriate Fermi Surface weights. For
transport calculations ep_keepbands must be set to 1.
Go to the top
| Complete list of input variables
ep_nqpt
Mnemonics: Electron Phonon Number of Q PoinTs
Executable: anaddb
Mentioned in topic: ElPhonTransport.
Moderately used: [1/70] in anaddb tests, [0/10] in tuto anaddb tests. Test list: {v5:[94]}.
Variable type: integer
Default is 0
In case a non-uniform grid of q-points is being used, for direct calculation
of the electron-phonon quantities without interpolation, this specifies the
number of q-points to be found in the GKK file, independently of the normal
anaddb input (ngqpt)
Go to the top
| Complete list of input variables
ep_nspline
Mnemonics: Electron Phonon Number for SPLINE interpolation
Executable: anaddb
Mentioned in topic: ElPhonTransport.
Moderately used: [1/70] in anaddb tests, [0/10] in tuto anaddb tests. Test list: {v6:[94]}.
Variable type: integer
Default is 20
The scale factor for cubic spline interpolation, only used in the relaxation time approximation (ifltransport=3).
Go to the top
| Complete list of input variables
ep_prt_yambo
Mnemonics: Electron Phonon PRinTout YAMBO data
Executable: anaddb
Mentioned in topic: ElPhonInt.
Moderately used: [1/70] in anaddb tests, [0/10] in tuto anaddb tests. Test list: {v5:[91]}.
Variable type: integer
Default is 0
For electron-phonon calculations, print out matrix elements for use by the yambo code.
Go to the top
| Complete list of input variables
ep_qptlist
Mnemonics: Electron Phonon Q PoinT LIST
Executable: anaddb
Mentioned in topic: PhononWidth.
Moderately used: [1/70] in anaddb tests, [0/10] in tuto anaddb tests. Test list: {v5:[94]}.
Variable type: real(3,ep_nqpt)
Default is (3*ep_nqpt)*0
In case a non-uniform grid of q-points is being used, for direct calculation
of the electron-phonon quantities without interpolation, this specifies the
q-points to be found in the GKK file, independently of the normal
anaddb input (ngqpt), in reduced coordinates of the reciprocal space lattice.
Go to the top
| Complete list of input variables
ep_scalprod
Mnemonics: DO SCALar PRODuct for gkk matrix elements
Executable: anaddb
Mentioned in topic: PhononWidth.
Moderately used: [9/70] in anaddb tests, [0/10] in tuto anaddb tests. Test list: {v5:[89],v6:[76,77,93,94,95,96],v7:[93,94]}.
Variable type: integer
Default is 0
The input variable ep_scalprod is a flag determining whether the scalar
product of the electron-phonon matrix elements (gkk) with the phonon
displacement vectors is done before or after interpolation. Doing so before
(ep_scalprod 1) makes phonon linewidths smoother but introduces an error,
as the interpolated phonons and gkk are not diagonalized in the same basis.
Doing so afterwards (ep_scalprod 0) eliminates the diagonalization error,
but sometimes gives small spikes in the phonon linewidths near band crossings
or high symmetry points. I do not know why...
Go to the top
| Complete list of input variables
freeze_displ
Mnemonics: FREEZE DISPLacement of phonons into supercells
Executable: anaddb
Mentioned in topic: PhononBands.
Moderately used: [7/70] in anaddb tests, [0/10] in tuto anaddb tests. Test list: {v6:[76,93,94,95,96],v7:[93,94]}.
Variable type: real
Default is 0.0
If different from zero, freeze_displ will be used as the amplitude of a phonon displacement.
For each q-point and mode in the qph1l list,
a file will be created containing a supercell
of atoms with the corresponding phonon displacements frozen in.
This is typically useful to freeze a soft phonon mode, then let it relax in abinit
afterwards.
freeze_displ is unitless, but has a physical meaning: it is related to the Bose
distribution n_B and the frequency w_qs of the phonon mode. At a given temperature T,
freeze_displ will give the mean square displacement of atoms (along with the displacement
vectors, which are in Bohr). In atomic units freeze_displ = sqrt((0.5 + n_B(w_qs/kT) / w_qs)
Typical values are 50-200 for a frequency of a few hundred cm-1 and room temperature. If all you want
is to break the symmetry in the right direction, any reasonable value (10-50) should be ok.
WARNING: this will create a lot of files (3*natom*nph1l), so it should be used with a small number
nph1l of q-points for interpolation.
Go to the top
| Complete list of input variables
frmax
Mnemonics: FRequency MAXimum
Executable: anaddb
Mentioned in topic: Phonons.
Moderately used: [3/70] in anaddb tests, [0/10] in tuto anaddb tests. Test list: {v4:[54,71],v8:[49]}.
Variable type: real
Default is 10.0
Value of the largest frequency for the frequency-dependent dielectric tensor, in Hartree.
Go to the top
| Complete list of input variables
frmin
Mnemonics: FRequency MINimum
Executable: anaddb
Mentioned in topic: Phonons.
Moderately used: [3/70] in anaddb tests, [0/10] in tuto anaddb tests. Test list: {v4:[54,71],v8:[49]}.
Variable type: real
Default is 0.0
Value of the lowest frequency for the frequency-dependent dielectric tensor, in Hartree.
Go to the top
| Complete list of input variables
gkqwrite
Mnemonics: GKk for input Q grid to be WRITtEn to disk
Executable: anaddb
Mentioned in topic: ElPhonInt.
Moderately used: [1/70] in anaddb tests, [0/10] in tuto anaddb tests. Test list: {v5:[91]}.
Variable type: integer
Default is 0
Flag to write out the reciprocal space matrix elements to a disk file named
gkqfile. This reduces strongly the memory needed for an electron-phonon run.
Go to the top
| Complete list of input variables
gruns_ddbs
Mnemonics: GRUNeiSen DDBS
Executable: anaddb
Mentioned in topic: Temperature.
Moderately used: [1/70] in anaddb tests, [0/10] in tuto anaddb tests. Test list: {v8:[45]}.
Variable type: string(gruns_nddbs)
Default is Empty
List of strings with the paths of the DDB files used for the calculation of the Gruneisen parameters.
Each string must be enclosed by quotation marks. The number of DDB files is defined by
gruns_nddbs (possible values are: 3,5,7,9)
The DDB files correspond to phonon calculations performed at different volumes (usually ± 1%
of the equilibrium volume). The DDB files must be ordered according to the volume of the unit cell
(the DDB with smallest volume comes first) and the volume increment must be constant.
The code computes the derivative of the dynamical matrix wrt the volume using central finite difference.
Go to the top
| Complete list of input variables
gruns_nddbs
Mnemonics: GRUNeiSen Number of DDB files
Executable: anaddb
Mentioned in topic: Temperature.
Moderately used: [1/70] in anaddb tests, [0/10] in tuto anaddb tests. Test list: {v8:[45]}.
Variable type: integer
Default is 0
This variable defines the number of DDB files (read from gruns_ddbs)
used for the calculation of the Gruneisen parameters.
Go to the top
| Complete list of input variables
iatfix
Mnemonics: Indices of the AToms that are FIXed
Executable: anaddb
Mentioned in topic: ConstrainedPol.
Rarely used: [0/70] in anaddb tests, [0/10] in tuto anaddb tests.
Variable type: integer(natfix)
Default is 0
Indices of the atoms that are fixed during a structural relaxation at constrained polarization.
See polflag.
Go to the top
| Complete list of input variables
iatprj_bs
Mnemonics: Indices of the AToms for the PRoJection of the phonon Band Structure
Executable: anaddb
Mentioned in topic: PhononBands.
Moderately used: [7/70] in anaddb tests, [0/10] in tuto anaddb tests. Test list: {v6:[76,93,94,95,96],v7:[93,94]}.
Variable type: integer(natprj_bs)
Default is 0*'natprj_bs'
Indices of the atoms that are chosen for projection of the phonon eigenvectors, giving a weighted phonon band structure file.
Go to the top
| Complete list of input variables
ifcana
Mnemonics: IFC ANAlysis
Executable: anaddb
Mentioned in topic: PhononBands.
Very frequently used: [37/70] in anaddb tests, [4/10] in tuto anaddb tests. Tuto test list: {tutorespfn:[eph_4,eph_5,eph_6,rf2_4]}.
Variable type: integer
Default is 0
- 0 => no analysis of interatomic force constants;
- 1 => analysis of interatomic force constants.
If the analysis is activated, one get the
trace of the matrices between pairs of atoms,
if dipdip is 1,
get also the trace of the short-range
and electrostatic part, and
calculate the ratio with the full matrix;
then define a local coordinate reference (using
the next-neighbour coordinates), and express
the interatomic force constant matrix between
pairs of atoms in that local coordinate reference
(the first vector is along the bond; the second
vector is along the perpendicular force exerted
on the generic atom by a longitudinal displacement
of the neighbouring atom - in case it does not vanish;
the third vector is perpendicular to the two other)
also calculate ratios with respect to the
longitudinal force constant ( the (1,1) element of
the matrix in local coordinates).
Go to the top
| Complete list of input variables
ifcflag
Mnemonics: Interatomic Force Constants FLAG
Executable: anaddb
Mentioned in topic: PhononBands.
Very frequently used: [57/70] in anaddb tests, [8/10] in tuto anaddb tests. Tuto test list: {tutorespfn:[depes_2,eph_4,eph_5,eph_6,nlo_5,rf2_4,rf2_5,rf2_7]}.
Variable type: integer
Default is 0
- 0 => do all calculations directly from the DDB, without the
use of the interatomic force constant.
- 1 => calculate and use the interatomic force constants
for interpolating the phonon spectrum and dynamical
matrices at every q wavevector, and eventually analyse
the interatomic force constants, according to the
informations given by
atifc,dipdip,ifcana,ifcout,natifc,nsphere,rifcsph
More detailed explanations: if the dynamical matrices
are known on a regular set of wavevectors, they
can be used to get the interatomic forces, which are simply
their Fourier transform. When non-analyticities
can been removed by the use of effective charge at Gamma
(option offered by putting
dipdip to 1),
the interatomic forces are known to decay rather fast (in real space).
The interatomic forces generated from a small set of
dynamical matrices
could be of sufficient range to allow
the remaining interatomic forces to be neglected.
This gives a practical way to interpolate the content
of a small set of dynamical matrices, because dynamical
matrices can everywhere be generated starting from this
set of interatomic force constants. It is suggested to
always use ifcflag=1. The ifcflag=0 option
is available for checking purpose, and if there is not enough information in the DDB.
Go to the top
| Complete list of input variables
ifcout
Mnemonics: IFC OUTput
Executable: anaddb
Mentioned in topic: PhononBands.
Very frequently used: [47/70] in anaddb tests, [7/10] in tuto anaddb tests. Tuto test list: {tutorespfn:[depes_2,eph_4,eph_5,eph_6,rf2_4,rf2_5,rf2_7]}.
Variable type: integer
Default is 0
For each atom in the list atifc (generic atoms),
ifcout give the number
of neighbouring atoms for which the ifc's will be
output (written) and eventually analysed. The
neighbouring atoms are selected by decreasing distance with respect to
the generic atom.
Go to the top
| Complete list of input variables
ifltransport
Mnemonics: IFLag for TRANSPORT
Executable: anaddb
Mentioned in topic: ElPhonTransport.
Moderately used: [10/70] in anaddb tests, [1/10] in tuto anaddb tests. Tuto test list: {tutorespfn:[eph_6]}.
Variable type: integer
Default is 0
if ifltransport=1 (LOVA) or ifltransport=2 (non-LOVA), anaddb calculates the transport
properties: electrical and thermal resistivities from electron-phonon
interactions in the variational approach. If ifltransport=3, anaddb calculates the
k-dependent relaxation time. (needselphflag = 1)
Go to the top
| Complete list of input variables
instrflag
Mnemonics: INternal STRain FLAG
Executable: anaddb
Mentioned in topic: Elastic.
Moderately used: [6/70] in anaddb tests, [3/10] in tuto anaddb tests. Test list: {tutorespfn:[elast_3,ffield_3,nlo_5],v4:[68,70,83]}.
Variable type: integer
Default is 0
Internal strain tensor flag.
- 0 => No internal-strain calculation.
- 1 => Print out both force-response and displacement-response
internal-strain tensor.
Requirements for preceding response-function DDB generation
run: Strain and full atomic-displacement responses.
Set rfstrs = 1, 2, or 3 (preferably 3).
Set rfatpol and
rfdir to do a full calculation of
phonons at Q=0.
Go to the top
| Complete list of input variables
istrfix
Mnemonics: Index of STRain FIXed
Executable: anaddb
Mentioned in topic: ConstrainedPol.
Moderately used: [1/70] in anaddb tests, [0/10] in tuto anaddb tests. Test list: {v4:[71]}.
Variable type: integer(nstrfix)
Default is 0
Indices of the elements of the strain tensor that are fixed during a structural relaxation at constrained polarisation:
- 0 => No elastic or compliance tensor will be calculated.
- 1 => Only clamped-ion elastic and compliance tensors will be
calculated. Requirements for preceding response-function DDB generation
run: Strain perturbation. Set rfstrs to 1, 2, or 3.
Note that rfstrs>=3
is recommended so that responses to both uniaxial and shear strains
will be computed.
- 2 => Both relaxed- and clamped-ion elastic and compliance
tensor will be calculated, but only the relaxed-ion quantities will be
printed. The input variable instrflag
should also be set to 1, because the internal-strain tensor is needed
to compute the relaxed-ion corrections. Requirements for preceding
response-function DDB generation run: Strain and atomic-displacement
responses at Q=0. Set rfstrs = 1, 2, or 3 (preferably 3). Set
rfatpol and rfdir to do a full
calculation of phonons at Q=0 (needed because the inverse of
force-constant tensor is required).
- 3 => Both relaxed and clamped-ion elastic and compliance
tensors will be printed out. The input variable instrflag should also be set to
1. Requirements for preceding response-function DDB generation run:
Same as for elaflag=2'.
- 4 => Calculate the elastic and compliance tensors (relaxed
ion) at fixed displacement field, the relaxed-ion tensors at fixed
electric field will be printed out too, for comparison. When elaflag=4,
we need the information of internal strain and relaxed-ion dielectric
tensor to build the whole tensor, so we need set instrflag=1 and dieflag=3 or 4 .
- 5 => Calculate the relaxed ion elastic and compliance tensors,
considering the stress left inside cell. At the same time, bare relaxed
ion tensors will still be printed out for comparison. In this
calculation, stress tensor is needed to compute the correction term, so
one supposed to merge the first order derivative data base (DDB file)
with the second order derivative data base (DDB file) into a new DDB
file, which can contain both information. And the program will also
check for the users.
See polflag.
Go to the top
| Complete list of input variables
kptrlatt
Mnemonics: K PoinT Reciprocal LATTice
Executable: anaddb
Mentioned in topics: ElPhonTransport, PhononWidth.
Moderately used: [10/70] in anaddb tests, [2/10] in tuto anaddb tests. Tuto test list: {tutorespfn:[eph_5,eph_6]}.
Variable type: integer(3,3)
Default is 9*0
Unnormalized lattice vectors for the k-point grid in reciprocal space
(see kptrlatt abinit variable definitionas well).
Input needed in electron-phonon calculations
using nesting functions or tetrahedron integration.
Go to the top
| Complete list of input variables
kptrlatt_fine
Mnemonics: K PoinT Reciprocal LATTice for FINE grid
Executable: anaddb
Mentioned in topic: ElPhonTransport.
Moderately used: [1/70] in anaddb tests, [0/10] in tuto anaddb tests. Test list: {v6:[77]}.
Variable type: integer(3,3)
Default is 9*0
As kptrlatt above, but for a finer grid of k-points. Under development. Does not work yet, as of June 2010.
Go to the top
| Complete list of input variables
mustar
Mnemonics: MU STAR
Executable: anaddb
Mentioned in topic: ElPhonTransport.
Moderately used: [20/70] in anaddb tests, [3/10] in tuto anaddb tests. Tuto test list: {tutorespfn:[eph_4,eph_5,eph_6]}.
Variable type: real
Default is 0.1
Average electron-electron interaction strength, for the computation of the superconducting Tc using Mc-Millan's formula.
Go to the top
| Complete list of input variables
natfix
Mnemonics: Number of AToms FIXed
Executable: anaddb
Mentioned in topic: ConstrainedPol.
Rarely used: [0/70] in anaddb tests, [0/10] in tuto anaddb tests.
Variable type: integer
Default is 0
Number of atoms that are fixed during a structural optimisation at constrained polarization.
See polflag.
Go to the top
| Complete list of input variables
natifc
Mnemonics: Number of AToms for IFC analysis
Executable: anaddb
Mentioned in topic: PhononBands.
Very frequently used: [36/70] in anaddb tests, [4/10] in tuto anaddb tests. Tuto test list: {tutorespfn:[eph_4,eph_5,eph_6,rf2_4]}.
Variable type: integer
Default is 0
Give the number of atoms for which IFCs are written and eventually analysed. The list of these atoms is provided
by atifc.
Go to the top
| Complete list of input variables
natprj_bs
Mnemonics: Number of AToms for PRoJection of the Band Structure
Executable: anaddb
Mentioned in topic: PhononBands.
Moderately used: [7/70] in anaddb tests, [0/10] in tuto anaddb tests. Test list: {v6:[76,93,94,95,96],v7:[93,94]}.
Variable type: integer
Default is 0
Give the number of atoms for which atomic-projected phonon
band structures will be output. The list of these atoms is provided
by iatprj_bs@anaddb.
Go to the top
| Complete list of input variables
nchan
Mnemonics: Number of CHANnels
Executable: anaddb
Mentioned in topic: PhononBands.
Moderately used: [7/70] in anaddb tests, [1/10] in tuto anaddb tests. Test list: {tutorespfn:[rf2_7],v2:[15,16],v4:[54,71],v5:[22],v8:[49]}.
Variable type: integer
Default is 800
The number of channels of width 1 cm-1 used in calculating the phonon density of states through the histogram method,
or, equivalently, the largest frequency sampled. The first channel begins at 0.
Go to the top
| Complete list of input variables
ndivsm
Mnemonics: Number of DIVisions for the SMallest segment
Executable: anaddb
Mentioned in topics: PhononBands, PhononWidth.
Moderately used: [2/70] in anaddb tests, [0/10] in tuto anaddb tests. Test list: {v8:[45,46]}.
Variable type: integer
Default is 20
This variable defines the number of divisions used to sample the smallest segment of the q-path used
for the phonon band structure. If ndivsm is specified in the input file, the code will automatically generate the points along the path using the coordinates given in the array qpath.
Go to the top
| Complete list of input variables
nfreq
Mnemonics: Number of FREQuencies
Executable: anaddb
Mentioned in topic: Phonons.
Moderately used: [3/70] in anaddb tests, [0/10] in tuto anaddb tests. Test list: {v4:[54,71],v8:[49]}.
Variable type: integer
Default is 1
Number of frequencies wanted for the frequency-dependent dielectric tensor. Should be positive.
See dieflag.
The code will take nfreq equidistant values from frmin to frmax.
Go to the top
| Complete list of input variables
ng2qpt
Mnemonics: Number of Grids points for Q PoinTs (grid 2)
Executable: anaddb
Mentioned in topic: PhononBands.
Moderately used: [16/70] in anaddb tests, [1/10] in tuto anaddb tests. Tuto test list: {tutorespfn:[rf2_7]}.
Variable type: integer(3)
Default is 3*0 (Comment: (will not work))
The Monkhorst-Pack grid linear dimensions, for the finer of the
series of fine grids. Used for the integration
of thermodynamical functions (Bose-Einstein distribution)
or for the DOS.
Go to the top
| Complete list of input variables
ngqpt
Mnemonics: Number of Grids points for Q PoinTs
Executable: anaddb
Mentioned in topics: Phonons, PhononBands.
Very frequently used: [57/70] in anaddb tests, [7/10] in tuto anaddb tests. Tuto test list: {tutorespfn:[depes_2,eph_4,eph_5,eph_6,rf2_4,rf2_5,rf2_7]}.
Variable type: integer(3)
Default is 3*0 (Comment: (will not work))
The Monkhorst-Pack grid linear dimensions, for the DDB (coarse grid).
Go to the top
| Complete list of input variables
ngrids
Mnemonics: Number of GRIDS
Executable: anaddb
Mentioned in topic: PhononBands.
Moderately used: [7/70] in anaddb tests, [1/10] in tuto anaddb tests. Test list: {tutorespfn:[rf2_7],v2:[15,16],v4:[54,71],v5:[22],v8:[49]}.
Variable type: integer
Default is 4
This number define the series of grids that will be used
for the estimation of the phonon DOS. The coarsest will be
tried first, then the next, ... then the one described by
ng2qpt.
The intermediate grids are defined
for igrid=1... ngrids,
by the numbers ngqpt_igrid(ii)=(ng2qpt(ii)*igrid)/ngrids
Go to the top
| Complete list of input variables
nlflag
Mnemonics: Non-Linear FLAG
Executable: anaddb
Mentioned in topic: nonlinear.
Moderately used: [5/70] in anaddb tests, [1/10] in tuto anaddb tests. Test list: {tutorespfn:[nlo_5],v4:[54],v8:[49,50,64]}.
Variable type: integer
Default is 0
Non-linear properties flag.
- 0 => do not compute non-linear properties ;
- 1 => the electrooptic tensor, Raman susceptibilities and non-linear optical
susceptibilities are calculated;
- 2 => only the non-linear optical susceptibilities and first-order
changes of the dielectric tensor induced by an atomic displacement are calculated;
- 3 => only the non-linear optical susceptibility is calculated.
Go to the top
| Complete list of input variables
nph1l
Mnemonics: Number of PHonons in List 1
Executable: anaddb
Mentioned in topic: PhononBands.
Very frequently used: [60/70] in anaddb tests, [6/10] in tuto anaddb tests. Tuto test list: {tutorespfn:[depes_2,eph_4,eph_5,eph_6,nlo_5,rf2_5]}.
Variable type: integer
Default is 0
The number of wavevectors in phonon list 1, used for interpolation of the phonon frequencies. The
values of these wavevectors will be specified by qph1l.
The dynamical matrix for these wavevectors, obtained
either directly from the DDB - if
ifcflag=0 - or through
the interatomic forces interpolation - if
ifcflag=1 -),
will be diagonalized, and the corresponding eigenfrequencies
will be printed.
Go to the top
| Complete list of input variables
nph2l
Mnemonics: Number of PHonons in List 2
Executable: anaddb
Mentioned in topic: PhononBands.
Moderately used: [20/70] in anaddb tests, [2/10] in tuto anaddb tests. Tuto test list: {tutorespfn:[nlo_5,rf2_5]}.
Variable type: integer
Default is 0
The number of wavevectors in phonon list 2, defining the directions
along which the non-analytical splitting of phonon frequencies
at Gamma will be calculated. The actual
values of the wavevector directions will be specified
by qph2l.
These are actually all wavectors at Gamma, but obtained
by a limit along a different direction in the Brillouin-zone.
It is important to note that non-analyticities in the
dynamical matrices are present at Gamma, due to the
long-range Coulomb forces. So, going to Gamma along different
directions can give different results.
The wavevectors in list 2 will be used to:
- generate and diagonalize a dynamical matrix, and print the
corresponding eigenvalues.
- calculate the generalized Lyddane-Sachs-Teller relation.
Note that if the three first numbers are zero, then
the code will do a calculation at Gamma without
non-analyticities.
Go to the top
| Complete list of input variables
nqpath
Mnemonics: Number of Q wavevectors defining a PATH
Executable: anaddb
Mentioned in topics: PhononBands, PhononWidth.
Moderately used: [22/70] in anaddb tests, [3/10] in tuto anaddb tests. Tuto test list: {tutorespfn:[eph_4,eph_5,eph_6]}.
Variable type: integer
Default is 0
Number of q-points in the array qpath
defining the path along which the phonon band structure and phonon linewidths
are interpolated.
Go to the top
| Complete list of input variables
nqshft
Mnemonics: Number of Q SHiFTs
Executable: anaddb
Mentioned in topic: PhononBands.
Very frequently used: [55/70] in anaddb tests, [7/10] in tuto anaddb tests. Tuto test list: {tutorespfn:[depes_2,eph_4,eph_5,eph_6,rf2_4,rf2_5,rf2_7]}.
Variable type: integer
Default is 1
The number of vector shifts of the simple Monkhorst and
Pack grid, needed to generate the coarse grid of q points
(for the series of fine grids, the number of shifts it is always taken to be 1).
Usually, put it to 1.
Use 2 if BCC sampling (Warning: not BCC lattice, BCC *sampling*),
and 4 for FCC sampling (Warning: not FCC lattice, FCC *sampling*).
Go to the top
| Complete list of input variables
nsphere
Mnemonics: Number of atoms in SPHERe
Executable: anaddb
Mentioned in topic: PhononBands.
Moderately used: [5/70] in anaddb tests, [0/10] in tuto anaddb tests. Test list: {v2:[17],v4:[54,71],v8:[46,49]}.
Variable type: integer
Default is 0
Number of atoms included in the cut-off sphere for
interatomic force constant, see also the alternative rifcsph.
If nsphere= 0: maximum extent allowed by the grid.
If nsphere= -1: the code analyzes different values of nsphere and
find the value that does not lead to unstable frequencies in a small sphere around Gamma.
The truncated IFCs are then used for further post-processing.
The results of the test are reported in the main output file.
This option is useful to obtain a initial guess of nsphere: the value that
leads to stable frequencies and gives linear dispersion for the acoustic modes around Gamma
is usually smaller that the one reported by nsphere -1.
This number defines the atoms for which the
short range part of the interatomic force constants, after
imposition of the acoustic sum rule, will not be put to zero.
This option is available for testing purposes
(evaluate the range of the interatomic force constants), because
the acoustic sum rule will be violated if some atoms are no more
included in the inverse Fourier Transform.
Go to the top
| Complete list of input variables
nstrfix
Mnemonics: Number of STRain components FIXed
Executable: anaddb
Mentioned in topic: ConstrainedPol.
Moderately used: [1/70] in anaddb tests, [0/10] in tuto anaddb tests. Test list: {v4:[71]}.
Variable type: integer
Default is 0
Number of strain component that are fixed during a
structural optimisation at constrained polarization.
See polflag.
Go to the top
| Complete list of input variables
ntemper
Mnemonics: Number of TEMPERatures
Executable: anaddb
Mentioned in topic: Temperature.
Moderately used: [3/70] in anaddb tests, [3/10] in tuto anaddb tests. Test list: {tutorespfn:[depes_2,eph_6,rf2_7]}.
Variable type: integer
Default is 10
Number of temperatures at which the thermodynamical
quantities have to be evaluated. Now also used for the output of transport
quantities in electron-phonon calculations. The full grid is specified
with the tempermin and
temperinc variables.
The default temperature grid goes from 100K to 1000K by step of 100K. For the largest temperatures, for most solids, anharmonic effects not accounted in the harmonic approximation implemented in anaddb will be important. For weakly bounded systems (e.g. Van der Waals solids), such anharmonic effects might be important already at room temperature.
Go to the top
| Complete list of input variables
nwchan
Mnemonics: Number of Widths of CHANnels
Executable: anaddb
Mentioned in topic: PhononBands.
Moderately used: [7/70] in anaddb tests, [1/10] in tuto anaddb tests. Test list: {tutorespfn:[rf2_7],v2:[15,16],v4:[54,71],v5:[22],v8:[49]}.
Variable type: integer
Default is 10
Integer. The width of the largest channel
used to sample the frequencies.
The code will generate different sets of channels,
with decreasing widths (by step of 1 cm-1), from
this channel width to 1, eventually. It considers to
have converged when the convergence criterion based on dostol and thmtol have been fulfilled.
Go to the top
| Complete list of input variables
outboltztrap
Mnemonics: OUTput files for BOLTZTRAP code
Executable: anaddb
Mentioned in topic: PhononBands.
Moderately used: [1/70] in anaddb tests, [0/10] in tuto anaddb tests. Test list: {v6:[76]}.
Variable type: integer
Default is 0
If set to 1, the phonon frequencies on the ngqpt grid are output in a format legible by the BoltzTrap code,
which does band interpolation and gets group velocities. The output file will be appended _BTRAP
Go to the top
| Complete list of input variables
outscphon
Mnemonics: OUTput files for Self Consistent PHONons
Executable: anaddb
Mentioned in topic: PhononBands.
Rarely used: [0/70] in anaddb tests, [0/10] in tuto anaddb tests.
Variable type: integer
Default is 0
If set to 1, the phonon frequency and eigenvector files needed for a Self Consistent
phonon run (as in Souvatzis PRL 100 095901) will be output to files appended _PHFRQ and _PHVEC.
The third file needed is appended _PCINFO for Primitive Cell INFOrmation.
Go to the top
| Complete list of input variables
piezoflag
Mnemonics: PIEZOelectric tensor FLAG
Executable: anaddb
Mentioned in topic: Elastic.
Moderately used: [5/70] in anaddb tests, [3/10] in tuto anaddb tests. Test list: {tutorespfn:[elast_3,ffield_3,nlo_5],v4:[68,70]}.
Variable type: integer
Default is 0
Flag for calculation of piezoelectric tensors
- 0 => No piezoelectric tensor will be calculated.
- 1 => Only the clamped-ion piezoelectric tensor is computed and
printed. Requirements for preceding response-function DDB generation
run: Strain and electric-field responses. For the electric-field part,
one needs results from a prior 'ddk perturbation' run. Note that even
if only a limited number of piezoelectric tensor terms are wanted (as
determined by rfstrs and rfdir in this calculation) it is necessary to
set rfdir = 1 1 1 in the d/dk calculation for most structures. The only
obvious exception to this requirement is cases in which the primitive
lattice vectors are all aligned with the cartesian axes. The code will
omit terms in the output piezoelectric tensor for which the available
d/dk set is incomplete. Thus: Set rfstrs to 1, 2, or 3i
(preferably 3)
- 2 => Both relaxed- and clamped-ion elastic and compliance
tensor will be calculated, but only the relaxed-ion quantities will be
printed. The input variable instrflag
should also be set to 1, because the internal-strain tensor is needed
to compute the relaxed-ion corrections. Requirements for preceding
response-function DDB generation run: Strain, electric-field and full
atomic-displacement responses at Q=0. Set rfstrs = 1, 2, or 3
(preferably 3). Set rfelfd = 3. Set rfatpol and <rfdir to do a
full calculation of phonons at Q=0 (needed because the inverse of
force-constant tensor is required).
- 3 => Both relaxed and clamped-ion piezoelectric tensors will
be printed out. The input variable instrflag
should also be set to 1. Requirements for preceding response-function
DDB generation run: Same as for piezoflag=2.
- 4 => Calculate the piezoelectric d tensor (relaxed ion). In
order to calculate the piezoelectric d tensor, we need information of
internal strain and elastic tensor (relaxed ion). So we should set elaflag= 2,3,4, or 5 and instrflag=1. The subroutine will
also do a check for you, and print warning message without stopping
even if flags were not correctly set.
- 5 => Calculate the piezoelectric g tensor (relaxed ion). In
this computation, we need information of internal strain, elastic
tensor (relaxed ion) and dielectric tensor (relaxed ion). So we should
set: instrflag=1, elaflag=2,3,4 or 5, dieflag=3 or 4. The subroutine
will also do a check for you, and print warning message without
stopping even if flags were not correctly set.
- 6 => Calculate the piezoelectric h tensor (relaxed ion). In
this calculation, we need information of internal strain and dielectric
tensor (relaxed ion). So we need set: instrflag=1 and dieflag=3 or 4. The subroutine
will also do a check for you, and print warning message without
stopping even if flags were not correctly set.
- 7 => calculate all the possible piezoelectric tensors,
including e (clamped and relaxed ion), d, g and h tensors. The flags
should be set to satisfy the above rules from 1 to 6.
Go to the top
| Complete list of input variables
polflag
Mnemonics: POLarization FLAG
Executable: anaddb
Mentioned in topic: ConstrainedPol.
Moderately used: [3/70] in anaddb tests, [0/10] in tuto anaddb tests. Test list: {v4:[71,74,77]}.
Variable type: integer
Default is 0
If activated, compute polarization in cartesian coordinates,
and update lattice constants and atomic positions in order to perform a structural
optimization at constrained polarization.
More detailed explanation: ANADDB can use the formalism described in
Na Sai et al, PRB 66, 104108 (2002), to perform structural relaxations
under the constraint that the polarization is equal to a value specified by the
input variable targetpol.
The user starts from a given configuration of a crystal and performs
a ground-state calculation of the Hellman-Feynman forces and stresses
and the Berry phase polarization as
well as a linear response calculation of the whole matrix of
second-order energy derivatives with respect to atomic displacement,
strains and electric field.
In case polflag=1, ANADDB solves the linear system of equations
(13)
of the Na Sai paper, and computes new atomic positions (if relaxat=1) and
lattice constant (if relaxstr=1).
Then, the user uses these parameters to perform a new ground-state
and linear-response calculation. This must be repeated until convergence is
reached. The user can also fix some atomic positions, or strains, thanks to the input variables
natfix, nstrfix,iatfix,istrfix.
In case both relaxat
and relaxstr are 0, while
polflag=1, ANADDB only computes the polarization in cartesian coordinates.
berryopt=2 or -2)
in the linear response calculation of the effective charges and the piezoelectric tensor.
Go to the top
| Complete list of input variables
prt_ifc
Mnemonics: PRinT the Interatomic Force Constants
Executable: anaddb
Mentioned in topic: PhononBands.
Moderately used: [1/70] in anaddb tests, [0/10] in tuto anaddb tests. Test list: {v2:[15]}.
Variable type: integer
Default is 0
Flag to print out the Interatomic Force Constants in real space to a file. The available
options are:
- 0 => do nothing (IFC are printed to the log file);
- 1 => write out the IFC in file ifcinfo.out (the name is fixed) to be used by AI2PS from John Rehr's group
Go to the top
| Complete list of input variables
prtbltztrp
Mnemonics: PRinT input files for BoLTZTRaP code.
Executable: anaddb
Mentioned in topic: PhononBands.
Rarely used: [0/70] in anaddb tests, [0/10] in tuto anaddb tests.
Variable type: integer
Default is 0
- 0 => do not write the BoltzTraP input files;
- 1 => write out the input files for BoLTZTRaP code.
Go to the top
| Complete list of input variables
prtddb
Mnemonics: PRinT the Derivative DataBase files
Executable: anaddb
Mentioned in topic: PhononBands.
Moderately used: [1/70] in anaddb tests, [0/10] in tuto anaddb tests. Test list: {v8:[64]}.
Variable type: integer
Default is 0
Flag to print out the DDB file interpolated
with the Interatomic Force Constants.
The available options are:
- 0 => no output of DDB (default);
- 1 => Interpolate the DDB and write out the DDB and DDB.nc files.
Go to the top
| Complete list of input variables
prtdos
Mnemonics: PRinT the phonon Density Of States
Executable: anaddb
Mentioned in topic: PhononBands.
Moderately used: [7/70] in anaddb tests, [0/10] in tuto anaddb tests. Test list: {v5:[88,90,91,92,93,94,95]}.
Variable type: integer
Default is 0
The prtdos variable is used to calculate
the phonon density of states, PHDOS, by Fourier interpolating the interatomic force
constants on the (dense) q-mesh defined by ng2qpt.
Note that the variable ifcflag must be set to 1
since the interatomic force constants are supposed to be known.
The available options are:
- 0 => no output of PHDOS (default);
- 1 => calculate PHDOS using the gaussian method and the broadening defined
by dossmear.
The step of the frequency grid employed to calculate the DOS
can be defined through the input variable dosdeltae.
Go to the top
| Complete list of input variables
prtfsurf
Mnemonics: PRinT the Fermi SURFace
Executable: anaddb
Mentioned in topic: ElPhonTransport.
Rarely used: [0/70] in anaddb tests, [0/10] in tuto anaddb tests.
Variable type: integer
Default is 0
Only for electron-phonon calculations. The available options are:
- 0 => do not write the Fermi Surface;
- 1 => write out the Fermi Surface in the BXSF format used by
XCrySDen.
Further comments:
a) Only the eigenvalues for k-points inside the
Irreducible Brillouin zone are required. As a consequence it is
possible to use kptopt
=1 during the GS calculation to reduce
the computational effort.
b) Only unshifted k-grids that are orthogonal in
reduced space are supported by XCrySDen.
This implies that shiftk
must be set to (0,0,0) during the GS calculation
with nshiftk=1. Furthermore if kptrlatt
is used to generate the k-grid, all the off-diagonal elements of this
array must be zero.
Go to the top
| Complete list of input variables
prtmbm
Mnemonics: PRinT Mode-By-Mode decomposition of the electrooptic tensor
Executable: anaddb
Mentioned in topic: nonlinear.
Moderately used: [3/70] in anaddb tests, [1/10] in tuto anaddb tests. Test list: {tutorespfn:[nlo_5],v4:[54],v8:[49]}.
Variable type: integer
Default is 0
- 0 => do not write the mode-by-mode decomposition of the
electrooptic tensor;
- 1 => write out the contribution of the individual zone-center
phonon modes to the electrooptic tensor.
Go to the top
| Complete list of input variables
prtnest
Mnemonics: PRinT the NESTing function
Executable: anaddb
Mentioned in topic: PhononWidth.
Moderately used: [3/70] in anaddb tests, [2/10] in tuto anaddb tests. Test list: {tutorespfn:[eph_5,eph_6],v6:[76]}.
Variable type: integer
Default is 0
Only for electron-phonon calculations.
This input variable is used to calculate the nesting function defined as:
\chi_{nm}(q) = \sum_k \delta(\epsilon_{k,n}-epsilon_F) \delta(\epsilon_{k+q,m}-\epsilon_F).
The nesting factor is calculated for every point of the k-grid
employed during the previous GS calculation.
The values are subsequently interpolated along the trajectory in q space
defined by qpath, and written in the _NEST
file using the X-Y format (prtnest=1).
It is also possible to analyze the behavior of the function
in the reciprocal unit cell saving the values in the NEST_XSF file that can be read
using XCrySDen (prtnest=2).
Note that in the present implementation what is really printed to file is
the "total nesting" defined as \sum_{nm} \chi_{nm}(q).
Limitations: the k-grid defined by
kptrlatt
must be orthogonal in reciprocal space,
moreover off-diagonal elements are not allowed, i.e
kptrlatt 4 0 0 0 4 0 0 0 4 is fine while
kprtlatt = 1 0 0 0 1 1 0 -1 1 will not work.
- 0 => do not write the nesting function;
- 1 => write only the nesting function along the q-path in the X-Y format;
- 2 => write out the nesting function both in the X-Y and in the XSF format.
Go to the top
| Complete list of input variables
prtphbands
Mnemonics: PRinT PHonon BANDS
Executable: anaddb
Mentioned in topic: PhononBands.
Moderately used: [1/70] in anaddb tests, [0/10] in tuto anaddb tests. Test list: {v8:[46]}.
Variable type: integer
Default is 1
Only if ifcflag=1.
This option specifies the file format for the phonon band structure.
Possible values:
- 1 Write frequencies in xmgrace format. A file with extension `PHBANDS.agr` is produced.
Use `xmgrace file_PHBANDS.agr` to visualize the data
- 2 Write frequencies in gnuplot format.
The code produces a `PHBANDS.dat` file with the eigenvalues and a `PHBANDS.gnuplot` script.
Use `gnuplot file_PHBANDS.gnuplot` to visualize the phonon band structure.
Go to the top
| Complete list of input variables
prtsrlr
Mnemonics: PRinT the Short-Range/Long-Range decomposition of phonon FREQuencies
Executable: anaddb
Mentioned in topic: PhononBands.
Moderately used: [1/70] in anaddb tests, [0/10] in tuto anaddb tests. Test list: {v6:[85]}.
Variable type: integer
Default is 0
Only if ifcflag=1.
The available options are:
- 0 => do not write the SR/LR decomposition of phonon frequencies;
- 1 => write out the SR/LR decomposition of the square of phonon frequencies at each q-point specified
in qph1l.
For details see Europhys. Lett., 33 (9), pp. 713-718 (1996).
See also ifcflag, ifcflag and dipdip.
Go to the top
| Complete list of input variables
prtvol
Mnemonics: PRinT VOLume
Executable: anaddb
Mentioned in topics: Phonons, PhononBands, Temperature, PhononWidth, ElPhonTransport.
Moderately used: [1/70] in anaddb tests, [0/10] in tuto anaddb tests. Test list: {v8:[45]}.
Variable type: integer
Default is 0
Control the volume of printed output.
Go to the top
| Complete list of input variables
q1shft
Mnemonics: Q shifts for the grid number 1
Executable: anaddb
Mentioned in topics: Phonons, PhononBands.
Very frequently used: [55/70] in anaddb tests, [7/10] in tuto anaddb tests. Tuto test list: {tutorespfn:[depes_2,eph_4,eph_5,eph_6,rf2_4,rf2_5,rf2_7]}.
Variable type: real(nqshft)
Default is 0
This vector gives the shifts needed to define the coarse q-point grid.
a) Case nqshft=1
In general, 0.5 0.5 0.5 with the ngqpt's even will give
very economical grids. On the other hand, is it
sometimes better for phonons to have the Gamma point
in the grid. In that case, 0.0 0.0 0.0 should be OK.
For the hexagonal lattice, the above mentioned
quantities become 0.0 0.0 0.5 and 0.0 0.0 0.0 .
b) Case nqshft=2
The two q1shft vectors must form a BCC lattice.
For example, use 0.0 0.0 0.0 and 0.5 0.5 0.5
c) Case nqshft=4
The four q1shft vectors must form a FCC lattice.
For example, use 0.0 0.0 0.0 , 0.0 0.5 0.5 ,
0.5 0.0 0.5 , 0.5 0.5 0.0
or 0.5 0.5 0.5 , 0.0 0.0 0.5 ,
0.0 0.5 0.0 , 0.5 0.0 0.0 (the latter is referred to
as shifted)
Further comments: by using this technique, it is possible
to increase smoothly the number of q-points, at least
less abruptly than relying on series of grids like
(for the full cubic symmetry):
1x1x1 => (0 0 0)
2x2x2 (shifted) => (.25 .25 .25)
2x2x2 => 1x1x1 + (.5 0 0) (.5 .5 0) (.5 .5 0)
4x4x4 => 2x2x2 + (.25 0 0) (.25 .25 0) (.25 .5 0)
(.25 .25 .25) (.25 .25 .5) (.25 .5 .5)
...
with respectively 1, 1, 4 and 10 q-points, corresponding
to a number of points in the full BZ of 1, 8, 8 and 64.
Indeed, the following grids are made available:
1x1x1 with nqshft=2 => (0 0 0) (.5 .5 .5)
1x1x1 with nqshft=4 => (0 0 0) (.5 .5 0)
1x1x1 with nqshft=4 (shifted) => (.5 0 0) (.5 .5 .5)
2x2x2 with nqshft=2 => 2x2x2 + (.25 .25 .25)
2x2x2 with nqshft=4 => 2x2x2 + (.25 .25 0) (.25 .25 .5)
2x2x2 with nqshft=4 (shifted) => (.25 0 0) (.25 .25 .25)
(.5 .5 .25) (.25 .5 0)
...
with respectively 2, 2, 2, 5, 6 and 4 q-points, corresponding
to a number of points in the full BZ of 2, 4, 4, 16, 32 and 32.
For a FCC lattice, it is possible to sample only the Gamma point
by using a 1x1x1 BCC sampling (nqshft=2).
Go to the top
| Complete list of input variables
q2shft
Mnemonics: Q points SHiFTs for the grids 2
Executable: anaddb
Mentioned in topic: PhononBands.
Moderately used: [4/70] in anaddb tests, [1/10] in tuto anaddb tests. Test list: {tutorespfn:[rf2_7],v2:[15,16],v5:[22]}.
Variable type: real(3)
Default is 3* 0
Similar to q1shft,
but for the series of fine grids.
Note that nqshft
for this series of grids corresponds to 1.
Go to the top
| Complete list of input variables
qgrid_type
Mnemonics: Q GRID TYPE
Executable: anaddb
Mentioned in topic: PhononWidth.
Moderately used: [1/70] in anaddb tests, [0/10] in tuto anaddb tests. Test list: {v5:[94]}.
Variable type: integer
Default is 0
If qgrid_type is set to 1, the electron-phonon part of anaddb will use
the ep_nqpt and ep_qptlist variables to determine
which q-points to calculate the electron-phonon coupling for. This is an alternative
to a regular grid as in the rest of anaddb (using ngqpt).
Go to the top
| Complete list of input variables
qpath
Mnemonics: Q wavevectors defining a PATH
Executable: anaddb
Mentioned in topics: PhononBands, PhononWidth.
Moderately used: [22/70] in anaddb tests, [3/10] in tuto anaddb tests. Tuto test list: {tutorespfn:[eph_4,eph_5,eph_6]}.
Variable type: real(3,nqpath)
Default is 0.0
It is used to generate the path along which the phonon band structure and
phonon linewidths are interpolated.
There are nqpath-1 segments to be
defined, each of which starts from the end point of the previous one.
The number of divisions in each segment is automatically calculated
inside the code to respect the proportion between the segments.
The same circuit is used for the output of the nesting function if
prtnest=1.
Go to the top
| Complete list of input variables
qph1l
Mnemonics: Q for PHonon List 1
Executable: anaddb
Mentioned in topic: PhononBands.
Very frequently used: [59/70] in anaddb tests, [6/10] in tuto anaddb tests. Tuto test list: {tutorespfn:[depes_2,eph_4,eph_5,eph_6,nlo_5,rf2_5]}.
Variable type: real(4,nph1l)
Default is 0
List of nph1l
wavevectors, at which the phonon frequencies will be interpolated.
Defined by 4 numbers:
the wavevector is made by the three first numbers
divided by the fourth one (a normalisation factor).
The coordinates are defined with respect to the unit vectors
that spans the Brillouin zone. Note that this set of axes
can be non-orthogonal and not normed.
The normalisation factor makes easier the input of wavevector
such as (1/3,1/3,1/3), represented by 1.0 1.0 1.0 3.0 .
The internal representation of this array is as follows:
for each wavevector, the three first numbers are stored
in the array qph1l(3,nph1l), while the fourth is stored
in the array qnrml1(nph1l).
Go to the top
| Complete list of input variables
qph2l
Mnemonics: PHonon List 2
Executable: anaddb
Mentioned in topic: PhononBands.
Moderately used: [20/70] in anaddb tests, [2/10] in tuto anaddb tests. Tuto test list: {tutorespfn:[nlo_5,rf2_5]}.
Variable type: real(4,nph2l)
Default is 0
List of phonon wavevector directions along which the
non-analytical correction to the Gamma-point phonon frequencies
will be calculated (for insulators).
Four numbers, as for qph1l,
but where the last one, that correspond to the normalisation factor, is 0.0
For the anaddb code, this has the meaning that the three previous
values define a direction. The direction is in CARTESIAN
COORDINATES, unlike the non-Gamma wavevectors defined in the first list of vectors...
Note that if the three first numbers are zero, then
the code will do a calculation at Gamma without non-analyticities.
Also note that the code automatically set the imaginary
part of the dynamical matrix to zero. This is useful to compute
the phonon frequencies when half of the k-points has been
used, by the virtue of the time-reversal symmetry (which
may induce parasitic imaginary parts...).
The internal representation of this array is as follows:
for each wavevector, the three first numbers are stored
in the array qph2l(3,nph2l), while the fourth is stored
in the array qnrml2(nph2l).
Go to the top
| Complete list of input variables
qrefine
Mnemonics: Q-point REFINEment order (experimental)
Executable: anaddb
Mentioned in topic: PhononBands.
Moderately used: [1/70] in anaddb tests, [0/10] in tuto anaddb tests. Test list: {v6:[81]}.
Variable type: integer(3)
Default is 0
If qrefine is superior to 1, attempts to initialize a first set of dynamical matrices
from the DDB file, with a q-point grid which is ngqpt
divided by qrefine (e.g. ngqpt 4 4 2 qrefine 2 2 1 starts with a 2x2x2 grid).
The dynamical matrices are interpolated onto the full ngqpt
grid and any additional information found in the DDB file is imposed, before proceeding
to normal band structure and other interpolations. Should implement Gaal-Nagy's algorithm in
PRB 73 014117.
Go to the top
| Complete list of input variables
ramansr
Mnemonics: RAMAN Sum-Rule
Executable: anaddb
Mentioned in topic: nonlinear.
Moderately used: [3/70] in anaddb tests, [1/10] in tuto anaddb tests. Test list: {tutorespfn:[nlo_5],v4:[54],v8:[49]}.
Variable type: integer
Default is 0
Govern the imposition of the sum-rule on the Raman tensors.
As in the case of the Born effective charges, the first-order derivatives
of the linear dielectric susceptibility with respect to an atomic displacement
must vanish when they are summed over all atoms. This sum rule is broken
in most calculations. By putting ramansr equal to 1 or 2, this sum
rule is imposed by giving each atom a part of the discrepancy.
- 0 => no sum rule is imposed;
- 1 => impose the sum rule on the Raman tensors, giving each
atom an equal part of the discrepancy;
- 2 => impose the sum rule on the Raman tensors, giving each
atom a part of the discrepancy proportional to the magnitude of its
contribution to the Raman tensor.
For the time being, ramansr=1 is the preferred choice.
Go to the top
| Complete list of input variables
relaxat
Mnemonics: RELAXation of AToms
Executable: anaddb
Mentioned in topic: ConstrainedPol.
Moderately used: [3/70] in anaddb tests, [0/10] in tuto anaddb tests. Test list: {v4:[71,74,77]}.
Variable type: integer
Default is 0
If relaxat=1, relax atomic positions during a
structural relaxation at constrained polarization.
See polflag.
Go to the top
| Complete list of input variables
relaxstr
Mnemonics: RELAXation of STRain
Executable: anaddb
Mentioned in topic: ConstrainedPol.
Moderately used: [3/70] in anaddb tests, [0/10] in tuto anaddb tests. Test list: {v4:[71,74,77]}.
Variable type: integer
Default is 0
If relaxat=1, relax lattice constants
(lengths/angles) during a structural relaxation
at constrained polarization. See polflag.
Go to the top
| Complete list of input variables
rfmeth
Mnemonics: Response-Function METHod
Executable: anaddb
Mentioned in topic: Phonons.
Moderately used: [8/70] in anaddb tests, [2/10] in tuto anaddb tests. Test list: {tutorespfn:[ffield_3,nlo_5],v4:[54,71,77],v8:[49,50,64]}.
Variable type: integer
Default is 1
Select a particular set of Data Blocks in the DDB.
(PRESENTLY, ONLY OPTION 1 IS AVAILABLE)
- 1 => Blocks obtained by a non-stationary formulation.
- 2 => Blocks obtained by a stationary formulation.
For more detailed explanations, see abinit help file
If the information in the DDB is available, always use
the option 2. If not, you can try option 1, which is less accurate.
Go to the top
| Complete list of input variables
rifcsph
Mnemonics: Radius of the Interatomic Force Constant SPHere
Executable: anaddb
Mentioned in topic: PhononBands.
Moderately used: [1/70] in anaddb tests, [0/10] in tuto anaddb tests. Test list: {v5:[95]}.
Variable type: real
Default is zero
Cut-off radius for the sphere for
interatomic force constant, see also the alternative nsphere.
If rifcsph= 0: maximum extent allowed by the grid .
This number defines the atoms for which the
short range part of the interatomic force constants, after
imposition of the acoustic sum rule, will not be put to zero.
Go to the top
| Complete list of input variables
selectz
Mnemonics: SeLECT Z
Executable: anaddb
Mentioned in topic: Phonons.
Moderately used: [7/70] in anaddb tests, [1/10] in tuto anaddb tests. Test list: {tutorespfn:[nlo_5],v4:[54,71,77],v8:[49,50,64]}.
Variable type: integer
Default is 0
Select some parts of the effective charge tensor.
(This is done after the application or non-application of the ASR for
effective charges). The transformed effective charges are then used for
all the subsequent calculations.
- 0 => The effective charge tensor is left as it is.
- 1 => For each atom, the effective charge tensor is made
isotropic, by calculating the trace of the matrix,
dividing it by 3, and using this number in a
diagonal effective charge tensor.
- 2 => For each atom, the effective charge tensor is made
symmetric, by simply averaging on symmetrical elements.
-
Note: this is for analysis the effect of anisotropy
in the effective charge. The result with non-zero selectz
are unphysical.
Go to the top
| Complete list of input variables
symdynmat
Mnemonics: SYMmetrize the DYNamical MATrix
Executable: anaddb
Mentioned in topics: Phonons, PhononBands.
Moderately used: [12/70] in anaddb tests, [0/10] in tuto anaddb tests. Tuto test list: {}.
Variable type: integer
Default is 1 (Comment: (was 0 before v5.3))
If symdynmat is equal to 1, the dynamical matrix
is symmetrized before the diagonalization.
This is especially useful when the set of primitive vectors of the unit cell
and their opposite do not reflect the symmetries of the Bravais lattice
(typical case: body-centered tetragonal lattices ; FCC and BCC lattices
might be treated with the proper setting of the
brav variable), and the interpolation
procedure based on interatomic force constant is used: there are some
slight symmetry breaking effects. The latter can be bypassed by this
additional symmetrization.
Go to the top
| Complete list of input variables
symgkq
Mnemonics: SYMmetrize the GKk matrix elements for each Q
Executable: anaddb
Mentioned in topic: ElPhonInt.
Moderately used: [1/70] in anaddb tests, [0/10] in tuto anaddb tests. Test list: {v5:[90]}.
Variable type: integer
Default is 1
If symgkq is equal to 1, the electron-phonon matrix elements are symmetrized
over the small group of the q-point they correspond to. This should always be used,
except for debugging or test purposes.
Go to the top
| Complete list of input variables
targetpol
Mnemonics: TARGET POLarization
Executable: anaddb
Mentioned in topic: ConstrainedPol.
Moderately used: [2/70] in anaddb tests, [0/10] in tuto anaddb tests. Test list: {v4:[71,77]}.
Variable type: real(3)
Default is 0.0
Target value of the polarization in cartesian
coordinates and in C/m^2.
See polflag.
Go to the top
| Complete list of input variables
telphint
Mnemonics: Technique for ELectron-PHonon INTegration
Executable: anaddb
Mentioned in topics: ElPhonTransport, PhononWidth.
Moderately used: [7/70] in anaddb tests, [3/10] in tuto anaddb tests. Test list: {tutorespfn:[depes_2,eph_5,eph_6],v5:[92],v6:[57,59,69]}.
Variable type: integer
Default is 1
Flag controlling the Fermi surface integration
technique used for electron-phonon quantities.
- 0 = tetrahedron method (no adjustable parameter)
- 1 = Gaussian smearing (see elphsmear)
- 2 = uniformly weighted band window between ep_b_min and ep_b_max, for all k-points
Go to the top
| Complete list of input variables
temperinc
Mnemonics: TEMPERature INCrease
Executable: anaddb
Mentioned in topic: Temperature.
Moderately used: [3/70] in anaddb tests, [3/10] in tuto anaddb tests. Test list: {tutorespfn:[depes_2,eph_6,rf2_7]}.
Variable type: real
Default is 100.0
Increment of the temperature in Kelvin, for thermodynamical and el-phon
transport properties. See the associated
tempermin and ntemper variables.
The default temperature grid goes from 100K to 1000K by step of 100K. For the largest temperatures, for most solids, anharmonic effects not accounted in the harmonic approximation implemented in anaddb will be important. For weakly bounded systems (e.g. Van der Waals solids), such anharmonic effects might be important already at room temperature.
Go to the top
| Complete list of input variables
tempermin
Mnemonics: TEMPERature MINimum
Executable: anaddb
Mentioned in topic: Temperature.
Moderately used: [3/70] in anaddb tests, [3/10] in tuto anaddb tests. Test list: {tutorespfn:[depes_2,eph_6,rf2_7]}.
Variable type: real
Default is 100.0
Lowest temperature (Kelvin) at which the thermodynamical quantities
have to be evaluated. Cannot be zero when thmflag is 1.
The highest temperature is defined using
temperinc and ntemper.
The default temperature grid goes from 100K to 1000K by step of 100K. For the largest temperatures, for most solids, anharmonic effects not accounted in the harmonic approximation implemented in anaddb will be important. For weakly bounded systems (e.g. Van der Waals solids),
such anharmonic effects might be important already at room temperature.
Go to the top
| Complete list of input variables
thermal_supercell
Mnemonics: THERMALized SUPERCELL lattice vectors
Executable: anaddb
Characteristic: DEVELOP
Mentioned in topic: Phonons.
Moderately used: [1/70] in anaddb tests, [0/10] in tuto anaddb tests. Test list: {v8:[46]}.
Variable type: integer(3,3)
Default is (/(/0,0,0/), (/0,0,0/), (/0,0,0/)/) (Comment: do not calculate any thermalized supercells)
Thermal_supercell defines the real space supercell in which a thermalized atomic configuration should be produced, following the prescription of Zacharias and Giustino (PRB 94 075125 (2016)). The displacements are chosen for each phonon mode according to a temperature, and the displacements are alternated in sign/direction to obtain maximal compensation of the linear electron phonon coupling. In this way in the PRB dielectric properties at finite T can be obtained from a single supercell calculation instead of lots of MD and configuration averaging.
The supercell vectors are not constrained to be collinear with the normal lattice vectors: this effect is obtained by using a diagonal Thermal_supercell. The lines of the matrix describe the linear combination of the primitive cell lattice vectors yielding the supercell vectors, as for kptrlatt.
For the moment this feature is under development and it looks like the relative phases of the displacements are not fixed properly yet... (Aug 2017)
Go to the top
| Complete list of input variables
thmflag
Mnemonics: THerMal FLAG
Executable: anaddb
Mentioned in topic: Temperature.
Moderately used: [18/70] in anaddb tests, [3/10] in tuto anaddb tests. Tuto test list: {tutorespfn:[depes_2,nlo_5,rf2_7]}.
Variable type: integer
Default is 0
Flag controlling the calculation of thermal quantities.
- When thmflag == 1, the code will compute, using the histogram method:
- the normalized phonon DOS
- the phonon internal energy, free energy,
entropy, constant volume heat capacity
as a function of the temperature
- the Debye-Waller factors (tensors) for
each atom, as a function of the temperature
- the mean-square velocity tensor for each atom, as a function of temperature
- the "average frequency"
as a function of the temperature
- When thmflag == 2, all the phonon frequencies for the
q points in the second grid are printed.
- When thmflag == 3, 5 or 7, the thermal corrections to the electronic eigenvalues are calculated.
If thmflag==3, the list of phonon wavevector from the first list is used (with equal weight for all wavevectors in this list),
while if thmflag==5 or 7, the first grid of wavevectors is used,
possibly folded to the irreducible Brillouin Zone if symmetry operations are present,
or if they are recomputed (this happens for thmflag==7).
- When thmflag == 4 or 6, the temperature broadening (electron lifetime) of the electronic eigenvalues is calculated.
If thmflag==4, the list of phonon wavevector from the first list is used (with equal weight for all wavevectors in this list),
while if thmflag==6, the first grid of wavevectors is used, possibly folded to the irreducible Brillouin Zone
if symmetry operations are present or if they are recomputed (this happens for thmflag==8).
WARNING: The use of symmetries for the temperature dependence of the eigenenergies is tricky ! It can only be valid
for the k points that respect the symmetries (i.e. the Gamma point), provided one also averages over the
degenerate states.
Input variables that may be needed if this flag is activated:
dostol, nchan, ntemper, temperinc, tempermin,
as well as the wavevector grid number 2 definition, ng2qpt, ngrids, q2shft.
Go to the top
| Complete list of input variables
thmtol
Mnemonics: THerModynamic TOLerance
Executable: anaddb
Mentioned in topic: Temperature.
Moderately used: [7/70] in anaddb tests, [1/10] in tuto anaddb tests. Test list: {tutorespfn:[rf2_7],v2:[15,16],v4:[54,71],v5:[22],v8:[49]}.
Variable type: real
Default is 0.05
The relative tolerance on the thermodynamical functions
This number will determine when the series of channel widths
with which the DOS is calculated can be stopped, i.e.
the mean of the relative change going from one grid
to the next bigger is smaller than thmtol.
Go to the top
| Complete list of input variables
use_k_fine
Mnemonics: USE K-grid FINEr than the coarse k-grid
Executable: anaddb
Mentioned in topic: PhononWidth.
Moderately used: [1/70] in anaddb tests, [0/10] in tuto anaddb tests. Test list: {v6:[77]}.
Variable type: integer
Default is 0
When set, kptrlatt_fine is suggested to be given. For the present version, both eigenvalues (densergridGKK, obtained from mrggkk with only the GS WFK file) and electronic velocities(GKK files from DDK calculation) are needed. Note that the coarse k-grid must be a subset of the fine k-grid.
Go to the top
| Complete list of input variables
vs_qrad_tolkms
Mnemonics: Speed of Sound Q-radius, TOLerance KiloMeter/Second
Executable: anaddb
Mentioned in topic: PhononBands.
Moderately used: [1/70] in anaddb tests, [0/10] in tuto anaddb tests. Test list: {v8:[45]}.
Variable type: real(2)
Default is 2*0.0d0
This variable activates the calculation of the speed of sound
(requires ifcflag = 1).
The first entry of the array defines the radius of the small sphere around the Gamma point (Bohr-1).
The second entry gives the absolute tolerance in kilometer/second.
The speed of sound is evaluated by performing a spherical average on the small sphere using
Lebedev-Laikov grids (typical values for q-radius: 0.1 Bohr-1)
The number of radial points is increased until the integration converges twice withing the tolerance
specified by the user (typical values for tolkms: 0.05 km/s).
The default values will not work.
Go to the top
| Complete list of input variables