quantum-espresso/Doc/INPUT_Gamma

76 lines
3.6 KiB
Plaintext

The code phcg.x contained in the Gamma/ subdirectory is a specialized
phonon code, calculating phonon modes only at Gamma (q=0), and using
only Gamma (k=0) for the sum over the Brillouin Zone. It performs direct
minimization of the energy functional expanded at second order in the
atomic displacements. The code was written having molecular applications
in mind : Raman and IR spectra calculations in C60 (JCP100, p.8537, 1994)
and later in models of the GFP chromophore (Chem.Phys. 287/1-2, p.33, 2003).
The (non resonant) Raman cross sections are calculated by finite differences
of the dielectric tensor with respect to small atomic displacements. This
method is simple but slow. The Raman calculation using such as second-order
response, as implemented in code ph.x, should be much faster. The calculation
of Raman cross sections in phcg.x was retained for testing purposes, or for
some special cases (high-symmetry molecules for instance).
Note that:
- the code reads a file produced by pw.x with Gamma point only and
Gamma-point special tricks (half of the plane waves and so on)
- Ultrasoft PP's are not implemented
- the symmetry is used in a different way wrt all other PWscf codes:
only inequivalent atoms are displaced. This has an historical reason:
C60 has just 3 inequivalent atoms when put into in a cubic cell with
standard orientation (the isolated molecule has 1 inequivalent atom)
- the code saves partial and final results in files "restart_e" and
"restartph". Specify "recover=.true." in the input data in order to
restart from saved data.
Input:
title (a string of characters)
&inputph [variable1=value1, variable2=value2,...] /
displacement patterns (optional, see below)
Input variables as in the phonon code:
outdir
prefix
fildyn
epsil
trans
recover
tr2_ph Note that Conjugate-Gradient algorithm stops when
|| A\delta\psi - B || < tr2_ph, where A and B define
the DFT functional expanded at second order:
E^{(2)} = (1/2) (\delta\psi A \delta\psi) - B\delta\psi
Variables specific to this code:
asr use Acoustic Sum Rule to reduce by 3 the number of phonon
calculations to be performed (used only if trans=.true.)
nmodes use the specified displacement patterns, provided after the
namelist as nmodes vectors, each with 3*nat components
(nat=number of atoms); nmodes < 3*nat is allowed (I think).
If not set, uses all 3*nat displacement patterns (one atom
at the time, along x, or y, or z)
Raman-specific variables for this code:
raman perform a calculation of Raman cross sections by finite
differences
deltatau finite difference (a.u.): typically a small but not too
small amount, something like 0.01 a.u, or so
nderiv type of finite derivative formula: nderiv=2 is a simple
two-point formula (two calculations per displacement)
[ f (-deltatau) + f(+deltatau) - 2 f(0) ] / 2/ deltatau^2
nderiv=4 is a four-point formula (4 calculations/displacement)
first, last
calculate raman intensities only for phonon modes from the
"first" to the "last" (in increasing order of energy, as
produced by the code after diagonalization of the dynamical
matrix), using these phonon modes as displacement patterns.
Requires nderiv*(last-first+1) calculations of the dielectric
tensor. If not set, first calculate all derivatives of the
dielectric tensor wrt atomic displacements (nderiv*3*nat
calculations); then, Raman intensities for all phonon modes.