[Pw_forum] "nat_todo",could anyone help me?
Martin Andersson
ma at nano.ku.dk
Fri Jun 11 09:43:53 CEST 2010
Hi all,
It is certainly not meaningless to calculate only adsrobate modes for a
molecule adsorbed on a surface. I have in fact tried the same thing with
QE and failed in te same way that the phonons are not computed.
Most vibrational modes in a molecule adsorbed on a surface have a much
higher frequency than the lattice vibrations of the substrate and are thus
essentially decoupled. If one performs frequency calculations for a
molecule adsorbed on a metal cluster with another program, the internal
modes of the molecule are almost converged as soon as the local
adsorbation geometry is correct. I have also tried other plane wave
programs where this is possible, and the difference between including the
surface in the hessian is only marginal. The frustrated translational and
rotational modes are also only slightly shifted.
It is an approximation, as so many other things we do, and convergence can
be checked by successfully including more and more atoms in the hessian.
I would also very much like to be able to limit the hessian in a phonon
calculation (This is a not so subtle hint for the developers...:) )
Cheers,
Martin Andersson,
NanoGeoScience,
University of Copenhagen
> 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/
> _______________________________________________
> Pw_forum mailing list
> Pw_forum at pwscf.org
> http://www.democritos.it/mailman/listinfo/pw_forum
>
More information about the users
mailing list