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