Getting started with DIRAC¶
You have installed and tested DIRAC and now it’s time to run your first DIRAC calculation!
You have two possibilities to run DIRAC. The traditional uses two input files:
the *.inp
file,
which determines what should be calculated, together with the *.mol
file,
which defines the molecular geometry and the basis set. Alternatively
you can use the *.inp
file, file together with a geometry file (*.xyz
file,). In this case
the *.xyz
file provides the nuclear coordinates and the *.inp
file contains in addition
to the job description also the basis set information (see **MOLECULE).
DIRAC writes its output to a text file, named after the molecule and input file
names. If this file already exists, for example from a previous calculation,
the old file is renamed to make place for the new output. The python script
pam
that launches the main DIRAC executable also writes some general
information to standard output.
Dirac-Coulomb SCF¶
Let’s try it out and run our first DIRAC calculation with the following minimal
input (hf.inp
) to calculate the Dirac-Coulomb Hartree-Fock ground state
(with the default simple Coulombic correction to approximate the contribution
from (SS|SS) integrals:
**DIRAC
.WAVE FUNCTION
**WAVE FUNCTION
.SCF
**MOLECULE
*BASIS
.DEFAULT
cc-pVDZ
*END OF INPUT
together with the following example geometry file (methanol.xyz
):
6
my first DIRAC calculation # anything can be in this line
C 0.000000000000 0.138569980000 0.355570700000
O 0.000000000000 0.187935770000 -1.074466460000
H 0.882876920000 -0.383123830000 0.697839450000
H -0.882876940000 -0.383123830000 0.697839450000
H 0.000000000000 1.145042790000 0.750208830000
H 0.000000000000 -0.705300580000 -1.426986340000
Now start the calculation by executing:
pam --mol=methanol.xyz --inp=hf.inp
If everything works fine the results of the calculation will be written
to hf_methanol.out
. In addition a HDF5
checkpoint file hf_methanol.h5
will be created (see The CHECKPOINT.h5 file for detailed information), To see the actual content of the file you may execute:
h5dump -n hf_methanol.h5
Closed shell CCSD¶
Running CCSD(T) calculations is straightforward if the ground state of the molecule can be well-described by a single closed shell determinant. This is the case for many molecules.
The input requires the
specification of a basis set (TZ or better is recommended, but for
this example we will take DZ to reduce the run time). We take the inter
halogen molecule ClF as an example and use the default cut-offs for
correlating electrons (include all valence electrons with energy above
-10 hartree) and truncation of virtual space (delete virtuals above 20
hartree). The geometry file (clf.xyz
) is very simple and only requires
to specify the coordinates. The program will then identify the
symmetry as \(C_{\infty v}\):
2
ClF molecule at equilibrium distance taken from NIST
Cl 0.0 0.0 0.0
F 0.0 0.0 1.628
We specify the wave function type (SCF, followed by RELCCSD) and basis
set in the input file (cc.inp
) to calculate the CCSD(T) energy with
the Dirac-Coulomb Hamiltonian again with the contribution from (SS|SS)
integrals approximated by a simple Coulombic correction:
**DIRAC
.WAVE FUNCTION
**WAVE FUNCTION
.SCF
.RELCCSD
**MOLECULE
*BASIS
.DEFAULT
cc-pVDZ
*END OF INPUT
Now start the calculation by executing:
pam --mol=clf.xyz --inp=cc.inp
If everything works fine the results of the calculation will be written
to cc_clf.out
. In addition an HDF5 checkpoint file cc_clf.h5
will be
created, as mentioned above.
You can suppress having the checkpoint file copied back to your home directory using:
pam --noh5
Cheap relativistic calculations¶
Relativistic calculations are more expensive than non-relativistic ones, but this is accentuated by the fact that relativistic effects are associated with heavy elements, which also implies many electrons and increased computational cost. However, as explained in [Dubillard2006], we can induce strong relativistic effects in molecules of light atoms by playing with the speed of light. The starting point is the observation that a diagnostic of relativistic effects is provided by the Lorentz factor
where \(v\) is the speed of the particle and \(c\) is the speed of light. In atomic units we have:
* The speed of light : 137.0359992
as shown in the DIRAC output. Scalar relativistic effects are associated with the high speeds of electrons in the vicinty of heavy nuclei. In fact, for a one-electron atom the average speed of the 1s electron in atomic units is \(v_{1s}=Z\). This explains why relativistic effects become so pronounced for heavy atoms; what counts is the nuclear charge, not the atomic mass. On the other hand, we see that relativistic effects are sensitive to the ratio \((v/c)\), so one way to accentuate relativistic effects is to reduce the speed of light.
Let us look at an example of this. We shall look at the geometry of the water molecule as a
function of the speed of light. The molecular geometry is given by h2o.xyz
3
anything can be in this line
O 0.00000 0.00000 0.11779
H 0.00000 0.75545 -0.47116
H 0.00000 -0.75545 -0.47116
For a standard geometry optimization we use the input file geo.inp
**DIRAC
.OPTIMIZE
*OPTIMIZE
.BAKER
**WAVE FUNCTIONS
.SCF
*SCF
.CLOSED SHELL
10
**MOLECULE
*BASIS
.DEFAULT
dyall.2zp
*END OF
We run DIRAC using
pam --inp=geo --mol=h2o.xyz
From the DIRAC output we find that the initial geometry is:
Bond distances (angstroms):
---------------------------
atom 1 atom 2 distance
------ ------ --------
bond distance: H 1 O 0.957897
bond distance: H 2 O 0.957897
Bond angles (degrees):
----------------------
atom 1 atom 2 atom 3 angle
------ ------ ------ -----
bond angle: H 2 O H 1 104.120
whereas at the end of optimization we have:
Bond distances (angstroms):
---------------------------
atom 1 atom 2 distance
------ ------ --------
bond distance: H 1 O 0.942905
bond distance: H 2 O 0.942905
Bond angles (degrees):
----------------------
atom 1 atom 2 atom 3 angle
------ ------ ------ -----
bond angle: H 2 O H 1 105.667
Now let’s play. We now do a geometry optimization using the file geo_ultra.inp
**DIRAC
.OPTIMIZE
*OPTIMIZE
.BAKER
**GENERAL
.CVALUE
10.0
**WAVE FUNCTIONS
.SCF
*SCF
.CLOSED SHELL
10
**MOLECULE
*BASIS
.DEFAULT
dyall.2zp
*END OF
where the speed of light is reduced all the way down to 10 \(a_0 E_h/\hbar\). In the DIRAC output the final geometry is now:
Bond distances (angstroms):
---------------------------
atom 1 atom 2 distance
------ ------ --------
bond distance: H 1 O 1.066701
bond distance: H 2 O 1.066701
Bond angles (degrees):
----------------------
atom 1 atom 2 atom 3 angle
------ ------ ------ -----
bond angle: H 2 O H 1 89.505
That is quite a change ! The reader is encouraged to play with other speeds of light. It is also possible to turn off spin-orbit interaction by setting .SPINFREE.