6.1. ANPHON: Input files¶
Format of input files¶
Each input file should consist of entry fields. Available entry fields are
&general, &cell, &analysis, and &kpoint.
The format of the input file is the same as that of alm which can be found here.
List of supported input variables¶
Description of input variables¶
“&general”-field¶
- PREFIX-tag : Job prefix to be used for names of output files
Default: None Type: String
- MODE-tag = phonons | RTA
phonons Calculate phonon dispersion relation, phonon DOS,Grüneisen parameters etc.RTA Calculate phonon lifetimes and lattice thermal conductivitybased on the Boltzmann transport equation (BTE)with the relaxation time approximation (RTA).SCPH Calculate temperature dependent phonon dispersion curvesby the self-consistent phonon method.
Default: None Type: String
- NKD-tag : Number of atomic species
Default: None Type: Integer
- KD-tag = Name[1], … , Name[
NKD
]
Default: None Type: Array of strings Example: In the case of GaAs with NKD = 2
, it should beKD = Ga As
.
- MASS-tag = mass[1], … , mass[
NKD
]
Default: Standard atomic weight of elements given by the KD
-tagType: Array of double Example: In the case of Bi2Te3 with NKD = 2
,MASS
should beMASS = 208.98 127.60
.
- FCSXML-tag : XML file containing force constants generated by the program alm
Default: None Type: String
- FC2XML-tag : XML file containing harmonic force constants for different size of supercell
Default: None Type: String Description: When FC2XML
is given, the harmonic force constants in this file are used for calculating dynamical matrices. It is possible to use different size of supercell for harmonic and anharmonic terms, which are specified byFC2XML
andFCSXML
respectively.
- TOLERANCE-tag : Tolerance for finding symmetry operations
Default: 1.0e-6 Type: Double
- PRINTSYM-tag = 0 | 1
0 Symmetry operations won’t be saved in “SYMM_INFO_PRIM” 1 Symmetry operations will be saved in “SYMM_INFO_PRIM”
Default: 0 type: Integer
- NONANALYTIC-tag = 0 | 1 | 2 | 3
0 Non-analytic correction is not considered.1 Include the non-analytic correction by the damping method proposed by Parlinski.2 Include the non-analytic correction by the mixed-space approach3 Include the non-analytic correction by the Ewald method
Default: 0 Type: Integer Description: When NONANALYTIC > 0
, appropriateNA_SIGMA
andBORNINFO
have to be given.
- NA_SIGMA-tag : Damping factor for the non-analytic term
Default: 0.0 Type: Double Description: Used when NONANALYTIC = 1
. The definition ofNA_SIGMA
is described in the formalism section.
- BORNINFO-tag : File containing the macroscopic dielectric tensor and Born effective charges for the non-analytic correction
Default: None Type: String Description: The details of the file format can be found here.
- BORNSYM-tag = 0 | 1
0 Do not symmetrize Born effective charges 1 Symmetrize Born effective charges by using point group symmetry
Default: 0 Type: Integer
- TMIN, TMAX, DT-tags : Temperature range and its stride in units of Kelvin
Default: TMIN = 0
,TMAX = 1000
,DT = 10
Type: Double
- EMIN, EMAX, DELTA_E-tags : Energy range and its stride in units of kayser (cm-1)
Default: EMIN = 0
,EMAX = 1000
,DELTA_E = 10
Type: Double
- ISMEAR-tag = -1 | 0 | 1
-1 Tetrahedron method 0 Lorentzian smearing with width of EPSILON
1 Gaussian smearing with width of EPSILON
Default: -1 Type: Integer Description: ISMEAR
specifies the method for Brillouin zone integration
- EPSILON-tag : Smearing width in units of Kayser (cm-1)
Default: 10.0 Type: Double Description: This variable is neglected when ISMEAR = -1
- BCONNECT-tag = 0 | 1 | 2
0 Phonon band is saved without change (sorted in order of energy)1 Phonon band is connected by using the similarity of eigenvectors.2 Same asBCONNECT=1
. In addition, information about the connectivity issaved asPREFIX.connection
.
Default: 0 Type: Integer Description: The algorithm for connecting a band structure is described here.
- CLASSICAL-tag = 0 | 1
0 Use quantum statistics (default) 1 Use classical statistics
Default: 0 Type: Integer Description: When CLASSICAL = 1
, all thermodynamic functions including the occupation function, heat capacity, and mean square displacements are calculated using the classical formulae. This option may be useful when comparing the lattice dynamics and molecular dynamics results.
- TRISYM-tag : Flag to use symmetry operations to reduce the number of triples of \(k\) points for self-energy calculations
0 Symmetry will not be used 1 Use symmetry to reduce triples of \(k\) points
Default: 1 Type: Integer Description: This variable is used only when MODE = RTA
.Note
TRISYM = 1
can reduce the computational cost, but phonon linewidth stored to the filePREFIX
.result needs to be averaged at points of degeneracy. For that purpose, a subsidiary program analyze_phonons.py* should be used.
- RESTART-tag : Flag to restart the calculation when
MODE = RTA
0 Calculate from scratch 1 Restart from the existing file
Default: 1 if there is a file named PREFIX
.result; 0 otherwiseType: Integer
“&scph”-field (Read only when MODE = SCPH
)¶
- KMESH_INTERPOLATE-tag = k1, k2, k3
Default: None Type: Array of integers Description: In the iteration process of the SCPH equation, the interpolation is done using the \(k\) mesh defined by KMESH_INTERPOLATE
.
- KMESH_SCPH-tag = k1, k2, k3
Default: None Type: Array of integers Description: This \(k\) mesh is used for the inner loop of the SCPH equation. Each value of KMESH_SCPH
must be equal to or a multiple of the number ofKMESH_INTERPOLATE
in the same direction.
- SELF_OFFDIAG-tag = 0 | 1
0 Neglect the off-diagonal elements of the loop diagram in the SCPH calculation 1 Consider the off-diagonal elements of the loop diagram in the SCPH calculation
Default: 0 Type: Integer Description: SELF_OFFDIAG = 1
is more accurate, but expensive.
- TOL_SCPH-tag: Stopping criterion of the SCPH iteration
Default: 1.0e-10 Type: Double Description: The SCPH iteration stops when both \([\frac{1}{N_{q}}\sum_{q} (\Omega_{q}^{(i)}-\Omega_{q}^{(i-1)})^{2}]^{1/2}\) < TOL_SCPH
and \((\Omega_{q}^{(i)})^{2} \geq 0 \; (\forall q)\) are satisfied. Here, \(\Omega_{q}^{(i)}\) is the anharmonic phonon frequency in the \(i\)th iteration and \(q\) is the phonon modes at the irreducible momentum grid ofKMESH_INTERPOLATE
.
- MIXALPHA-tag: Mixing parameter used in the SCPH iteration
Default: 0.1 Type: Double
- MAXITER-tag: Maximum number of the SCPH iteration
Default: 1000 Type: Integer
- LOWER_TEMP-tag = 0 | 1
0 The SCPH iteration start from TMIN
toTMAX
. (Raise the temperature)1 The SCPH iteration start from TMAX
toTMIN
. (Lower the temperature)
Default: 1 Type: Integer
- WARMSTART-tag = 0 | 1
0 SCPH iteration is initialized by harmonic frequencies and eigenvectors 1 SCPH iteration is initialized by the solution of the previous temperature
Default: 1 Type: Integer Description: WARMSTART = 1
usually improves the convergence.
- IALGO-tag = 0 | 1
0 MPI parallelization for the \(k\) point 1 MPI parallelization for the phonon branch
Default: 0 Type: Integer Description: Use IALGO = 1
when the primitive cell contains many atoms and the number of \(k\) points is small.
- RESTART_SCPH-tag = 0 | 1
0 Perform a SCPH calculation from scratch 1 Skip a SCPH iteration by loading a precalculated result
Default: 1 if the file PREFIX.scph_dymat
exists in the working directory; 0 otherwiseType: Integer
“&cell”-field¶
Please specify the cell parameters of the primitive cell as:
&cell
a
a11 a12 a13
a21 a22 a23
a31 a32 a33
/
The cell parameters are then given by \(\vec{a}_{1} = a \times (a_{11}, a_{12}, a_{13})\), \(\vec{a}_{2} = a \times (a_{21}, a_{22}, a_{23})\), and \(\vec{a}_{3} = a \times (a_{31}, a_{32}, a_{33})\).
Note
The lattice constant \(a\) must be consistent with the value used for the program alm. For example, if one used \(a = 20.4 a_{0}\) for a 2x2x2 supercell of Si, one should use \(a = 10.2 a_{0}\) here for the primitive cell.
“&kpoint”-field¶
This entry field is used to specify the list of \(k\) points to be calculated. The first entry KPMODE specifies the types of calculation which is followed by detailed entries.
- KPMODE = 0 : Calculate phonon frequencies at given \(k\) points
For example, if one wants to calculate phonon frequencies at Gamma (0, 0, 0) and X (0, 1/2, 1/2) of an FCC crystal, the
&kpoint
entry should be written as&kpoint 0 0.000 0.000 0.000 0.000 0.500 0.500 /
- KPMODE = 1 : Band dispersion calculation
For example, if one wants to calculate phonon dispersion relations along G-K-X-G-L of a FCC crystal, the
&kpoint
entry should be written as follows:&kpoint 1 G 0.000 0.000 0.000 K 0.375 0.375 0.750 51 K 0.375 0.375 0.750 X 0.500 0.500 1.000 51 X 0.000 0.500 0.500 G 0.000 0.000 0.000 51 G 0.000 0.000 0.000 L 0.500 0.500 0.500 51 /The 1st and 5th columns specify the character of Brillouin zone edges, which are followed by fractional coordinates of each point. The last column indicates the number of sampling points.
- KPMODE = 2 : Uniform \(k\) grid for phonon DOS and thermal conductivity
In order to perform a calculation with 20x20x20 \(k\) grid, the entry should be
&kpoint 2 20 20 20 /
“&analysis”-field¶
- GRUNEISEN-tag = 0 | 1
0 Grüneisen parameters will not be calculated 1 Grüneisen parameters will be stored
Default: 0 Type: Integer Description: When MODE = phonons
andGRUNEISEN = 1
, Grüneisen parameters will be stored inPREFIX
.gru (KPMODE = 1) orPREFIX
.gru_all (KPMODE = 2).
Note
To compute Grüneisen parameters, cubic force constants must be contained in the FCSXML
file.
- PRINTEVEC-tag = 0 | 1
0 Do not print phonon eigenvectors 1 Print phonon eigenvectors in the PREFIX
.evec file
Default: 0 Type: Integer
- PRINTXSF-tag = 0 | 1
0 Do not save an AXSF file 1 Create an AXSF file PREFIX
.axsf
Default: 0 Type: Integer Description: This is to visualize the direction of vibrational modes at gamma (0, 0, 0) by XCrySDen. This option is valid only when MODE = phonons
.
- PRINTVEL-tag = 0 | 1
0 Do not print group velocity 1 Store phonon velocities to a file
Default: 0 Type: Integer Description: When MODE = phonons
andPRINTVEL = 1
, group velocities of phonons will be stored inPREFIX
.phvel (KPMODE = 1) orPREFIX
.phvel_all (KPMODE = 2).
- PRINTMSD-tag = 0 | 1
0 Do not print mean-square-displacement (MSD) of atoms 1 Save MSD of atoms to the file PREFIX
.mds
Default: 0 Type: Integer Description: This flag is available only when MODE = phonons
and KPMODE = 2.
- PDOS-tag = 0 | 1
0 Only the total DOS will be printed in PREFIX
.dos1 Atom-projected phonon DOS will be stored in PREFIX
.dos
Default: 0 Type: Integer Description: This flag is available only when MODE = phonons
and KPMODE = 2.
- TDOS-tag = 0 | 1
0 Do not compute two-phonon DOS 1 Two-phonon DOSs will be stored in PREFIX
.tdos
Default: 0 Type: Integer Description: This flag is available only when MODE = phonons
and KPMODE = 2.Note
Calculation of two-phonon DOS is computationally expensive.
- SPS-tag = 0 | 1 | 2
0 Do not compute scattering phase space 1 Total and mode-decomposed scattering phase space involvingthe three-phonon processes will be stored inPREFIX
.sps2 Three-phonon scattering phase space with the Bose factor will be stored in PREFIX
.sps_Bose
Default: 0 Type: Integer Description: This flag is available only when MODE = phonons
and KPMODE = 2.
- PRINTPR-tag = 0 | 1
0 Do not compute the (atomic) participation ratio 1 Compute participation ratio and atomic participation ratio, which will bestored inPREFIX
.pr andPREFIX
.apr respectively.
Default: 0 Type: Integer Description: This flag is available when MODE = phonons
.
- KAPPA_COHERENT-tag = 0 | 1 | 2
0 Do not compute the coherent component of thermal conductivity 1 Compute the coherent component of thermal conductivity and save it in PREFIX
.kl_coherent.2 In addition to above (KAPPA_COHERENT = 1
), all elements of the coherent termare saved inPREFIX
.kc_elem.
Default: 0 Type: Integer Description: This flag is available when MODE = RTA
. For the theoretical details, please see this page.Caution
Still experimental. Please check the validity of results carefully.
- KAPPA_SPEC-tag = 0 | 1
0 Do not compute the thermal conductivity spectra 1 Compute the thermal conductivity spectra, which will be stored in PREFIX
.kappa_spec .
Default: 0 Type: Integer Description: This flag is available when MODE = RTA
.
- ISOTOPE-tag = 0 | 1
0 Do not consider phonon-isotope scatterings 1 Consider phonon-isotope scatterings 2 Consider phonon-isotope scatterings as inISOTOPE = 1
andthe calculated selfenergy is stored inPREFIX
.gamma_isotope
Default: 0 Type: Integer Description: When MODE = RTA
andISOTOPE = 1 or 2
, phonon scatterings due to isotopes will be considered perturbatively.ISOFACT
should be properly given.
- ISOFACT-tag = isofact[1], … , isofact[
NKD
]
Default: Automatically calculated from the KD
tagType: Array of doubles Description: Isotope factor is a dimensionless value defined by \(\sum_{i} f_{i} (1 - m_{i}/\bar{m})^{2}\). Here, \(f_{i}\) is the fraction of the \(i\)th isotope of an element having mass \(m_{i}\), and \(\bar{m}=\sum_{i}f_{i}m_{i}\) is the average mass, respectively. This quantity is equivalent to \(g_{2}\) appearing in the original paper by S. Tamura [Phys. Rev. B, 27, 858.].
- UCORR-tag = 0 | 1
0 Do nothing 1 Compute the displacement-displacement correlation function.The result is stored inPREFIX
.ucorr
Default: 0 Type: Integer Description: The displacement-displacement correlation function involves two atoms. The first atom is located in the primitive cell at the center (shift1=[0,0,0]) and the second atom is located in the \(\ell'\) th cell. The translation vector to the \(\ell'\) th cell can be specified by the SHIFT_UCORR
tag. This tag is effective only whenMODE = phonons
and KPMODE = 2
- SHIFT_UCORR-tag = l1, l2, l3
Default: [0, 0, 0] Type: Array of integers Description: This tag specifies the translation vector used for computing the displacement-displacement (uu) correlation function. For example, if one wants to compute the uu correlation function between an atom 1 in the cell at the center and atom 2 in the neighboring cell at \(\boldsymbol{r}(\ell')=(1,0,0)\), SHIFT_UCORR
should be set asSHIFT_UCORR = 1 0 0
.
- ZMODE-tag = 0 | 1
0 Do nothing 1 Compute the mode effective charges of the zone-center phonons.The result is stored inPREFIX
.zmode
Default: 0 Type: Integer Description: When MODE = phonons
andZMODE = 1
, the mode effective charges are computed for the phonon modes at the Gamma point and saved inPREFIX
.zmode. The unit of the mode effective charge is \(e \; \text{amu}^{-1/2}\).
- ANIME-tag = k1, k2, k3
Default: None Type: Array of doubles Description: This tag is to animate vibrational mode. k1, k2, and k3 specify the momentum of phonon modes to animate, which should be given in units of the reciprocal lattice vector. For example, ANIME = 0.0 0.0 0.5
will animate phonon modes at (0, 0, 1/2). WhenANIME
is given,ANIME_CELLSIZE
is also necessary. You can choose the format of animation files, either AXSF or XYZ, byANIME_FORMAT
tag.
- ANIME_FRAMES-tag: The number of frames saved in animation files
Default: 20 Type: Integer
- ANIME_CELLSIZE-tag = L1, L2, L3
Default: None Type: Array of integers Description: This tag specifies the cell size for animation. L1, L2, and L3 should be large enough to be commensurate with the reciprocal point given by the ANIME
tag.
- ANIME_FORMAT = xsf | xyz
Default: xyz Type: String Description: When ANIME_FORMAT = xsf
,PREFIX
.anime???.axsf files are created for XcrySDen. WhenANIME_FORMAT = xyz
,PREFIX
.anime???.xyz files are created for VMD (and any other supporting software such as Jmol).
Format of BORNINFO¶
When one wants to consider the LO-TO splitting near the \(\Gamma\) point, it is necessary to set NONANALYTIC = 1
and
provide BORNINFO
file containing dielectric tensor \(\epsilon^{\infty}\) and Born effective charge \(Z^{*}\).
In BORNINFO
file, the dielectric tensor should be written in first 3 lines which are followed by Born effective charge tensors
for each atom as the following.
Here, \(N_p\) is the number of atoms contained in the primitive cell.
Attention
Please pay attention to the order of Born effective charges.