Page 1 of 1

phonons

Posted: Tue Apr 12, 2011 7:01 pm
by vanessa
Dear Users,

I calculated the frequencies for AlN in wurtzite structure and when I plotted them I got a strange figure. So I asked how to correct the splitting in this structure,
thank you in advance.
vanessa.

Re: phonons

Posted: Tue Apr 12, 2011 7:06 pm
by Boris
Hi Vanessa,

I guess what you mean is that you obtained discontinuities in the phonon structures at the Gamma point right ?

This is a known bug when there is a LO-TO splitting at the gamma point. What you need to do is change by hand the values at the Gamma point in the file that you are plotting. It can be a hassle but I don't know any other way to do that.

Boris

Re: phonons

Posted: Wed Apr 13, 2011 1:43 pm
by vanessa
Hi,

I tried to change by hand the values at Gamma but I still having a trouble plot phonon band structure.
I also used band2eps with the following trf2_6.in:
[code][/code]
#Input file for 'band2eps.' This data layout must be used, line-by-line.
#number of atoms in a cell :
4
#minimum value, maximum value and number of tics of the vertical axe :
0.0 1000.0 4
#Units : 1 for cm-1, 2 for THz :
1
#Number of lines :
7
#Description of the points in q space :
gamma K M gamma A H L A
#Number of q points for each line :
10 10 10 10 10 10 10
#Scale factor for each line :
1.06066017 0.35355339 1.0 0.86602540 0.86602540 0.5 0.70710678
#COLOR DEFINITION :
#put 1 in place of the atom you want to be colored in
#red
0 0 0 0
#green
0 0 0 0
#blue
0 0 0 0
but the picture is not good.

Re: phonons

Posted: Wed Apr 13, 2011 5:05 pm
by Boris
Hi

When you say you got a funny phonon structure, are you referring to something like this?

http://img705.imageshack.us/img705/1645/phonons.jpg

If yes, then the way to deal with this is to change by hand the values in the frequencies output file of anaddb. And then to run band2eps on the corrected file. If you did it and it did not work, it probably means you changed the wrong values.

B.

Re: phonons

Posted: Thu Apr 14, 2011 2:11 pm
by vanessa
Hi,
I did the modifications in the frequencies output file, and here is attached the figure I obtained, unfortunately it still contains some anomalies :(
file:///home/stahri/Desktop/trf2_6.out.pdf],
thanks in advance.

Re: phonons

Posted: Mon Apr 18, 2011 4:23 am
by t-nissie
Hi,

I am the author of 77_ddb/sortph.F90.
Please see the thread of viewtopic.php?f=12&t=483 .
As I wrote:
> Note that, even with this patch, sortph.F90 fails to connect
> branches from the Gamma point when the system has LO-TO
> splitting. In that case, you should move data column in your
> B2EPS.freq file by your hands.
Sorry.

To solve this problem essentially,
in my loto code http://loto.sourceforge.net/loto/ ,
I use GNUPLOT which does not connect data points with lines
when the data are separated with a blank line in the data file.
For example:
--------------------------------
# foo.dat
1 2.00
2 2.25
3 2.63

3 3.00
4 3.10
5 3.30
---------------------------------
$ gnuplot
> plot 'foo.dat' w lp

ABINIT group can hire me for implementing it to ABINIT :D

Re: phonons

Posted: Sun May 08, 2011 8:33 am
by t-nissie
Oops,

I wrote:
you should move data column in your B2EPS.freq file by your hands.


But, current (version 6.6.2) output format of B2EPS.freq is one frequency per one line.
Please apply following patch to sortph.F90, then
(1) ./anaddb < NaCl-anaddb.files
(2) Add LO-TO splitting to NaCl-anaddb.out_B2EPS.freq, for example.
(3) ./band2eps < NaCl-band2eps.files
(4) Move data column in NaCl-anaddb.out_B2EPS.freq, if necessary.
With the patch, you can easily find which part should be moved.
If you are an Emacs user, C-x r k (kill-rectangle) and
C-x r y (yank-rectangle) are useful.
Repeat (3) and (4), if necessary.

Please note that you will lost correspondence between B2EPS.freq file
and B2EPS.displ file, if you move data column only in B2EPS.freq.

Code: Select all

--- abinit-6.6.2/src/77_ddb/sortph.F90  2011-04-03 01:54:26.000000000 +0900
+++ abinit-6.6.2/new-anaddb/src/77_ddb/sortph.F90       2011-05-08 14:57:08.082814939 +0900
@@ -82,6 +82,7 @@
 complex(dpc) ::   transpose_eigvec(3*natom,3*natom)
 real(dp)    ::     abs_similarity(3*natom,3*natom)  !|<displNew|displLast>|
 complex(dpc),allocatable,save :: eigvecLast(:,:)
+character(len=20) :: fmt_phfrq
 
 ! *********************************************************************
 
@@ -132,7 +133,8 @@
 
 
 !  Write frequencies in a file
-write(ufreq,'(d14.6))')  (phfrqNew(j),j=1,3*natom)
+write(fmt_phfrq,'(a,i3,a)') '(', 3*natom, 'd14.6)'
+write(ufreq,fmt_phfrq) (phfrqNew(j),j=1,3*natom)
 
 !  write displacements in a file
 do imode=1,3*natom


Ciao, ciao,