# ph keywords

Phonon calculator

## ph.klist

This keyword is obsolete, please refer to ph.qpointSympoints.
High-symmetry k-point paths for calculating phonon structures.

**type**: `array`

**size**: `[inf,3]`

**example**:
`ph.klist = [0.0,0.0,0.0;0.0,0.0,0.5;0.0,0.0,0.5;0.0,0.5,0.5]`

## ph.nk

This keyword is obsolete, please refer to ph.qpointGridn. Number of
total data points along high-symmetry k-points.

**type**: `scalar`

**default**: `20`

**example**: `ph.nk = 20`

## ph.qpointGridn

ph.qpointGridn is a scalar determining the total number of points along
the q-point line. The q-points are distributed as uniformly as possible.

**type**: `scalar`

**default**: `20`

**example**: `ph.qpointGridn = 20`

## ph.sympoints

This keyword is obsolete, please refer to ph.qpointSympoints. List of
points visited during the phonon band structure calculation. The points
can be string labels or k-points in direct coordinates. If ph.klist is
defined, ph.sympoints are not used. If neither is defined, a line going
along the different edges of the irreducible Brillouin zone is
generated.

**type**: `cell array`

**example**: `ph.sympoints = {'L','G','X','W','K'}`

## ph.qpointSympoints

List of points visited during the phonon band structure calculation. The
points can be string labels or k-points in direct coordinates. If it is
not defined, a line going along the different edges of the irreducible
Brillouin zone is generated.

**type**: `cell array`

**example**: `ph.qpointSympoints = {'L','G','X','W','K'}`

## ph.labels

Labels for high-symmetry k-points. Used for ploting.

**type**: `cell array, string`

**default**: `{'G','X'}`

**example**: `ph.labels={'G','M','K','G'}`

## ph.mass

Mass of atomic species. The zero components of input masses will be
replaced by default ones.

**type**: `array`

**size**: `[1,inf]`

**example**: `ph.mass = [12, 12]`

## ph.unitcellMass

Mass of atoms in the given unit cell.

**type**: `array`

**size**: `[1,inf]`

**example**: `ph.unitcellMass = [12, 12]`

## ph.supercellDimension

Supercell size for calculating phonons.

**type**: `array`

**size**: `[1,3]`

**example**: `ph.supercellDimension = [2,2,1]`

## ph.ASR

Use Acoustic Sum Rules correction (1) or not (0).

**type**: `scalar`

**default**: `true`

**allowed**: `true,false`

**example**: `ph.ASR = true`

## ph.dr

Displacement of atoms for calculating forces of a displaced
configuration. In unit of Bohr.

**type**: `scalar`

**default**: `0.2`

**example**: `ph.dr = 0.2`

## ph.plot

Plot phonon band structures or not.

**type**: `scalar`

**default**: `true`

**allowed**: `true,false`

**example**: `ph.plot = true`

## ph.dispStartNumber

Forces calculation starts from the designated number of displaced
configuration.

**type**: `scalar`

**default**: `1`

**example**: `ph.dispStartNumber = 1`

## ph.dispEndNumber

Forces calculation ends at the designated number of displaced
configuration.

**type**: `scalar`

**example**: `ph.dispEndNumber = 1`

## ph.mode

Working modes of the phonon code

**type**: `string`

**default**: `'phonon'`

**allowed**: `'bands','displacement','dos','force sets','force`
constants\',\'gamma\',\'phonon\',\'post\',\'symmetry\'

**example**: `ph.mode = 'phonon'`

## ph.supercellXyzFile

Use an external input for the supercell structure (units must be
Angstrom).

**type**: `string`

**default**: `[]`

**example**: `ph.supercellXyzFile = 'SPOSCAR.xyz'`

## ph.unitCellIndex

Atom index of the unit cell structure embedded in the supercell
structure.

**type**: `array`

**size**: `[1,inf]`

**example**: `ph.unitCellIndex = [1:2]`

## ph.tol

Tolerance for determining whether two atoms are in the same position or
not. It is unitless as the code uses fractional coordinates for symmetry
operations.

**type**: `scalar`

**default**: `1e-05`

**example**: `ph.tol = 1e-5`

## ph.usePsi

Determines whether to use provided wave function in info.savepath as the
initial subspace or not.

**type**: `scalar`

**default**: `false`

**allowed**: `true,false`

**example**: `ph.usePsi = true`

## ph.wUnit

Units for output phonon frequencies.

**type**: `string`

**default**: `'THz'`

**allowed**: `'THz','eV','meV','cm','cm-1'`

**example**: `ph.wUnit = 'THz'`

## ph.isMinus

Use positive-minus displaced structures or not.

**type**: `scalar`

**default**: `true`

**allowed**: `true,false`

**example**: `ph.isMinus = true`
