[Pw_forum] My phonon dispersion curves are jagged too (an update)

Serge Nakhmanson nakhmanson at anl.gov
Tue Oct 28 22:31:03 CET 2008


A short update. I tried using matdyn.x compiled with internal copies
of blas, lapack and fft and no optimization instead if the one
compiled with MKL and fftw2. However, this binary still produces
phonon dispersion curves that are broken, i.e., it looks like this
problem does not stem from bad mathematical libraries.

BTW: I am using espresso 4.0.2.

Serge

Serge Nakhmanson wrote:
> Dear All,
> 
> I am learning how to compute phonon dispersion curves across the BZ and
> right now I am trying to reproduce the results of a simple calculation
> for cubic perovskites that Philippe, Karin and company have done a long
> time ago [PRB 60, 836 (1999)].
> 
> I take cubic (Pm-3m) PbTiO3 five-atom cell relaxed to zero forces (these
> are exactly zero by symmetry) and stresses, and compute DM(k) on a 6x6x6
> k-point grid. Going from Gamma to X (0,0,1/2), such grid gives 0, 1/6,
> 2/6, 3/6 = 1/2.
> 
> I do the Gamma --> X --> M --> Gamma --> R BZ route (see the middle panel
> of Fig 1). The grid used in the paper is a bit worse than mine but all
> the dispersion curves are smooth with no breaks anywhere.
> 
> Again, after I get all the DM(k) on the grid, I FFT them into an IFCM(r),
> which can be used to compute phonons at any k-point. I use it to draw the
> dispersion curves. Here's what I get (this is a 2.7 Mb file):
> 
> http://home.comcast.net/~sercat/Work_Files/c-PbTiO3_pd/PbTiO3_cp_GXMGR.pdf
> 
> or the xmgrace source (~1Mb):
> 
> http://home.comcast.net/~sercat/Work_Files/c-PbTiO3_pd/PbTiO3_cp_GXMGR.xmgr
> 
> Here the dispersion curves between each pair of high-symmetry k-points are
> computed using IFCM(r) on a grid of a 1000 k-points (which is probably an
> insane resolution that works out just for this tiny sample calculation)
> without any interpolations involved. As you can see, there are numerous
> "breaks" in the dispersion curves, which are aligned vertically at certain
> k-points. The one at ~100 cm-1 around M-point looks pretty ugly. My
> impression is that breaks happen at k-points where two levels cross each
> other, i.e., my DM(k) has some degenerate eigenvalues (of certain symmetry?),
> which suggests a numerical instability in a routine that diagonalizes the DMs
> or, possibly, a routine that constructs the DM(k) prior to its diagonalization.
> 
> So my question is: are such breaks in dispersion curves something to be
> expected or something unusual? If the former is true, then I'm wondering
> what kind of postprocessing I should do to get rid of them and produce nice
> plots? For example, are coarser grids (say 20 points instead of 1000) +
> spline interpolation the method of choice?
> 
> If the latter is true, the problem could be in my lapack library. I am
> using ifort 10.1.015 with MKL 10.0.4.023 and FFTW 2.1.5 to compile
> matdyn.x; make.sys is here:
> 
> http://home.comcast.net/~sercat/Work_Files/c-PbTiO3_pd/make.sys
> 
> but I will now try linking against something else to see if this problem
> goes away.
> 
> My whole calculation (pw_scf+ph+q2r+matdyn+xmgrace_plot) is here:
> 
> http://home.comcast.net/~sercat/Work_Files/c-PbTiO3_pd/PbTiO3_cp_phonon_dispersion.tgz
> 
> I have asked a few friends about that, and the general consensus is that
> such breaks in dispersion curves should not happen no matter what. However,
> since many members of this forum are experts in such calculations, I would
> very much appreciate your comments on this.
> 
> Finally, PLZ note that the lattice consts here and in Philippe's paper
> are used in a somewhat different spirit, so that I am not worried
> too much that our results are not identical.
> 
> Thank you very much,
> 
> Serge
> 
> 


-- 
*********************************************************
  Serge M. Nakhmanson               phone: (630) 252-5205
  Assistant Scientist                 fax: (630) 252-4798
  MSD-212, Rm. C-224
  Argonne National Laboratory
  9700 S. Cass Ave.
  Argonne, IL 60439
*********************************************************



More information about the users mailing list