Author Topic: external basis  (Read 11464 times)

segalemb

  • Newbie
  • *
  • Posts: 5
  • Karma: +0/-0
external basis
« on: May 02, 2012, 01:44:01 PM »
Hello

  How is the easiest way to use a general basis set in Turbomole? How could I define an auxiliary basis for this general basis?

              Thanks,

                     Sergio 

uwe

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 558
  • Karma: +0/-0
Re: external basis
« Reply #1 on: May 02, 2012, 02:31:20 PM »
Hi Sergio,

what exactly is the definition of a 'general basis set'? And which auxiliary basis functions do you need: Those for RI-J (DFT), RI-K (HF) or RI-MP2 ?

Regards,

Uwe

segalemb

  • Newbie
  • *
  • Posts: 5
  • Karma: +0/-0
Re: external basis
« Reply #2 on: May 08, 2012, 06:43:21 PM »
Dear Uwe,

   Thank you for your answer. I would like to use a basis set that are not in TURBOMOLE library. I need a RI-J auxiliary basis set.
                       
          Best regards,

                   Sergio

uwe

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 558
  • Karma: +0/-0
Re: external basis
« Reply #3 on: May 09, 2012, 12:44:32 PM »
Dear Sergio,

first about the basis set itself. The probably easiest way to get new basis sets in Turbomole format is to use the EMSL basis set exchange web site and choose Turbomole as output format.

If you have a local Turbomole installation, just add the downloaded data to the files in $TURBODIR/basen/ to be able to directly use them in define. The same is true if you use the graphical user interface TmoleX: TmoleX will offer all basis sets in the TURBOMOLE/basen directory of your TmoleX installation (the full TmoleX installation comes with a full Turbomole, so do not change the command line installation in that case).

But if you do not want to change the original files of Turbomole, or if you are not allowed to do so, there are two ways to use them in define in such cases:

  • to use the basis set just once or for few calculations, save the basis set in one file (just what you get from EMSL). In define, switch to that basis set with
    b all basis-set-name (or b "fe" basis-set-name for just one element)
    and define will tell you that it is not part of the Turbomole installation and offers several possibilities how to proceed:

      USE ONE OF THE FOLLOWING OPTIONS :
      nick    - REPEAT NICKNAME INPUT
      file    - SWITCH TO ANOTHER FILE
      lib     - SWITCH TO THE STANDARD LIBRARY
      newlib  - SPECIFY NEW STANDARD LIBRARY
      list    - PRINT A SURVEY OF CATALOGUED DATA
      filnam  - PRINT ACTUAL FILENAME
      libnam  - PRINT NAME OF ACTUAL STANDARD LIBRARY
      DEFAULT - NO FURTHER ACTION


    enter file and then (as soon as define asks for it) the name of the file you have saved the basis set to. Unfortunately you will have to do that for every atom, so use copy&paste functionality of your shell. The only good thing here is that, since you have all elements in one file, the name of the file is the same, no matter which element you have.
     
  • to use the basis set several times, it is easier to split the downloaded file into elements. Save each basis set for each element in an own file in a new directory. For example:

    • Create a new directory /home/sergio/newbasis
    • in there, store the basis set(s) for carbon in a file called c, those for hydrogen in a file called h, and so on. Each of the files should look like this (here for carbon):

      $basis
      *
      c basis-set-name
      *
        9 s
         0.8374753E+4  0.83214
        ...
      *
      c other-basis-set-name
      *
        1 s
          0.111111E+01  1.00000
        ...
      *
      $end

      You can simply cut&paste the file from EMSL, just make sure that each file starts with $basis and ends with $end.

    • edit or create a file called ~/.definerc and add there:

      basis=/home/sergio/newbasis

       
    • next time you are in define, enter at the basis set menu:

      ATOMIC ATTRIBUTE DEFINITION MENU  ( #atoms=6     #bas=6     #ecp=0     )

       b    : ASSIGN ATOMIC BASIS SETS
       bb   : b RESTRICTED TO BASIS SET LIBRARY
       bl   : LIST ATOMIC BASIS SETS ASSIGNED
       bm   : MODIFY DEFINITION OF ATOMIC BASIS SET
       bp   : SWITCH BETWEEN 5d/7f AND 6d/10f
       lib  : SELECT BASIS SET LIBRARY
       ecp  : ASSIGN EFFECTIVE CORE POTENTIALS
       ecpb : ecp RESTRICTED TO BASIS SET LIBRARY

      ...

      enter

      lib

      and define will ask you which basis set library you want to use. Choose your own one and after that you can assign the new basis set as usual with

      b all basis-set-name

      as if it would be in the usual Turbomole basis set library.



     

Then about the RI-J auxiliary basis set. define and TmoleX will automatically assign the so called 'universal' auxiliary basis set if they do not find a specially optimized one for the basis set name. This universal set is usually large enough for basis sets up to quadruple-zeta. If you think that this is not the case, just make a few comparisons of RI and non-RI jobs and extend the auxiliary basis set by hand (e.g. by adding some diffuse functions). If you need help with this, just contact the Turbomole support.

Regards,

Uwe