TABLE OF CONTENTS
INTRODUCTION
&INPUT
flfrc  asr  huang  dos  nk1  nk2  nk3  deltaE  ndos  degauss  fldos  flfrq  flvec  fleig  fldyn  at  l1  l2  l3  ntyp  amass  readtau  fltau  la2F  q_in_band_form  q_in_cryst_coord  eigen_similarity  fd  na_ifc  nosym  loto_2d  loto_disable  read_lr  write_frc
AtomicPositionSpecs
X  Y  Z  ityp
qPointsSpecs
nq  q_x  q_y  q_z  nptq
qPointsSpecs
nq  q_x  q_y  q_z
Notes
INTRODUCTION
Purpose of matdyn.x:
This program calculates the phonon frequencies for a list of generic
q vectors starting from the interatomic force constants generated
from the dynamical matrices as written by DFPT phonon code through
the companion program q2r.x
matdyn.x can generate a supercell of the original cell for mass
approximation calculation. If supercell data are not specified
in input, the unit cell, lattice vectors, atom types and positions
are read from the force constant file.
Input data format: [ ] = it depends
Structure of the input data:
========================================================================
&INPUT
...specs of the namelist variables...
/
[ X(1) Y(1) Z(1) ityp(1)
...
X(nat) Y(nat) Z(nat) ityp(nat) ]
[ nq
q_x(1) q_y(1) q_x(1) [ nptq(1) ]
...
q_x(nq) q_y(nq) q_x(nq) [ nptq(1) ] ]
Namelist: &INPUT

flfrc 
CHARACTER 
File produced by q2r containing force constants (needed)
It is the same as in the input of q2r.x (+ the .xml extension
if the dynamical matrices produced by ph.x were in xml
format). No default value: must be specified.

asr 
CHARACTER 
Default: 
'no'

Indicates the type of Acoustic Sum Rule imposed.
Allowed values:
 'no' :
no Acoustic Sum Rules imposed (default)
 'simple' :
previous implementation of the asr used
(3 translational asr imposed by correction of
the diagonal elements of the force constants matrix)
 'crystal' :
3 translational asr imposed by optimized
correction of the force constants (projection)
 'all' :
3 translational asr + 3 rotational asr + 15 Huang
conditions for vanishing stress tensor, imposed by
optimized correction of the force constants (projection).
Remember to set write_lr = .true. to write longrange
force constants into file when running q2r and set read_lr = .true. when running matdyn in the case of
infraredactive solids. (See npj Comput Mater 8, 236 (2022))
 'onedim' :
3 translational asr + 1 rotational asr imposed
by optimized correction of the dyn. mat. (the
rotation axis is the direction of periodicity; it
will work only if this axis considered is one of
the Cartesian axis).
 'zerodim' :
3 translational asr + 3 rotational asr imposed
by optimized correction of the dyn. mat.
Note that in certain cases, not all the rotational asr
can be applied (e.g. if there are only 2 atoms in a
molecule or if all the atoms are aligned, etc.).
In these cases the supplementary asr are cancelled
during the orthonormalization procedure (see below).

huang 
LOGICAL 
Default: 
.true.

if .true. 15 Huang conditions for vanishing stress
tensor are included in asr = 'all'.

dos 
LOGICAL 
if .true. calculate phonon Density of States (DOS)
using tetrahedra and a uniform qpoint grid (see below)
NB: may not work properly in noncubic materials
if .false. calculate phonon bands from the list of qpoints
supplied in input (default)

nk1, nk2, nk3 
INTEGER 
uniform qpoint grid for DOS calculation (includes q=0)
(must be specified if dos = .true., ignored otherwise)

deltaE 
REAL 
energy step, in cm^{1,} for DOS calculation: from min
to max phonon energy (default: 1 cm^{1} if ndos, see
below, is not specified)

ndos 
INTEGER 
number of energy steps for DOS calculations
(default: calculated from deltaE if not specified)

degauss 
REAL 
DOS broadening in cm^{1}
Default: 0  meaning use tetrahedra

fldos 
CHARACTER 
output file for dos (default: 'matdyn.dos')
the dos is in states/cm^{1} plotted vs omega in cm(1)
and is normalised to 3*nat, i.e. the number of phonons

flfrq 
CHARACTER 
output file for frequencies (default: 'matdyn.freq')

flvec 
CHARACTER 
output file for normalized phonon displacements
(default: 'matdyn.modes'). The normalized phonon displacements
are the eigenvectors divided by the square root of the mass,
then normalized. As such they are not orthogonal.

fleig 
CHARACTER 
output file for phonon eigenvectors (default: 'matdyn.eig')
The phonon eigenvectors are the eigenvectors of the dynamical
matrix. They are orthogonal.

fldyn 
CHARACTER 
output file for dynamical matrix (default: ' ' i.e. not written)

at(i,j), (i,j) = (1,1) . . . (3,3)

REAL 
supercell lattice vectors  must form a superlattice of the
original lattice (default: use original cell)

l1, l2, l3 
INTEGER 
supercell lattice vectors are original cell vectors times
l1, l2, l3 respectively (default: 1, ignored if at specified)

ntyp 
INTEGER 
number of atom types in the supercell
(default: ntyp of the original cell)

amass(i), i=1,ntyp 
REAL 
masses of atoms in the supercell (a.m.u.), one per atom type
(default: use masses read from file flfrc)

readtau 
LOGICAL 
read atomic positions of the supercell from input
(used to specify different masses) (default: .false.)

fltau 
CHARACTER 
write atomic positions of the supercell to file fltau
(default: fltau = ' ', do not write)

la2F 
LOGICAL 
if .true. interpolates also the elph coefficients

q_in_band_form 
LOGICAL 
if .true. the q points are given in band form:
only the first and last point of one or more lines
are given. See below. (default: .false.).

q_in_cryst_coord 
LOGICAL 
if .true. input q points are in crystalline
coordinates (default: .false.)

eigen_similarity 
LOGICAL 
use similarity of the displacements to order
frequencies (default: .false.)
NB: You cannot use this option with the symmetry
analysis of the modes.

fd 
LOGICAL 
if .true. the ifc come from the finite displacement calculation

na_ifc 
LOGICAL 
add non analitic contributions to the interatomic force
constants if finite displacement method is used (as in Wang et al.
PRB 85, 224303 (2012)) [to be used in conjunction with fd.x]

nosym 
LOGICAL 
if .true., no symmetry and no time reversal are imposed

loto_2d 
LOGICAL 
set to .true. to activate twodimensional treatment of LOTO splitting

loto_disable 
LOGICAL 
if .true. do not apply LOTO splitting for q=0
(default: .false.)

read_lr 
LOGICAL 
Default: 
.false.

if .true. read also longrange force constants when they exist in
force constant file. This is required when enforcing asr = 'all'
for infraredactive solids.

write_frc 
LOGICAL 
Default: 
.false.

if .true. write force constants with asr imposed into file.
The filename would be flfrc+".matdyn". The longrange part of
force constants will be not written.



IF readtau == .true. :
Card: AtomicPositionSpecs 
if (readtau) atomic positions must be specified as follows:
Syntax:

Description of items:
X, Y, Z

REAL 
X, Y, Z atomic positions

ityp 
INTEGER 
index of the atomic type





IF q_in_band_form == .true .and. dos == .false. :
Card: qPointsSpecs 
if (q_in_band_form .and. .not.dos) qpoints must be specified as follows:
Syntax:

Description of items:
nq 
INTEGER 
number of q points

q_x, q_y, q_z

REAL 
coordinates of the Q point

nptq 
INTEGER 
The number of points between this point and the next.
nptq is the number of points between this point
and the next. These points are automatically
generated. the q points are given in Cartesian
coordinates, 2pi/a units (a = lattice parameters)




ELSEIF dos == .false. :
if (.not. dos) qpoints must be specified as follows:
Card: qPointsSpecs 
Syntax:

Description of items:
nq 
INTEGER 
number of q points

q_x, q_y, q_z

REAL 
qpoints in cartesian coordinates, 2pi/a units (a = lattice parameters)





Notes
If q = 0, the direction qhat (q=>0) for the nonanalytic part
is extracted from the sequence of qpoints as follows:
qhat = q(n)  q(n1) or qhat = q(n)  q(n+1)
depending on which one is available and nonzero.
For lowsymmetry crystals, specify twice q = 0 in the list
if you want to have q = 0 results for two different directions
