phq
: Temperature Dependent Phonon Quasiparticle Dispersions of Complex Crystals from First Principles
[TOC]
This repo is created by Zhen Zhang. The associated paper is here. The program files DOI is: http://dx.doi.org/10.17632/sk4jsjc6p9.1.
The phq
program can be installed on Linux, macOS and Windows systems by gfortran, ifort
or other fortran compilers. ifort is recommended for faster running speed and smaller memory requirement. The source codes are in the src
folder and the makefiles are in the system folder. Simply copy one of the suitable makefiles from system folder and paste it in the src folder and rename it as makefile
. Run:
$ make
The phq executable file is compiled.
The source codes work as following:
-
configure.f90
contains 3 auxiliary modules, which configure the physical quantities, parameters and text readin settings. -
main.f90
the main module, which performs the normal mode projection and anharmonic phonon extraction and so forth. -
phq.f90
runs the program and records the running time.
There are 4 input files needed, which can be prepared according to the example provided:
-
input
general controlling and settings. Parameters:dt
MD time step in atomic unit.step_md_use
number of MD steps needed for the calculation of mode-projected VAFs.correlation_time
desired decay time for VAFs in unit ofdt
which should be less than thestep_md_use
.pole
parameter used in the maximum entropy method to filter high frequency components which should be less than thestep_md_use
.supercell
size of the supercell.temperature
MD simulation temperature.method
choose renormalized frequencies by which method when building the effective harmonic dynamical matrices:0
represents the fitting approach.1
represents the FT.2
represents the MEM. Ifmethod
is not specified or integers other than1
and2
are entered, the fitting approach will be used, which is the default method. -
scf.out
structure information of the primitive cell from self-consistent calculation. Parameters:ntype
number of elements.natom
number of atoms.mass
atomic mass of each element following the symbol of the element.lattice_parameter
scale of lattice vectors in unit of Bohr radius.cell_parameters
lattice vectors in cartesian cooradinates in unit oflattice_parameter
.atomic_positions
atomic positions of atoms in reduced coordinates following the symbol of element. -
dyn.out
harmonic phonon results from Quantum ESPRESSO ph.x output. Parameters:q
q-point in cartesian coordinates in unit of 2$\pi$/lattice_parameter
.They are required as program input.freq
harmonic phonon frequencies. They are required as program input as well as the following six columns of eigenvectors. Eigenvector of each atom has x, y and z components and each component has a real part and an imaginary part. The order of atoms should be the same as that of the atoms entered inatomic_positions
inscf.out
.Dynamical Matrix
dynamical matrices, which are not required as program input if other program is used.Dielectric Tensor
whether this is needed depends on whether LO-TO splitting needs to be considered in the system.Effective Charges
whether they are needed depends on whether LO-TO splitting needs to be considered in the system. -
md.out
MD information. Parameters:total_step
total actual MD steps. In practice, recorded MD steps should be configurations after reaching thermal equilibrium and less than this number.atomic_positions
initial atomic positions in reduced coordinates of the supercell lattice vectors.md_step
recorded MD steps, followed by the instantaneousatomic_md_positions
in the MD simulation.atomic_md_positions
atomic positions in the MD simulation in reduced coordinates of the supercell lattice vectors. Atoms in each one of the primitive cell should be together instead of atoms of the same element being together, and the order of atoms in each of the primitive cell should be in the same order as provided inscf.out
.
After putting the phq executable in the same folder with the input files, run:
$ ./phq < input
The main output files of phq
are as following:
corr.vaf
velocity autocorrelation functions of each normal mode .corr_fit.vaf
fitted curves of correlation functions according to phonon quasiparticle and anharmonic perturbation theory.corr_fourier.vaf
Fourier transformation of correlation functions.frequency.freq
harmonic, fitted renormalized, Fourier transformed renormalized and maximum entropy method renormalized phonon frequencies.tau_fit.tau
fitted phonon quasiparticles' lifetime.vector_q.out
eigenvectors of the primitive cell.vector.out
eigenvectors of the supercell.harmonic_matrix.mat
harmonic force constants.gamma_matrix.mat
effective harmonic force constant matrix.dynamical_matrix_md.mat
effective harmonic dynamical matrices.dynmatmd
renormalized phonon information with the same format ofph.x
executable's output in the Quantum ESPRESSO suite. All post processing can be started from here.
The output dynmatmd
files from phq can be read in by the q2r.x
executable in the Quantum ESPRESSO suite. Effective harmonic force constants, renormalized phonon dispersions, anharmonic entropy and free energy can be obtained from q2r.x
output. If other Fourier interpolation program is used, either use the effective harmonic dynamical matrices file dynamical_matrix_md.mat
or use the effective harmonic force constant matrix file gamma_matrix.mat
to fit the format.
There is an example of diamond silicon in the example folder. Postprocessing files are also in the silicon example folder.