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.
266 lines
11 KiB
TeX
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.
|
|
|