Three files are needed in order to run GIMIC:
XDENSfile containing the effective one-particle density, and the magnetically perturbed densities in AO basis;
MOLfile with information on molecular geometry and basis sets;
- The GIMIC input file. The default name is
gimic.inp, however, any other file name is acceptable.
MOL files are obtained externally using other quantum
chemistry programs which support an interface to gimic. Details are
Before doing the actual calculation with GIMIC, it might be a good
idea to check if the grid is correctly defined. The
grid.xyz file which can be examined in any molecular
$ gimic --dryrun
The calculation with GIMIC is started by:
$ gimic [gimic.inp] > gimic.out
The square brackets mean that it is not necessary to give the name
of the input file if it is called
gimic.inp since it is recognised
Interfaces to GIMIC¶
The following sections explains how to obtain the
XDENS and the
As of TURBOMOLE 5.10, the GIMIC interface is part of the
official distribution. To produce the necessary files to run GIMIC, you
first need to optimize the wavefunction/density of the molecule, before
mpshift program which produces the perturbed density matrices.
Before you run
mpshift, you need to edit the
control file and add
$gimic keyword. When the calculation has finished, TURBOMOLE
writes two files called
CAODENS (AO density data) and
XCAODENS (perturbed density data). In case either of them is
mpshift calculation has not converged. It is necessary to add the
$csmaxiter N keyword to the control file, where
N is larger than
the default value of 30. Afterwards, run the
turbo2gimic.py script (distributed
with GIMIC) in the same directory to produce the
$ turbo2gimic.py > MOL
The scripts/input needed can be found in
Written by C. Kumar, University of Oslo, email@example.com.
.GIMIC needs to be added in
Note that open-shell calculations are not supported.
Run in the same directory:
The nuclear shielding calculation on Gaussian needs to be performed by
including the keyword
IOp(10/33=2) in order to print the perturbed density matrices
in the output file. Explicitly specifying
NMR=GIAO is not necessary since
using GIAO’s is the default in G09. The keyword
needed in order to prevent Gaussian from transforming the generalized
contraction basis sets. It ensures that the results will match with the ones
obtained in Turbomole.
The general structure of the input file looks like this:
%chk=file.chk #P <method>/<basis> nmr pop=regular Int=NoBasisTransform IOp(10/33=2) <empty line> title <empty line> <charge> <multiplicity> <coordinates> <empty line>
In the above, the lines with the
> symbols are supposed to be modified. These bracket symbols are not part of the actual input file.
If the basis set needs to be specified explicitly, the input file is structured as follows:
%chk=file.chk #P <method> nmr pop=regular Int=NoBasisTransform IOp(10/33=2) <empty line> title <empty line> <charge> <multiplicity> <coordinates> <empty line> <basis set specification> <****> <empty line>
If ECPs are needed, then the method specification line should like as in the example below.
#P TPSSTPSS/GenEcp nmr pop=regular Int=NoBasisTransform IOp(10/33=2)
It seems there is a small difference between the keywords
Symmetry=None. The latter should only be used if
generates an error.
The scripts/input needed can be found in
This script has been provided by Vincent Liegeois from the University of Namur, firstname.lastname@example.org.
The tool consists of two parts:
Gaussian2gimic.pywhich is the main script
BasisSet.pywhich is a module file containing the functions to read the basis set and to do the transformations from Spherical to Cartesian. This file just needs to be put in the same directory as
Gaussian2gimic.py uses optionparser to sets its different options.
Gaussian2gimic.py -h will give you the full description.
There are two options:
-t, however the latter is optional.
The command which runs the script on a formatted checkpoint file from GAUSSIAN is the following:
Gaussian2gimic.py -i file.fchk
It will produce the
The extra option
-t accept the argument of the
XDENS file, which matches the output of the interface to TURBOMOLE obtained with
Gaussian2gimic.py -i file.fchk -t XDENS_turbo
In addition to creating
MOL files, the script prints to the terminal a comparison with the values obtained from GAUSSIAN and from TURBOMOLE.
This is intended as a way to make sure that both numbers are similar.
For example, for a calculation on paranitroaniline with HF/6-311G(2df,2pd), the maximum error on the density matrix is 5.8E-5 while the maximum errors on the perturbed density matrices are 2.1e-2, 2.6e-2, 5.0e-2.
For the same molecule but with HF/cc-pVTZ, the maximum errors are: 4.8e-5, 2.5e-2, 5.4e-2, 7.8e-2.
MOL file produced by
Gaussian2gimic is slightly different from the one obtained by turbo2gimic.`
turbo2gimic.py gives the basis set exactly as obtained on https://bse.pnl.gov/bse/portal with “optimized general contractions” checked.
However, the coefficients are not normalized with “optimized general contractions” checked. They are normalized when “optimized general contractions” is unchecked.
For example, the first atomic orbital in the cc-pVTZ basis set for carbon with “optimized general contractions” checked consist of a contraction of 8 GTOs, while there are 10 GTOs in the contraction if “optimized general contractions” is unchecked.
The coefficients given in the website and in
turbo2gimic.py are optimized for the contraction of the 10 GTOs rather than 8.
Gaussian and therefore
Gaussian2gimic.py give the coefficients that are normalized for the contraction of the 8 GTOs.
Example input for benzene:
%Chk=benzeneg09.chk %mem=2000mb #p B3LYP/Def2TZVP SCF=Tight NMR=GIAO Int=NoBasisTransform IOp(10/33=2) Benzene Gaussian NMR example 0 1 C 1.2049777911 0.6956942520 0.0000000000 C 1.2049777911 -0.6956942520 0.0000000000 C 0.0000000000 -1.3913885041 0.0000000000 C -1.2049777911 -0.6956942520 0.0000000000 C -1.2049777911 0.6956942520 0.0000000000 C 0.0000000000 1.3913885041 0.0000000000 H 2.1430161769 1.2372709666 0.0000000000 H 2.1430161769 -1.2372709666 0.0000000000 H 0.0000000000 -2.4745419332 0.0000000000 H -2.1430161769 -1.2372709666 0.0000000000 H -2.1430161769 1.2372709666 0.0000000000 H 0.0000000000 2.4745419332 0.0000000000
Running Gaussian creates a file
You need to convert this
*.chk file to a formatted
$ formchk file.chk file.fchk
Then you can proceed as described above and generate the
$ Gaussian2gimic.py --input=benzeneg09.fchk
Note that for open-shell cases you need to add “gfprint pop=regular iop(10/33=2)”
and use the Gaussian
*.log file instead of the
Example input for the triplet dication of benzene:
%LindaWorkers=cib26-2 %NProcShared=20 %Chk=benzeneg09.chk %mem=2000mb #p POP=FULL GFPrint nosymmetry B3LYP/DEF2TZVP SCF=Tight NMR IOp(10/33=2) Benzene Gaussian NMR example triplet dication 2 3 C 1.2049777911 0.6956942520 0.0000000000 C 1.2049777911 -0.6956942520 0.0000000000 C 0.0000000000 -1.3913885041 0.0000000000 C -1.2049777911 -0.6956942520 0.0000000000 C -1.2049777911 0.6956942520 0.0000000000 C 0.0000000000 1.3913885041 0.0000000000 H 2.1430161769 1.2372709666 0.0000000000 H 2.1430161769 -1.2372709666 0.0000000000 H 0.0000000000 -2.4745419332 0.0000000000 H -2.1430161769 -1.2372709666 0.0000000000 H -2.1430161769 1.2372709666 0.0000000000 H 0.0000000000 2.4745419332 0.0000000000
When the calculation completes, run in the terminal:
mv file.out > file.log Gaussian2gimic.py --input=file.log
For the present example, a current strength susceptibility of 8.4 nA/T was calculated.
Running QChem and FERMION++¶
The scripts/input needed can be found in
Written by J. Kussmann, University of Munich, email@example.com.
Convert Output of Q-Chemor FermiONs++ for GIMIC (TURBOMOLE format)
For a list of options, type:
USAGE: qc2tm -t <qchem or fermions> -qcout <output-file> -scr <scratch-directory> -s2c (opt.) -openshell (opt.)
Do a normal NMR calculation and then run the
distributed with GIMIC to make the
XDENS file. Then run the
script to produce the
Using ACES2, the special driver script ’
xgimic2.sh’ must be used
to run the NMR shielding calculation. Modify the script to suit your
needs (and set the paths correctly). If the NMR calculation is done with
symmetry, the MOL file must be converted to C1 symmetry using the script
MOL2mol.sh, prior to running GIMIC.
CO2 O 2.14516685791074 0.00000000000000 0.00000000000000 C 0.00000000000622 0.00000000000000 0.00000000000000 O -2.14516685791393 0.00000000000000 0.00000000000000 *ACES2(CALC=CCSD,BASIS=tzp,UNITS=BOHR COORD=CARTESIAN MEMORY=250000000 REFERENCE=RHF SYMMETRY=ON PROPERTY=NMR MULTIPLICITY=1 CHARGE=0 SCF_MAXCYC=200,CC_MAXCYC=150,CC_EXPORDER=40 CC_CONV=10,SCF_CONV=10,LINEQ_CONV=10,CONV=10 LINEQ_EXPAN=30)
Run ACES2 via
xgimic2.sh to produce the
$ xgimic2.sh --cc >aces2.out &
Convert the symmetry-adapted
MOL file to C1 symmetry:
MOL file is now called