Skip to Content.
Sympa Menu

forum - About eigendisplacement

forum@abinit.org

Subject: The ABINIT Users Mailing List ( CLOSED )

List archive

About eigendisplacement


Chronological Thread 
  • From: "Lee Geunsik" <maxgeun@postech.ac.kr>
  • To: <forum@abinit.org>
  • Subject: About eigendisplacement
  • Date: Fri, 23 Jul 2004 16:10:11 +0900

Dear Abinitors,

I have one interesting problem in anaddb.
Eigenvectors are largely dependent on small deviations from zero for
dynamical matrix elements.
The phonon mode is q=(0,0,0) of silicon with diamond structure.
Before diagonalizing dynamical matrix, I printed dynamical matrix.
Following is the relevant part in 'phfrq3.f'.

do i2=1,3*natom
do i1=1,i2
! if (abs(displ(1+2*(i1-1)+2*(i2-1)*3*natom)).lt.1.0d-20)
displ(1+2*(i1-1)+2*(i2-1)*3*natom)=0.d0
matrx(1,ii)=displ(1+2*(i1-1)+2*(i2-1)*3*natom)
matrx(2,ii)=displ(2+2*(i1-1)+2*(i2-1)*3*natom)
print*,i1,i2,matrx(1,ii),matrx(2,ii)
ii=ii+1
enddo
enddo
allocate(zhpev1(2,2*3*natom-1),zhpev2(3*3*natom-2))
#if defined T3E
call CHPEV ('V','U',3*natom,matrx,eigval,eigvec,3*natom,zhpev1,&
& zhpev2,ier)
#else
call ZHPEV ('V','U',3*natom,matrx,eigval,eigvec,3*natom,zhpev1,&
& zhpev2,ier)
#endif

The martix is

1 1 5.675772985184775E-06 0.0
1 2 5.814862374116712E-22 0.0
2 2 5.675772985184775E-06 0.0
1 3 -1.567325801096383E-38 0.0
2 3 -5.814862374116711E-22 0.0
3 3 5.675772985184775E-06 0.0
1 4 -5.675772985178078E-06 0.0
2 4 -5.814862374109848E-22 0.0
3 4 1.567325801096383E-38 0.0
4 4 5.675772985184775E-06 0.0
1 5 -5.814862374109848E-22 0.0
2 5 -5.675772985178078E-06 0.0
3 5 5.814862374109847E-22 0.0
4 5 5.814862374116712E-22 0.0
5 5 5.675772985184775E-06 0.0
1 6 0.0 0.0
2 6 5.814862374109847E-22 0.0
3 6 -5.675772985178078E-06 0.0
4 6 -1.567325801096383E-38 0.0
5 6 -5.814862374116711E-22 0.0
6 6 5.675772985184775E-06 0.0

and eigendisplacements are

Mode number 1 Energy 0.000000E+00
Attention : low frequency mode.
(Could be unstable or acoustic mode)
1 2.62290068E-04 2.83420899E-03 -1.29023688E-03
0.00000000E+00 0.00000000E+00 0.00000000E+00
2 2.62290068E-04 2.83420899E-03 -1.29023688E-03
0.00000000E+00 0.00000000E+00 0.00000000E+00
Mode number 2 Energy 0.000000E+00
Attention : low frequency mode.
(Could be unstable or acoustic mode)
1 1.48329843E-04 1.28196511E-03 2.84619248E-03
0.00000000E+00 0.00000000E+00 0.00000000E+00
2 1.48329843E-04 1.28196511E-03 2.84619248E-03
0.00000000E+00 0.00000000E+00 0.00000000E+00
Mode number 3 Energy 0.000000E+00
Attention : low frequency mode.
(Could be unstable or acoustic mode)
1 3.11053855E-03 -3.00121197E-04 -2.69274801E-05
0.00000000E+00 0.00000000E+00 0.00000000E+00
2 3.11053855E-03 -3.00121197E-04 -2.69274801E-05
0.00000000E+00 0.00000000E+00 0.00000000E+00
Mode number 4 Energy 3.369206E-03
1 3.12509966E-03 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00
2 -3.12509966E-03 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00
Mode number 5 Energy 3.369206E-03
1 0.00000000E+00 3.12509966E-03 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00
2 0.00000000E+00 -3.12509966E-03 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00
Mode number 6 Energy 3.369206E-03
1 0.00000000E+00 0.00000000E+00 3.12509966E-03
0.00000000E+00 0.00000000E+00 0.00000000E+00
2 0.00000000E+00 0.00000000E+00 -3.12509966E-03
0.00000000E+00 0.00000000E+00 0.00000000E+00

These do not look consistent with irreps of vibrations for accoustic modes.

But if I set very small values as exact zero(commented line in `phfrq3.f`), I
get correct eigendisplacements.
Following is the results.

Dynamical matrix:
1 1 5.675772985184775E-06 0.0
1 2 0.0 0.0
2 2 5.675772985184775E-06 0.0
1 3 0.0 0.0
2 3 0.0 0.0
3 3 5.675772985184775E-06 0.0
1 4 -5.675772985178078E-06 0.0
2 4 0.0 0.0
3 4 0.0 0.0
4 4 5.675772985184775E-06 0.0
1 5 0.0 0.0
2 5 -5.675772985178078E-06 0.0
3 5 0.0 0.0
4 5 0.0 0.0
5 5 5.675772985184775E-06 0.0
1 6 0.0 0.0
2 6 0.0 0.0
3 6 -5.675772985178078E-06 0.0
4 6 0.0 0.0
5 6 0.0 0.0
6 6 5.675772985184775E-06 0.0

Eigendisplacements:
Mode number 1 Energy 0.000000E+00
Attention : low frequency mode.
(Could be unstable or acoustic mode)
1 0.00000000E+00 3.12509966E-03 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00
2 0.00000000E+00 3.12509966E-03 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00
Mode number 2 Energy 0.000000E+00
Attention : low frequency mode.
(Could be unstable or acoustic mode)
1 3.12509966E-03 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00
2 3.12509966E-03 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00
Mode number 3 Energy 0.000000E+00
Attention : low frequency mode.
(Could be unstable or acoustic mode)
1 0.00000000E+00 0.00000000E+00 3.12509966E-03
0.00000000E+00 0.00000000E+00 0.00000000E+00
2 0.00000000E+00 0.00000000E+00 3.12509966E-03
0.00000000E+00 0.00000000E+00 0.00000000E+00
Mode number 4 Energy 3.369206E-03
1 0.00000000E+00 3.12509966E-03 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00
2 0.00000000E+00 -3.12509966E-03 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00
Mode number 5 Energy 3.369206E-03
1 0.00000000E+00 0.00000000E+00 3.12509966E-03
0.00000000E+00 0.00000000E+00 0.00000000E+00
2 0.00000000E+00 0.00000000E+00 -3.12509966E-03
0.00000000E+00 0.00000000E+00 0.00000000E+00
Mode number 6 Energy 3.369206E-03
1 3.12509966E-03 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00
2 -3.12509966E-03 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00

So my questions are

(i) Does this problem arise only for my computer system? For test, I attach
necessary input files for anaddb.

(ii) Is it safe to set very small values as zero?

Thanks a lot
Geunsik.

Attachment: input.tar.gz
Description: GNU Zip compressed data



  • About eigendisplacement, Lee Geunsik, 07/23/2004

Archive powered by MHonArc 2.6.16.

Top of Page