[Pw_forum] Phonons calculations

Paolo Giannozzi giannozz at nest.sns.it
Mon Jun 28 12:25:19 CEST 2004


On Thursday 24 June 2004 11:04, BOUYER Frédéric 153746 wrote:

> Could you please tell me where to find the input data format of the
> phgc.x program ?

here:
---------------------------------------------------------------------
First, an explanation and a warning: 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 (see JCP 100, 
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 and is made obsolete by the use of the (2n+1) theorem. Unless
you know what you are doing, you shouldn't use this code for the
calculation of Raman coefficients.

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)
- 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". Remove those files if you want to start from scratch, 
  otherwise the code will restart from previous 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
  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 forumala (4 calculations / disp. )
  first, last
           calculate raman intensities only for phonon modes from the
           "first" to the "last", using those phonon modes as displ.
           patterns (requires nderiv*(last-first+1) calculations). 
           If not set, calculate cross sections for all atomic displ.
           then the raman intensities for all phonon modes.
---------------------------------------------------------------------

-- 
Paolo Giannozzi             e-mail:  giannozz at nest.sns.it
Scuola Normale Superiore    Phone:   +39/050-509876, Fax:-563513 
Piazza dei Cavalieri 7      I-56126 Pisa, Italy



More information about the users mailing list