(3.1) |

where is force constant, and are independent directions which are arbitrarily chosen, is force of direction and is displacement of direction. denotes an atom in the -th unit cell. Symmetry operations also symmetrize the force constants. Therefore a force constant matrix should be connected to another one. To do so, group theory is employed for sophisticated symmetrization. In fropho, which is not sophisticated, symmetry operations derived from crystal symmetry are used for symmetrize them 'numerically'.

Usually force constants are treated as matrix. In fropho code, when generating force constants, this is treated as matrix. This treatment has a good point that we can know all the force constants at the same time by solving linear equation of a matrix. In the following sections, I will describe how to construct matrices and how to solve it.

- Matrix representation of linear equation
- Generation of force constants
- Global matrix representation
- Dynamical matrix
- Phonon DOS
- Thermodynamic properties
- Non-analytical term of force constant
- Relation between eigenvector and atomic displacements

- Code
- Coordinate system
- Symmetry operation rule
- Memory consumption and execution time
- Solve smaller force constant matrices
- Procedure
- Parse input file
- Parse POSCAR
- Get symmetry representations of an input structure
- Build supercell
- Get symmetry representations of the supercell
- Search independent atoms and displacements
- Write DISP and SPOSCAR
- Rebuild unit cell from specified primitive axis
- Create map between unit cell atoms and supercell atoms
- Parse FORCES file
- Get site-point symmetry representations
- Calculate force constants
- Expand force constants to dependent atoms
- Make Q-points list
- Prepare non-analytical terms for LO-TO splitting
- Solve dynamical matrices