[Pw_forum] "nat_todo",could anyone help me?

Lorenzo Paulatto paulatto at sissa.it
Thu Jun 10 18:07:23 CEST 2010


On Thu, 10 Jun 2010 05:04:04 +0200, 刘华忠 <huazhorg at 163.com> wrote:
> This is the output that I have set "nat_todo" in the input file,from  
> output file we can't find the phonon data at the end of file:

Dear 刘华忠,
first of all you need to have really clear that what you are trying to do  
is in general meaningless and wrong. The vibrational mode of the molecule  
is coupled will all the other modes in the system. I repeat: computing  
only one mode has no meaning.







However, if you really know what you are doing, you can open the file  
PH/dynmatrix.f90 around line 120 you'll find the following block of code:


   DO irr=0,nirr
      IF (done_irr(irr)==0.and..not.ldisp) THEN
         WRITE(stdout,&
         '(/,5x,"Stopping because representation", i5, " is not done")') irr
         CALL close_phq(.TRUE.)
         CALL stop_ph(.TRUE.)
      ENDIF
      IF (done_irr(irr)==0.and.ldisp) THEN
         WRITE(stdout, '(/5x,"Not diagonalizing because representation", &
                          & i5, " is not done")') irr
         RETURN
      ENDIF
   ENDDO

remove it from the code and the partial dynamical matrix will be printed  
to the fildyn file.

if you also want a printout of the (mostly wrong!) frequencies, you have  
to further go down to line ~200:

   !
   !   Diagonalizes the dynamical matrix at q
   !
   IF (all_comp) THEN
      call dyndia (xq, nmodes, nat, ntyp, ityp, pmass, iudyn, dyn, w2)
      IF (search_sym) CALL find_mode_sym (dyn, w2, at, bg, nat, nsymq, sr, &
                                      irt, xq, rtau, pmass, ntyp, ityp, 1)
   END IF

remove the IF condition, so that the code looks like this:

      call dyndia (xq, nmodes, nat, ntyp, ityp, pmass, iudyn, dyn, w2)
      IF (search_sym) CALL find_mode_sym (dyn, w2, at, bg, nat, nsymq, sr, &
                                      irt, xq, rtau, pmass, ntyp, ityp, 1)

then recompile phonon. In doing so you take full responsibility, keep in  
mind that the frequencies you did not compute will most likely be TOTALLY  
WRONG, the ones you did compute may or may NOT be relatively close to the  
"real" ones.

regards

-- 
Lorenzo Paulatto

*** Note: my affiliation has changed! please send future
correspondence to: <Lorenzo.Paulatto at impmc.upmc.fr> ***

post-doc @ IMPMC/UPMC - Université Paris 6
phone: +33 (0)1 44 27 74 89
www:   http://www-int.impmc.upmc.fr/~paulatto/

previously:
phd student @ SISSA  &  DEMOCRITOS (Trieste)
phone: +39 040 3787 511
www:   http://people.sissa.it/~paulatto/



More information about the users mailing list