mirror of
https://github.com/nwchemgit/nwchem.git
synced 2026-07-27 05:35:37 -04:00
automatically be expanded to include useful information about the checkin (including the file's revision number). With the switch over to SVN this was lost because SVN only does this expansion if you explicitly ask for it (for every single file). I have added a script to the contrib directory that sets the appropriate property to get SVN to do this expansion. This script will make it easy to do this every time new source files are added. It is called svn_expand_Id, the script contains some comments that explain the issue and how it addresses this. This checkin sets this property for a subset of the relevant files (trying to commit all files at once failed with svn crashing). In future the script will only affect those files for which the property was not set before.
339 lines
15 KiB
TeX
339 lines
15 KiB
TeX
%
|
|
% $Id$
|
|
%
|
|
\label{sec:rel}
|
|
All methods which include treatment of relativistic effects are ultimately
|
|
based on the Dirac equation, which has a four component wave function. The
|
|
solutions to the Dirac equation describe both positrons (the ``negative
|
|
energy'' states) and electrons (the ``positive energy'' states), as well as
|
|
both spin orientations, hence the four components. The wave function may be
|
|
broken down into two-component functions traditionally known as the large
|
|
and small components; these may further be broken down into the spin
|
|
components.
|
|
|
|
The implementation of approximate all-electron relativistic methods in
|
|
quantum chemical codes requires the removal of the negative energy states
|
|
and the factoring out of the spin-free terms. Both of these may be achieved
|
|
using a transformation of the Dirac Hamiltonian known in general as a
|
|
Foldy-Wouthuysen transformation. Unfortunately this transformation cannot be
|
|
represented in closed form for a general potential, and must be
|
|
approximated. One popular approach is that originally formulated by Douglas
|
|
and Kroll\footnote{M.~Douglas and N.~M.~Kroll, Ann. Phys. (N.Y.) {\bf 82},
|
|
89 (1974)} and developed by Hess\footnote{B.A.~Hess, Phys.~Rev.~A~{\bf 32},
|
|
756 (1985); {\bf 33}, 3742 (1986)}. This approach decouples the positive and
|
|
negative energy parts to second order in the external potential (and also
|
|
fourth order in the fine structure constant, $\alpha$). Other approaches include
|
|
the Zeroth Order Regular Approximation (ZORA)\footnote{C.~Chang, M.~Pelissier,
|
|
M.~Durand, Physica Scripta ~{\bf 34}, 294 (1986); E.~van Lenthe, ~{\it The ZORA Equation},
|
|
doctoral thesis, Vrije Universiteit, Amsterdam (1996); S.~Faas, J.G.~Snijders,
|
|
J.H.~van Lenthe, E.~van Lenthe, and E.J.~Baerends, Chem.~Phys.~ Lett.~{\bf 246}, 632 (1995).}
|
|
and modification of the Dirac equation by Dyall\footnote{K.~G.~Dyall,
|
|
J.~Chem.~Phys.~{\bf 100}, 2118 (1994)}, and involves an exact FW
|
|
transformation on the atomic basis set level\footnote{K.~G.~Dyall,
|
|
J.~Chem.~Phys.~{\bf 106}, 9618 (1997); K.~G.~Dyall and T.~Enevoldsen,
|
|
J.~Chem.~Phys.~{\bf 111}, 10000 (1999).}.
|
|
|
|
Since these approximations only modify the integrals, they can in principle
|
|
be used at all levels of theory. At present the Douglas-Kroll and ZORA
|
|
implementations can be used at all levels of theory whereas
|
|
Dyall's approach is currently available at the Hartree-Fock level.
|
|
The derivatives have been implemented, allowing both methods to be used in
|
|
geometry optimizations and frequency calculations.
|
|
|
|
The \verb+RELATIVISTIC+ directive provides input for the implemented relativistic
|
|
approximations and is a compound directive that encloses additional directives
|
|
specific to the approximations:
|
|
\begin{verbatim}
|
|
RELATIVISTIC
|
|
[DOUGLAS-KROLL [<string (ON||OFF) default ON> \
|
|
<string (FPP||DKH||DKFULL||DK3||DK3FULL) default DKH>] ||
|
|
ZORA [ (ON || OFF) default ON ] ||
|
|
DYALL-MOD-DIRAC [ (ON || OFF) default ON ]
|
|
[ (NESC1E || NESC2E) default NESC1E ] ]
|
|
[CLIGHT <real clight default 137.0359895>]
|
|
END
|
|
\end{verbatim}
|
|
|
|
Only one of the methods may be chosen at a time. If both methods are found
|
|
to be on in the input block, NWChem will stop and print an error message.
|
|
There is one general option for both methods, the definition of the speed
|
|
of light in atomic units:
|
|
|
|
\begin{verbatim}
|
|
CLIGHT <real clight default 137.0359895>
|
|
\end{verbatim}
|
|
|
|
The following sections describe the optional sub-directives that
|
|
can be specified within the \verb+RELATIVISTIC+ block.
|
|
|
|
\section{Douglas-Kroll approximation}
|
|
\label{sec:douglas-kroll}
|
|
|
|
The spin-free and spin-orbit one-electron Douglas-Kroll
|
|
approximation have been implemented. The use of relativistic effects
|
|
from this Douglas-Kroll approximation can be invoked by specifying:
|
|
|
|
\begin{verbatim}
|
|
DOUGLAS-KROLL [<string (ON||OFF) default ON> \
|
|
<string (FPP||DKH||DKFULL|DK3|DK3FULL) default DKH>]
|
|
\end{verbatim}
|
|
|
|
The \verb+ON|OFF+ string is used to turn on or off the
|
|
Douglas-Kroll approximation. By default, if the \verb+DOUGLAS-KROLL+
|
|
keyword is found, the approximation will be used in the calculation.
|
|
If the user wishes to calculate a non-relativistic quantity after turning
|
|
on Douglas-Kroll, the user will need to define a new \verb+RELATIVISTIC+
|
|
block and turn the approximation \verb+OFF+. The user could also simply
|
|
put a blank \verb+RELATIVISTIC+ block in the input file and all options
|
|
will be turned off.
|
|
|
|
The \verb+FPP+ is the approximation based on free-particle projection
|
|
operators\footnote{B.A.~Hess, Phys.~Rev.~A~{\bf 32}, 756 (1985)} whereas the
|
|
\verb+DKH+ and \verb+DKFULL+ approximations are based on external-field
|
|
projection operators\footnote{B.A.~Hess, Phys.~Rev.~A~{\bf 33}, 3742 (1986)}.
|
|
The latter two are considerably better approximations than the former. \verb+DKH+
|
|
is the Douglas-Kroll-Hess approach and is the approach that is generally
|
|
implemented in quantum chemistry codes. \verb+DKFULL+ includes certain
|
|
cross-product integral terms ignored in the \verb+DKH+ approach (see for example
|
|
H\"{a}berlen and R\"{o}sch\footnote{O.D.~H\"{a}berlen, N.~R\"{o}sch,
|
|
Chem.~Phys.~Lett.~{\bf 199}, 491 (1992)}). The third-order Douglas-Kroll
|
|
approximation has been implemented by T. Nakajima and K. Hirao\footnote{T. Nakajima
|
|
and K. Hirao, Chem.~Phys.~Lett.~{\bf 329}, 5111 (2000); T. Nakajima and K. Hirao,
|
|
J.~Chem.~Phys.~{\bf 113}, 7786 (2000)}. This approximation can be called using
|
|
\verb+DK3+ (DK3 without cross-product integral terms) or \verb+DK3FULL+ (DK3 with
|
|
cross-product integral terms).
|
|
|
|
The contracted basis sets used in the calculations should reflect the relativistic
|
|
effects, i.e. one should use contracted basis sets which were generated using the
|
|
Douglas-Kroll Hamiltonian. Basis sets that were contracted using the
|
|
non-relativistic (Sch\"{o}dinger) Hamiltonian WILL PRODUCE ERRONEOUS RESULTS for
|
|
elements beyond the first row. See appendix \ref{sec:knownbasis} for available
|
|
basis sets and their naming convention.
|
|
|
|
NOTE: we suggest that spherical basis sets are used in the calculation. The use of
|
|
high quality cartesian basis sets can lead to numerical inaccuracies.
|
|
|
|
In order to compute the integrals needed for the Douglas-Kroll approximation
|
|
the implementation makes use of a fitting basis set (see literature given
|
|
above for details). The current code will create this fitting basis set
|
|
based on the given {\tt "ao basis"} by simply uncontracting that basis. This
|
|
again is what is commonly implemented in quantum chemistry codes that
|
|
include the Douglas-Kroll method. Additional flexibility is available to
|
|
the user by explicitly specifying a Douglas-Kroll fitting basis
|
|
set. This basis set must be named {\tt "D-K basis"} (see Chapter
|
|
\ref{sec:basis}).
|
|
|
|
\section{Zeroth Order regular approximation (ZORA)}
|
|
\label{sec:zora}
|
|
|
|
The spin-free and spin-orbit one-electron zeroth-order regular approximation (ZORA)
|
|
have been implemented. The use of relativistic effects with ZORA
|
|
can be invoked by specifying:
|
|
|
|
\begin{verbatim}
|
|
ZORA [<string (ON||OFF) default ON>
|
|
\end{verbatim}
|
|
|
|
The \verb+ON|OFF+ string is used to turn on or off ZORA.
|
|
By default, if the \verb+ZORA+ keyword is found, the approximation
|
|
will be used in the calculation. If the user wishes to calculate
|
|
a non-relativistic quantity after turning on ZORA, the user
|
|
will need to define a new \verb+RELATIVISTIC+ block and turn
|
|
the approximation \verb+OFF+. The user can also simply put
|
|
a blank \verb+RELATIVISTIC+ block in the input file and all options
|
|
will be turned off.
|
|
|
|
\section{Dyall's Modified Dirac Hamitonian approximation}
|
|
\label{sec:dyall-mod-dir}
|
|
|
|
The approximate methods described in this section are all based on Dyall's
|
|
modified Dirac Hamiltonian. This Hamiltonian is entirely equivalent to the
|
|
original Dirac Hamiltonian, and its solutions have the same properties.
|
|
The modification is achieved by a transformation on the small component,
|
|
extracting out \hbox{$\sigma\cdot{\bf p}/2mc$}. This gives the modified small
|
|
component the same symmetry as the large component, and in fact it differs
|
|
from the large component only at order $\alpha^2$. The advantage of the
|
|
modification is that the operators now resemble the operators of the
|
|
Breit-Pauli Hamiltonian, and can be classified in a similar fashion into
|
|
spin-free, spin-orbit and spin-spin terms. It is the spin-free terms which
|
|
have been implemented in NWChem, with a number of further approximations.
|
|
|
|
The first is that the negative energy states are removed by a normalized
|
|
elimination of the small component (NESC), which is equivalent to an exact
|
|
Foldy-Wouthuysen (EFW) transformation. The number of components in the wave
|
|
function is thereby effectively reduced from 4 to 2. NESC on its own does
|
|
not provide any advantages, and in fact complicates things because the
|
|
transformation is energy-dependent. The second approximation therefore
|
|
performs the elimination on an atom-by-atom basis, which is equivalent to
|
|
neglecting blocks which couple different atoms in the EFW transformation.
|
|
The advantage of this approximation is that all the energy dependence can be
|
|
included in the contraction coefficients of the basis set. The tests which
|
|
have been done show that this approximation gives results well within
|
|
chemical accuracy. The third approximation neglects the commutator of the
|
|
EFW transformation with the two-electron Coulomb interaction, so that the
|
|
only corrections that need to be made are in the one-electron integrals.
|
|
This is the equivalent of the Douglas-Kroll(-Hess) approximation as it is
|
|
usually applied.
|
|
|
|
The use of these approximations can be invoked with the use of the
|
|
\verb+DYALL-MOD-DIRAC+ directive in the \verb+RELATIVISTIC+ directive block.
|
|
The syntax is as follows.
|
|
|
|
\begin{verbatim}
|
|
DYALL-MOD-DIRAC [ (ON || OFF) default ON ]
|
|
[ (NESC1E || NESC2E) default NESC1E ]
|
|
\end{verbatim}
|
|
|
|
The \verb+ON|OFF+ string is used to turn on or off the
|
|
Dyall's modified Dirac approximation. By default, if the \verb+DYALL-MOD-DIRAC+
|
|
keyword is found, the approximation will be used in the calculation.
|
|
If the user wishes to calculate a non-relativistic quantity after turning
|
|
on Dyall's modified Dirac, the user will need to define a new
|
|
\verb+RELATIVISTIC+
|
|
block and turn the approximation \verb+OFF+. The user could also simply
|
|
put a blank \verb+RELATIVISTIC+ block in the input file and all options
|
|
will be turned off.
|
|
|
|
Both one- and two-electron approximations are available
|
|
\verb+NESC1E || NESC2E+, and both have
|
|
analytic gradients. The one-electron approximation is the default.
|
|
The two-electron approximation specified by \verb+NESC2E+ has some sub
|
|
options which are placed on the same logical line as the
|
|
\verb+DYALL-MOD-DIRAC+ directive, with the following syntax:
|
|
|
|
\begin{verbatim}
|
|
NESC2E [ (SS1CENT [ (ON || OFF) default ON ] || SSALL) default SSALL ]
|
|
[ (SSSS [ (ON || OFF) default ON ] || NOSSSS) default SSSS ]
|
|
\end{verbatim}
|
|
|
|
The first sub-option gives the capability to limit the two-electron
|
|
corrections to those in which the small components in any density must be on
|
|
the same center. This reduces the $(LL|SS)$ contributions to at most
|
|
three-center integrals and the $(SS|SS)$ contributions to two centers. For a
|
|
case with only one relativistic atom this option is redundant. The second
|
|
controls the inclusion of the $(SS|SS)$ integrals which are of order
|
|
$\alpha^4$. For light atoms they may safely be neglected, but for heavy
|
|
atoms they should be included.
|
|
|
|
In addition to the selection of this keyword in the \verb+RELATIVISTIC+
|
|
directive block, it is necessary to supply basis sets in addition to the
|
|
\verb+ao basis+. For the one-electron approximation, three basis sets are
|
|
needed: the atomic FW basis set, the large component basis set and the small
|
|
component basis set. The atomic FW basis set should be included in the
|
|
\verb+ao basis+.
|
|
The large and small components should similarly be incorporated
|
|
in basis sets named \verb+large component+ and \verb+small component+,
|
|
respectively. For the two-electron approximation, only two basis sets are
|
|
needed. These are the large component and the small component. The large component
|
|
should be included in the \verb+ao basis+ and the small component
|
|
is specified separately as \verb+small component+, as for the one-electron
|
|
approximation. This means that the two approximations can {\it not} be run
|
|
correctly without changing the \verb+ao basis+, and it is up to the user to
|
|
ensure that the basis sets are correctly specified.
|
|
|
|
There is one further requirement in the specification of the basis sets. In
|
|
the \verb+ao basis+, it is necessary to add the \verb+rel+ keyword either to the
|
|
\verb+basis+ directive or the library tag line (See below for examples).
|
|
The former marks the basis
|
|
functions specified by the tag as relativistic, the latter marks the whole
|
|
basis as relativistic. The marking is actually done at the unique shell
|
|
level, so that it is possible not only to have relativistic and
|
|
nonrelativistic atoms, it is also possible to have relativistic and
|
|
nonrelativistic shells on a given atom. This would be useful, for example,
|
|
for diffuse functions or for high angular momentum correlating functions,
|
|
where the influence of relativity was small. The marking of shells as
|
|
relativistic is necessary to set up a mapping between the ao basis and the
|
|
large and/or small component basis sets. For the one-electron approximation
|
|
the large and small component basis sets MUST be of the same size and
|
|
construction, i.e. differing only in the contraction coefficients.
|
|
|
|
It should also be noted that the relativistic code will NOT work with basis
|
|
sets that contain sp shells, nor will it work with ECPs. Both of these are
|
|
tested and flagged as an error.
|
|
|
|
Some examples follow. The first example sets up the data for relativistic
|
|
calculations on water with the one-electron approximation and the
|
|
two-electron approximation, using the library basis sets.
|
|
|
|
\begin{verbatim}
|
|
start h2o-dmd
|
|
|
|
geometry units bohr
|
|
symmetry c2v
|
|
O 0.000000000 0.000000000 -0.009000000
|
|
H 1.515260000 0.000000000 -1.058900000
|
|
H -1.515260000 0.000000000 -1.058900000
|
|
end
|
|
|
|
basis "fw" rel
|
|
oxygen library cc-pvdz_pt_sf_fw
|
|
hydrogen library cc-pvdz_pt_sf_fw
|
|
end
|
|
|
|
basis "large"
|
|
oxygen library cc-pvdz_pt_sf_lc
|
|
hydrogen library cc-pvdz_pt_sf_lc
|
|
end
|
|
|
|
basis "large2" rel
|
|
oxygen library cc-pvdz_pt_sf_lc
|
|
hydrogen library cc-pvdz_pt_sf_lc
|
|
end
|
|
|
|
basis "small"
|
|
oxygen library cc-pvdz_pt_sf_sc
|
|
hydrogen library cc-pvdz_pt_sf_sc
|
|
end
|
|
|
|
set "ao basis" fw
|
|
set "large component" large
|
|
set "small component" small
|
|
|
|
relativistic
|
|
dyall-mod-dirac
|
|
end
|
|
|
|
task scf
|
|
|
|
set "ao basis" large2
|
|
unset "large component"
|
|
set "small component" small
|
|
|
|
relativistic
|
|
dyall-mod-dirac nesc2e
|
|
end
|
|
|
|
task scf
|
|
\end{verbatim}
|
|
|
|
The second example has oxygen as a relativistic atom and hydrogen nonrelativistic.
|
|
|
|
\begin{verbatim}
|
|
start h2o-dmd2
|
|
|
|
geometry units bohr
|
|
symmetry c2v
|
|
O 0.000000000 0.000000000 -0.009000000
|
|
H 1.515260000 0.000000000 -1.058900000
|
|
H -1.515260000 0.000000000 -1.058900000
|
|
end
|
|
|
|
basis "ao basis"
|
|
oxygen library cc-pvdz_pt_sf_fw rel
|
|
hydrogen library cc-pvdz
|
|
end
|
|
|
|
basis "large component"
|
|
oxygen library cc-pvdz_pt_sf_lc
|
|
end
|
|
|
|
basis "small component"
|
|
oxygen library cc-pvdz_pt_sf_sc
|
|
end
|
|
|
|
relativistic
|
|
dyall-mod-dirac
|
|
end
|
|
|
|
task scf
|
|
\end{verbatim}
|