NWChem/doc/user/ecp.tex
Huub Van Dam 97f303e6f8 HvD: In the CVS era the $Id: $ tags in the source code files would
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.
2010-10-29 18:04:21 +00:00

266 lines
11 KiB
TeX

%
% $Id$
%
\label{sec:ecp}
\def\ell{l}
Effective core potentials (ECPs) are a useful means of replacing the core
electrons in a calculation with an effective potential, thereby eliminating
the need for the core basis functions, which usually require a large set of
Gaussians to describe them. In addition to replacing the core, they may be
used to represent relativistic effects, which are largely confined to the
core. In this context, both the scalar (spin-free) relativistic effects and
spin-orbit (spin-dependent) relativistic effects may be included in
effective potentials. NWChem has the facility to use both, and these are
described in the next two sections.
A brief recapitulation of the development of RECPs is given here, following
Pacios and Christiansen\footnote{l.~F.~Pacios and P.~A.~Christiansen,
J.~Chem.~Phys.~{\bf 82}, 2664 (1985)}. The process can be viewed as starting
from an atomic Dirac-Hartree-Fock calculation, done in {\it jj} coupling,
and producing relativistic effective potentials (REPs) for each $\ell$ and
$j$ value, $U^{\rm REP}_{\ell j}$. From these, a local potential is
extracted, which for example contains the Coulomb potential of the core
electrons balanced by the part of the nuclear attraction which cancels the
core electron charge. The residue is expressed in a semi-local form,
\begin{equation}
U^{\rm REP} = U^{\rm REP}_{LJ}(r) + \sum_{\ell=0}^{L-1}
\sum_{j=|\ell-1/2}^{\ell+1/2} \left[ U^{\rm REP}_{\ell j}(r) -
U^{\rm REP}_{LJ}(r) \right] \sum_m | \ell j m \rangle \langle \ell j m |
\end{equation}
where $L$ is one larger than the maximum angular momentum in the atom.
The scalar potential is obtained by averaging the REPs for each $j$ for a
given $\ell$ to give an averaged relativistic effective potential, or AREP,
\begin{equation}
U^{\rm AREP}_\ell(r) = \frac{1}{2\ell+1} \left[ \ell U^{\rm REP}_{\ell-1/2}(r)
+ (\ell+1) U^{\rm REP}_{\ell+1/2}(r) \right].
\end{equation}
These are summed into the full potential.
%\begin{equation}
%U^{\rm AREP} = U^{\rm AREP}_{L}(r) + \sum_{\ell=0}^{L-1}
%\left[ U^{\rm AREP}_{\ell}(r) - U^{\rm AREP}_{L}(r)
%\sum_m | \ell m \rangle \langle \ell m |.
%\end{equation}
The spin-orbit potential is obtained from the difference between the REPs
for the two $j$ values for a given \ell, and may be
represented in terms of an effective spin-orbit operator,
\begin{equation}
H^{\rm SO} = {\bf s} \cdot \sum_{\ell=1}^{L-1} \frac{2}{2\ell+1}
\Delta U^{\rm REP}_{\ell} \sum_{mm'}
| \ell m \rangle \langle \ell m | \hat\ell | \ell m' \rangle \langle \ell m' |.
\end{equation}
where
\begin{equation}
\Delta U^{\rm REP}_{\ell} = U^{\rm REP}_{\ell+1/2}(r)
- U^{\rm REP}_{\ell-1/2}(r).
\end{equation}
The spin-orbit integrals generated by NWChem are the integrals over the sum,
including the factor of $2/(2\ell+1)$, so that they may be treated as an
effective spin-orbit operator without further factors introduced.
The effective potentials, both scalar and spin-orbit, are fitted to
Gaussians with the form
\[
r^2U_l(r) = \sum_{k} A_{lk} r^{n_{lk}} e^{-B_{lk}r^{2}}
\]
where $A_{lk}$ is the contraction coefficient, $n_{lk}$ is the
exponent of the ``r'' term (r-exponent), and $B_{lk}$ is the Gaussian
exponent. The $n_{lk}$ is shifted by 2, in accordance with most of the ECP
literature and implementations, i.e., an $n_{lk} = 0$ implies
$r^{-2}$. The current implementation allows $n_{lk}$ values
of only 0, 1, or 2.
\section{Scalar ECPs}
\label{sec:scalar_ecp}
The optional directive \verb+ECP+ allows the user to describe an effective core
potential (ECP) in terms of contracted Gaussian functions as given above.
Potentials using these functions must be specified explicitly by user input
in the \verb+ECP+ directive. This directive has essentially the same form
and properties as the standard \verb+BASIS+ directive, except for essential
differences required for ECPs. Because of this, the ECP is treated
internally as a basis set. The form of the input for the
\verb+ECP+ directive is as follows:
% [spherical || cartesian default cartesian]
% [segment || nosegment default segment]
\begin{verbatim}
ECP [<string name default "ecp basis">] \
[print || noprint default print]
<string tag> library [<string tag_in_lib>] \
<string standard_set> [file <filename>] \
[except <string tag list>]
<string tag> [nelec] <integer number_of_electrons_replaced>
...
<string tag> <string shell_type>
<real r-exponent> <real Gaussian-exponent> <real list_of_coefficients>
...
END
\end{verbatim}
ECPs are automatically segmented, even if general contractions are input.
The projection operators defined in an ECP are spherical by default, so
there is no need to include the \verb+CARTESIAN+ or \verb+SPHERICAL+ keyword
as there is for a standard basis set. ECPs are associated with centers in
geometries through tags or names of centers. These tags must match in the
same manner as for basis sets the tags in a \verb+GEOMETRY+ and
\verb+ECP+ directives, and are limited to sixteen (16) characters.
Each center with the same tag will have the same ECP. By default, the
input module prints each ECP that it encounters. The \verb+NOPRINT+
option can be used to disable printing. There can be only one active
ECP, even though several may exist in the input deck. The ECP modules
load ``ecp basis'' inputs along with any ``ao basis'' inputs present.
ECPs may be used in both energy and gradient calculations.
ECPs are named in the same fashion as geometries or regular basis
sets, with the default name being \verb+"ecp basis"+. It should be
clear from the above discussion on geometries and database entries how
indirection is supported. All directives that are in common with the
standard Gaussian basis set input have the same function and syntax.
As for regular basis sets, ECPs may be obtained from the standard library.
The names of the sets of ECPs available in the standard
library (their coverage is described in Appendix \ref{sec:knownbasis}) are
\begin{itemize}
\item \verb,"Hay-Wadt MB (n+1) ECP",
\item \verb,"Hay-Wadt VDZ (n+1) ECP",
\item \verb+"LANL2DZ ECP"+
\item \verb+"SBKJC VDZ ECP"+
\item \verb+"Stuttgart RLC ECP"+
\item \verb+"Stuttgart RSC ECP"+
\item \verb+"CRENBL ECP"+
\item \verb+"CRENBS ECP"+
\end{itemize}
The keyword \verb+nelec+ allows the user to specify the number of core
electrons replaced by the ECP. Additional input lines define the
specific coefficients and exponents. The variable \verb+<shell_type>+
is used to specify the components of the ECP. The keyword \verb+ul+
entered for \verb+<shell_type>+ denotes the local part of the ECP.
This is equivalent to the highest angular momentum functions specified
in the literature for most ECPs. The standard entries (\verb+s, p, d+,
etc.) for \verb+shell_type+ specify the angular momentum projector
onto the local function. The shell type label of \verb+s+ indicates
the \verb+ul-s+ projector input, \verb+p+ indicates the \verb+ul-p+,
etc.
For example, the Christiansen, Ross and Ermler ARECPs are available in
the standard basis set libary named \verb+{crenbl_ecp}+. To perform a
calculation on uranyl (UO$_2^{2+}$) with all-electron oxygen
(aug-cc-pvdz basis), and uranium with an ARECP and using the
corresponding basis the following input can be used
\begin{verbatim}
geometry
U 0 0 0
O 0 0 1.65
O 0 0 -1.65
end
basis
U library crenbl_ecp
O library aug-cc-pvdz
end
ecp
U library crenbl_ecp
end
\end{verbatim}
The following is an example of explicit input of an ECP for H$_2$CO.
It defines an ECP for the carbon and oxygen atoms in the molecule.
% \centerline{{\bf H$_2$CO }}
\begin{verbatim}
ecp
C nelec 2 # ecp replaces 2 electrons on C
C ul # d
1 80.0000000 -1.60000000
1 30.0000000 -0.40000000
2 0.5498205 -0.03990210
C s # s - d
0 0.7374760 0.63810832
0 135.2354832 11.00916230
2 8.5605569 20.13797020
C p # p - d
2 10.6863587 -3.24684280
2 23.4979897 0.78505765
O nelec 2 # ecp replaces 2 electrons on O
O ul # d
1 80.0000000 -1.60000000
1 30.0000000 -0.40000000
2 1.0953760 -0.06623814
O s # s - d
0 0.9212952 0.39552179
0 28.6481971 2.51654843
2 9.3033500 17.04478500
O p # p - s
2 52.3427019 27.97790770
2 30.7220233 -16.49630500
end
\end{verbatim}
Various ECPs without a local function are available, including those of
the Stuttgart group. For those, no "ul" part needs to be defined. To
define the absence of the local potential, simply specify one contraction
with a zero coefficient:
\begin{verbatim}
<string tag> ul
2 1.00000 0.00000
\end{verbatim}
\section{Spin-orbit ECPs}
\label{sec:spinorb_ecp}
The Spin-orbit ECPs can be used with the Density Functional Approach, but
one has to run the calculations without symmetry. Note: when a Hartree-Fock
method is specified the spin-orbit input will be ignored.
Spin-orbit ECPs are fitted in precisely the same functional form as the
scalar RECPs and have the same properties, with the exception that there is
no local potential ul, no $s$ potential and no effective charge has to be
defined. Spin-orbit potentials are
specified in the same way as ECPs except that the directive \verb+SO+ is
used instead of \verb+ECP+. Note that there currently are no spin-orbit
ECPs defined in the standard NWChem library. The \verb+SO+
directive is as follows:
\begin{verbatim}
SO [<string name default "so basis">] \
[print || noprint default print]
<string tag> library [<string tag_in_lib>] \
<string standard_set> [file <filename>]
[except <string tag list>]
...
<string tag> <string shell_type>
<real r-exponent> <real Gaussian-exponent> <real list_of_coefficients>
...
END
\end{verbatim}
Note: in the literature the coefficients of the spin-orbit potentials are NOT
always defined in the same manner. The NWChem code assumes that the spin-orbit
potential defined in the input is of the form:
\begin{equation}
\Delta U^{\rm NWChem}_{\ell} = \frac{2}{2\ell+1} \Delta U_{\ell}
\end{equation}
For example, in the literature the Stuttgart potentials are defined as
$\Delta U_{\ell}$ and, hence, have to be multiplied by $2/(2{\ell}+1)$. On the
other hand, the CRENBL potentials in the published papers are defined as
$\frac{\ell}{2\ell+1} \Delta U_{\ell}$ and, hence, have to be multiplied by
$2/{\ell}$ (Warning: on the CRENBL website the spin-orbit potentials already
have been corrected with the $2/{\ell}$ factor).
%RJH: Align six comment symbols (#) with the other two.--fmr.
%Generally contracted ECP basis sets are not in wide use, but the
%functionality has been included in NWChem for applications where they
%might be useful.