Author Topic: Non default atomic masses for vibrational frequencies  (Read 56346 times)

arndf

  • Newbie
  • *
  • Posts: 4
  • Karma: +0/-0
Non default atomic masses for vibrational frequencies
« on: June 26, 2025, 11:50:07 AM »
Dear Turbomole-Community

I want to calculate an isotope marked IR spectrum of my molecule with RI-wLH23tdE-D4/def2-SVP.
My molecule has 91 atoms and I want to change the masses of H75, H86, H90 and H91 to the mass of deuterium.
I have tried to define the masses in define in the atomic attribute definition menu via the keywords m or iso, but in my hands I could not change the masses as intended.
I also looked into the $isosub keyword. With this keyword I get a full analysis of the influence of the new masses on all modes, so I get a lot of data but in the vibspectrum file there is still the spectrum with the default masses.

Can someone please explain me, how exactly I can change the masses of those atoms so that I can calculate the isotope marked vibrational frequencies.


uwe

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 622
  • Karma: +0/-0
Re: Non default atomic masses for vibrational frequencies
« Reply #1 on: June 28, 2025, 07:03:45 PM »
There is a way to get the same vibrational frequencies as from the $isosub in the vibspectrum file without re-doing the full calculation.
  • Best make a copy of your job directory before staring to modify the input

  • Add masses to the control file for the atoms you want to change the isotope of.
    I'd recommend to simply edit the control file rather than calling define. The next two points below describe how to do that.

  • Open control and go to the $atoms section. Depending on which Turbomole version you are using (older or newer and if you used the old or the new format of $atoms), you have either a list of elements and atom numbers - or just the basis set definition.

    • old format:
      $atoms
        c  1-9,12-14,17-18,20,22-23,27,29-30,32,34-41,44,46-52,54-61                   \
         basis =c def2-SVP                                                          \
         jbas  =c def2-SVP
        [etc.]
        h  62-110                                                                      \
         basis =h def2-SVP                                                          \
         jbas  =h def2-SVP


      or
    • new format:
      $atoms
        basis = def2-SVP


  • Now add the mass for your atoms, here shown for the new input format:
    $atoms
      basis = def2-SVP
      h 75,86,90-91
        mass = 2.014


    For the older format, but using a not too old Turbomole version (say older than V7.5 as the new format was introduced in the 7.5 release) you can also just append the last two lines to your $atoms section.

    For a very old Turbomole version you need to copy and paste all lines of the hydrogen definition, add mass line to one of them and adjust the atom numbers (make sure not to miss an atom or to have an atom number twice).

  • Then call aoforce in the 'analysis only' mode. If you are using Turbomole not older than version 7.6, just call:

    aoforce -faonly &> faonly.out

    That will read in the Hessian and just redo the final analysis to get the vibrational frequencies, etc. - and it will write out a new vibspectrum file. Will take just a few seconds at most.

    Again, for very old Turbomole versions you need to modify the $drvopt keyword and add a line 'frequency analysis only', see the documentation and search for $drvopt.


arndf

  • Newbie
  • *
  • Posts: 4
  • Karma: +0/-0
Re: Non default atomic masses for vibrational frequencies
« Reply #2 on: June 30, 2025, 12:51:38 PM »
Thank you very much for this detailed explanation  :)

I tried it with Version 7.9 and it worked as intended.