# 7. Making input files for *anphon*¶

## 7.1. 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.

## 7.2. List 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 be`KD = Ga As`

.

**MASS**-tag = mass[1], … , mass[`NKD`

]

Default: None Type: Array of double Example: In the case of Bi _{2}Te_{3}with`NKD = 2`

,`MASS`

should be`MASS = 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 will be used for calculating dynamical matrices. It is possible to use different size of supercell for harmonic and anharmonic terms, which are specified by`FC2XML`

and`FCSXML`

respectively.

- NSYM-tag = 0 | 1 | nsym

0 The program automatically generates the crystal symmetryoperations (rotational and translational parts).When`PRINTSYM = 1`

, symmetry operations will be savedin the file “SYMM_INFO_PRIM”.1 Only the identity operation will be considered.nsym “nsym” symmetry operations will be read from “SYMM_INFO_PRIM” file.

Default: 0 Type: Integer

- 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

- NONALAYTIC-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`

, appropriate`NA_SIGMA`

and`BORNINFO`

have to be given.

**NA_SIGMA**-tag : Damping factor for the non-analytic term

Default: None Type: Double Description: This entry is necessary when `NONANALYTIC = 1`

. The definition of`NA_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 as`BCONNECT=1`

. In addition, information of the connectivity issaved as`PREFIX.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 formlae. 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 file`PREFIX`

.result needs to be averaged at points of degeneracy. For that purpose, a subsidiary programanalyze_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 = 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 = 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 of`KMESH_INTERPOLATE`

in the same direction.

- SELF_OFFDIAG = 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 of`KMESH_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 = 0 | 1

0 The SCPH iteration start from `TMIN`

to`TMAX`

. (Raise the temperature)1 The SCPH iteration start from `TMAX`

to`TMIN`

. (Lower the temperature)

Default: 1 Type: Integer

- WARMSTART = 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 = 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 = 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`

and`GRUNEISEN = 1`

, Grüneisen parameters will be stored in`PREFIX`

.gru (KPMODE= 1) or`PREFIX`

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

and`PRINTVEL = 1`

, group velocities of phonons will be stored in`PREFIX`

.phvel (KPMODE= 1) or`PREFIX`

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

andKPMODE= 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`

andKPMODE= 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`

andKPMODE= 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 involving three-phonon processes will be stored in `PREFIX`

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

andKPMODE= 2.

- PRINTPR-tag = 0 | 1

0 Do not compute the (atomic) participation ratio 1 Compute participation ratio and atomic participation ratio, which will be stored in `PREFIX`

.pr and`PREFIX`

.apr respectively.

Default: 0 Type: Integer Description: This flag is available when `MODE = phonons`

.

- 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 in `ISOTOPE = 1`

and the corresponding selfenergy will be stored in`PREFIX`

.gamma_isotope

Default: 0 Type: Integer Description: When `MODE = RTA`

and`ISOTOPE = 1 or 2`

, phonon scatterings due to isotopes will be considered perturbatively.`ISOFACT`

should be properly given.

- ISOFACT-tag = isofact[1], … , isofact[
`NKD`

]

Default: 0 Type: 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.].

- 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). When`ANIME`

is given,`ANIME_CELLSIZE`

is also necessary. You can choose the format of animation files, either AXSF or XYZ, by`ANIME_FORMAT`

tag.

- 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. When`ANIME_FORMAT = xyz`

,`PREFIX`

.anime???.xyz files are created for VMD (and any other supporting software such as Jmol).

## 7.3. 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.