[QE-users] Questions related to vibrational analysis (for both molecule and adsorbate)--update
Stefano de Gironcoli
degironc at sissa.it
Tue Mar 17 16:15:39 CET 2020
as an addition to my previous reply..
If you decide to diagonalize the restricted nat_todo matrix.. DO NOT
impose ASR on it.
It does not apply to the truncated matrix..
stefano
On 17/03/20 16:08, Stefano de Gironcoli wrote:
>
>
> On 17/03/20 15:46, Paolo Giannozzi wrote:
>> On Mon, Mar 16, 2020 at 1:53 AM Shen, Ziheng <zshen83 at gatech.edu
>> <mailto:zshen83 at gatech.edu>> wrote:
>>
>>
>> 1) May I ask is there any literature that can prove it’s feasible
>> to neglect the small frequencies?
>>
>>
>> no idea, but you can easily verify whether the neglect of almost-zero
>> frequencies has any effect: if you impose the ASR on dynamical
>> matrices, only frequencies of translational modes (and of rotational
>> ones for a molecule) should change, while all other frequencies
>> should stay almost the same.
>>
>> 2) I saw you also replied to others that “nat_todo” does not make
>> any sense, but there were still people claimed that they got some
>> useful results. I read from some books (like the one written by
>> D.Sholl) saying that it’s possible to calculate only frequencies
>> of adsorbates which could save computational resources. Some
>> other ab initial calculation software (like VASP) also have
>> similar functions to calculate adsorbates only. Why is “nat_todo”
>> not working here?
>>
>>
>> Presumably it doesn't work because it is not sufficient to just
>> ignore all surface atoms and compute the dynamical matrix restricted
>> to adsorbate atoms only. I guess there are tricks to approximated
>> phonons for an adsorbate on a surface by computing a "reduced"
>> dynamical matrix for the adsorbate only, in which the information on
>> the adsorbate-surface interactions is "refolded", but I don't know
>> any. This same question has been asked over and over again in the
>> list and nobody (that I remember) ever gave an answer.
>>
>> Paolo
>>
> I think that if you have light atoms adsorbed on some heavier material
> and are looking for the adsorbate related frequencies then you can
> diagonalize the reduced matrix and the frequencies that you obtain
> should be variational upper bounds to the real ones....
>
> just pretend you computed the whole matrix but restrict the atomic
> motion to a subset of atoms... so to the extent the modes are
> localized on the adsorbate with little involvement of the substrate
> you should be ok...
>
> but the low lying frequencies (the ones resonant with the substrate
> modes) will be completely wrong.
>
>
> one could start with nat_todo equal to just the adsorbate and then the
> first shell, then the second one ... and see how things converge ...
>
> another option (better, but would need some ad hoc coding) would be to
> build the dynmat of the nat_todo atoms with interatomic force
> constants for the rest of the cell borrowed from some model (the bulk,
> or the clean surface) ... and again monitor the convergence as you
> include more and more shells of atoms in the nat_todo.
>
>
> stefano
>
>
>
>> Best regards
>> Ziheng Shen
>> PhD student @ Georgia Institute of Technology
>>
>>> On Mar 15, 2020, at 7:00 AM,
>>> users-request at lists.quantum-espresso.org
>>> <mailto:users-request at lists.quantum-espresso.org> wrote:
>>>
>>> On Fri, Mar 13, 2020 at 4:22 AM Shen, Ziheng <zshen83 at gatech.edu
>>> <mailto:zshen83 at gatech.edu>> wrote:
>>>
>>> 1) When doing frequency analysis for molecules, I expected to get
>>> zero or
>>>> extremely small value for the first six frequencies (i.e.
>>>> translational &
>>>> rotational modes). According to suggestions from those previously
>>>> posted
>>>> problems, I tried to apply more restrict convergence thresholds and
>>>> ASR. It
>>>> seems that ASR help a lot to reduce the number. But I still got
>>>> frequencies
>>>> at ~50 level. Is it possible to completely remove those small
>>>> values? Or
>>>> are those values small enough to be neglected?
>>>>
>>>
>>> They are small enough to be neglected. They can be removed by
>>> applying the
>>> ASR to the computed dynamical matrix. See the various kinds of ASR
>>> in codes
>>> "dynmat" and "matdyn", in particular the "zero-dim" one. Note that more
>>> sophisticated ASR than "simple" can be surprising slow.
>>>
>>> 2) My ultimate goal is to perform frequency analysis for adsorbate
>>> so that
>>>> I can both determine transition state structures and apply ZPE
>>>> corrections.
>>>> I tried to use ?nat_todo? to fix the surface atoms and only did
>>>> calculation
>>>> for adsorbate (CH in my case). I got crazy result (~10000 cm-1)
>>>> when using
>>>> large tr2_ph, and got improved results when I decrease the
>>>> threshold. But I
>>>> still got fairly large translational & rotational frequencies like
>>>> below
>>>>
>>>
>>> I don't think you will obtain anything sensible by fixing the
>>> surface atoms
>>> and making the calculation for the adsorbate atoms only
>>>
>>> Paolo
>>>
>>>
>>>>
>>>> freq ( 1) = -25.618746 [THz] = -854.549399 [cm-1]
>>>> freq ( 2) = -7.333895 [THz] = -244.632409 [cm-1]
>>>> freq ( 3) = -6.696884 [THz] = -223.383991 [cm-1]
>>>> freq ( 4) = -6.248674 [THz] = -208.433322 [cm-1]
>>>> freq ( 5) = -4.947831 [THz] = -165.041892 [cm-1]
>>>> freq ( 6) = -2.014699 [THz] = -67.203109 [cm-1]
>>>> freq ( 37) = 0.571458 [THz] = 19.061786 [cm-1]
>>>> freq ( 38) = 5.754719 [THz] = 191.956759 [cm-1]
>>>> freq ( 39) = 16.488930 [THz] = 550.011494 [cm-1]
>>>> freq ( 40) = 16.563150 [THz] = 552.487199 [cm-1]
>>>> freq ( 41) = 18.255969 [THz] = 608.953585 [cm-1]
>>>> freq ( 42) = 56.121326 [THz] = 1872.005923 [cm-1]
>>>>
>>>> What does negative translational frequencies indicate, is it
>>>> possible to
>>>> eliminate these imaginary numbers (like using more restrict threshold)?
>>>> And does my result indicate that my structure is most probably not a
>>>> transition state since all the other frequencies are positive?
>>>>
>>>> I?m attaching the input file of pw.x &ph.x below:
>>>> =========================scf input, structure obtained from
>>>> neb.x========================
>>>> &CONTROL
>>>> Calculation='scf',
>>>> restart_mode='from_scratch',
>>>> prefix = "Ni_ch_ts"
>>>> outdir = "./ts/tmp",
>>>> pseudo_dir = "./pseudo",
>>>> tstress = .true.
>>>> verbosity = 'high'
>>>> tefield = .true.
>>>> dipfield = .true.
>>>> /
>>>> &SYSTEM
>>>> ibrav = 0,
>>>> nat = 14,
>>>> ntyp = 3,
>>>> ecutwfc = 65,
>>>> ecutrho = 650,
>>>> Occupations='smearing',
>>>> smearing='mp',
>>>> degauss=0.01,
>>>> nspin=2,
>>>> starting_magnetization(1)=0.2,
>>>> eamp = 0.0
>>>> edir = 3
>>>> emaxpos = 0.95
>>>> eopreg = 0.05
>>>> /
>>>> &ELECTRONS
>>>> electron_maxstep=250,
>>>> conv_thr = 1.D-10,
>>>> mixing_beta = 0.1,
>>>> /
>>>>
>>>> ATOMIC_SPECIES
>>>> Ni 58.69 ni_pbe_v1.4.uspp.F.UPF
>>>> C 12 C.pbe-n-kjpaw_psl.1.0.0.UPF
>>>> H 1 H.pbe-kjpaw_psl.1.0.0.UPF
>>>> CELL_PARAMETERS { angstrom }
>>>>
>>>> 4.9667177200 0.0000000000 0.0000000000
>>>> 2.4833588600 4.3013037190 0.0000000000
>>>> 0.0000000000 0.0000000000 20.000000000
>>>>
>>>> ATOMIC_POSITIONS { angstrom }
>>>> Ni 0.0000000000 0.0000000000 7.9723500000
>>>> Ni 1.2416800000 2.1506500000 7.9723500000
>>>> Ni 2.4833600000 0.0000000000 7.9723500000
>>>> Ni 3.7250400000 2.1506500000 7.9723500000
>>>> Ni 2.4833600000 1.4337700000 10.0000000000
>>>> Ni 3.7250400000 3.5844200000 10.0000000000
>>>> Ni 4.9667200000 1.4337700000 10.0000000000
>>>> Ni 6.2084000000 3.5844200000 10.0000000000
>>>> Ni 1.2281125212 0.7413038538 12.1124602290
>>>> Ni 2.4833613443 2.9495126082 12.0722664849
>>>> Ni 3.7386101535 0.7413040204 12.1124604793
>>>> Ni 4.9667205066 2.8946406480 11.9560276983
>>>> C 2.4833610952 1.4972020489 13.1166864267
>>>> H 2.4833559794 3.1940064219 13.5465576823
>>>>
>>>> K_POINTS { automatic }
>>>> 6 6 1 0 0 0
>>>>
>>>> =======================================ph.x
>>>> input=======================================
>>>> phonons of CH on metal Ni at Gamma
>>>> &inputph
>>>> tr2_ph=1.0d-16,
>>>> prefix='Ni_ch_ts',
>>>> epsil=.false.,
>>>> amass(1)=58.69,
>>>> amass(2)=12.011,
>>>> amass(3)=1.0,
>>>> alpha_mix(1)=0.1,
>>>> outdir='./tmp/',
>>>> fildyn='CH.dynG',
>>>> nat_todo= 2,
>>>> /
>>>> 0.0 0.0 0.0
>>>> 13 14
>>>>
>>>>
>>>> Thanks in advance for anyone that could give suggestions to me!
>>>>
>>>> Best regards
>>>> Ziheng Shen
>>>> PhD student @ Georgia Institute of Technology
>>
>> _______________________________________________
>> Quantum ESPRESSO is supported by MaX
>> (www.max-centre.eu/quantum-espresso
>> <http://www.max-centre.eu/quantum-espresso>)
>> users mailing list users at lists.quantum-espresso.org
>> <mailto:users at lists.quantum-espresso.org>
>> https://lists.quantum-espresso.org/mailman/listinfo/users
>>
>>
>>
>> --
>> Paolo Giannozzi, Dip. Scienze Matematiche Informatiche e Fisiche,
>> Univ. Udine, via delle Scienze 208, 33100 Udine, Italy
>> Phone +39-0432-558216, fax +39-0432-558222
>>
>>
>> _______________________________________________
>> Quantum ESPRESSO is supported by MaX (www.max-centre.eu/quantum-espresso)
>> users mailing listusers at lists.quantum-espresso.org
>> https://lists.quantum-espresso.org/mailman/listinfo/users
>
> _______________________________________________
> Quantum ESPRESSO is supported by MaX (www.max-centre.eu/quantum-espresso)
> users mailing list users at lists.quantum-espresso.org
> https://lists.quantum-espresso.org/mailman/listinfo/users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quantum-espresso.org/pipermail/users/attachments/20200317/b7622105/attachment.html>
More information about the users
mailing list