[Pw_forum] error output in phcg.x

xhongjun xhongjun at mail.ustc.edu.cn
Mon Feb 24 14:24:12 CET 2003


Dear users of PWSCF,
    I use PWSCF 1.2.0.	
    When I modify the run_example in example9 to the following:
...
cat > sih4.nm.in << EOF
normal modes for sih4
  &inputph
   tr2_ph=1.0d-14,
   prefix='sih4',
   amass(1)=28.086,
   amass(2)=1.008,
   tmp_dir='$TMP_DIR',
   epsil=.true.,
   trans=.true., asr=.true.
   deltatau=7.0d-2 ,
   first=12 ,
   last=15 ,
   raman=.true.
  /
  0.0 0.0 0.0
EOF
...
Part of the output reads:
      Raman cross sections are in A^4/amu units

#  mode   [cm-1]     [THz]       IR      Raman
     1   -511.77    -15.3425    0.0000    0.3570
     2   -511.77    -15.3425    0.0000    0.3570
     3   -511.77    -15.3425    0.0000    0.3572
     4      0.00      0.0000    9.8026    1.4523
     5      0.00      0.0000    9.8026    0.0000
     6      0.00      0.0000    9.8026**********
     7    740.87     22.2106    0.0000    0.0000
     8    740.87     22.2106    0.0000    0.0000
     9    903.88     27.0976    5.5553**********
    10    903.88     27.0976    5.5553    0.0000
    11    903.88     27.0976    5.5553**********
    12   2519.42     75.5297   83.0350    0.0000
    13   2519.42     75.5297   83.0350**********
    14   2519.42     75.5297   83.0350    0.0000
    15   2751.06     82.4742    0.0000    0.0000

This error was due to the bug in file raman.f90 from line 694 to line 700.
It can be modified to :
      ...
      integer nu_temp
      ...
      if(nu>=first.and.nu<=last)then
         nu_temp=nu-first+1

!     alpha = (raman_activity(1,1,nu) + raman_activity(2,2,nu) + &
!          raman_activity(3,3,nu))/3.d0
!     beta2 = ( (raman_activity(1,1,nu) - raman_activity(2,2,nu))**2 + &
!          (raman_activity(1,1,nu) - raman_activity(3,3,nu))**2 + &
!          (raman_activity(2,2,nu) - raman_activity(3,3,nu))**2 + 6.d0 * &
!          (raman_activity(1,2,nu)**2 + raman_activity(1,3,nu)**2 + &
!          raman_activity(2,3,nu)**2) )/2.d0
         alpha = (raman_activity(1,1,nu_temp) + 
raman_activity(2,2,nu_temp) + &
              raman_activity(3,3,nu_temp))/3.d0
         beta2 = ( (raman_activity(1,1,nu_temp) - &
              raman_activity(2,2,nu_temp))**2 + &
              (raman_activity(1,1,nu_temp) - &
              raman_activity(3,3,nu_temp))**2 + &
              (raman_activity(2,2,nu_temp) - &
              raman_activity(3,3,nu_temp))**2 + 6.d0 * &
              (raman_activity(1,2,nu_temp)**2 + &
              raman_activity(1,3,nu_temp)**2 + &
              raman_activity(2,3,nu_temp)**2) )/2.d0
      else
         alpha = 0
         beta2 = 0
      endif
      ...




More information about the users mailing list