mirror of
https://github.com/nwchemgit/nwchem.git
synced 2026-07-28 22:25:48 -04:00
more corrections from people, adjusted layout of tables in argos
This commit is contained in:
parent
9ce48606fd
commit
02b16a2e92
11 changed files with 442 additions and 429 deletions
|
|
@ -22,7 +22,7 @@ The general form of the \verb+BASIS+ directive is as follows;
|
|||
[(print || noprint) default print]
|
||||
|
||||
<string tag> library [<string tag_in_lib>] \
|
||||
<string standard set> [file <filename>]
|
||||
<string standard_set> [file <filename>]
|
||||
|
||||
...
|
||||
|
||||
|
|
@ -172,7 +172,7 @@ The \verb+shell_type+ identifies the angular momentum of the shell,
|
|||
$s$, $p$, $d$, \ldots. By default, NWChem is configured to handle up
|
||||
to $i$ functions. Subsequent lines define the primitive function
|
||||
exponents and contraction coefficients. General contractions are
|
||||
specified by including multiple coefficients.
|
||||
specified by including multiple columns of coefficients.
|
||||
|
||||
For example, the following \verb+BASIS+ directive augments the Dunning
|
||||
cc-pvdz basis set for the water molecule with a diffuse s-shell on
|
||||
|
|
|
|||
381
doc/user/dft.tex
381
doc/user/dft.tex
|
|
@ -23,7 +23,6 @@ DFT input is provided using the compound \verb+DFT+ directive
|
|||
...
|
||||
END
|
||||
\end{verbatim}
|
||||
|
||||
The actual DFT calculation will be performed when the input module
|
||||
encounters the \verb+TASK+ directive (Section \ref{sec:task}).
|
||||
\begin{verbatim}
|
||||
|
|
@ -35,30 +34,29 @@ the DFT module can be invoked with no input directives (defaults
|
|||
invoked throughout). There are subdirectives which allow for
|
||||
customized application; those currently provided as options for
|
||||
the DFT module are:
|
||||
|
||||
\begin{verbatim}
|
||||
VECTORS [[input] (<string input_movecs default atomic>) || \
|
||||
(project <string basisname> <string filename>)] \
|
||||
[swap [alpha|beta] <integer vec1 vec2> ...] \
|
||||
[swap [alpha||beta] <integer vec1 vec2> ...] \
|
||||
[output <string output_filename default input_movecs>] \
|
||||
[lock]
|
||||
|
||||
|
||||
XC [[acm] [b3lyp] [beckehandh] \
|
||||
[HFexch <real multiplicative_factor default 1.0>] \
|
||||
[becke88 [nonlocal] <real multiplicative_factor default 1.0>] \
|
||||
[lyp <real multiplicative_factor default 1.0>] \
|
||||
[perdew81 <real multiplicative_factor default 1.0>] \
|
||||
[perdew86 [nonlocal] <real multiplicative_factor default 1.0>] \
|
||||
[perdew91 [nonlocal] <real multiplicative_factor default 1.0>] \
|
||||
[pw91lda <real multiplicative_factor default 1.0>] \
|
||||
[slater <real multiplicative_factor default 1.0>] \
|
||||
[vwn_1 <real multiplicative_factor default 1.0>] \
|
||||
[vwn_2 <real multiplicative_factor default 1.0>] \
|
||||
[vwn_3 <real multiplicative_factor default 1.0>] \
|
||||
[vwn_4 <real multiplicative_factor default 1.0>] \
|
||||
[vwn_5 <real multiplicative_factor default 1.0>] \
|
||||
[vwn_1_rpa <real multiplicative_factor default 1.0>]]
|
||||
[HFexch <real prefactor default 1.0>] \
|
||||
[becke88 [nonlocal] <real prefactor default 1.0>] \
|
||||
[lyp <real prefactor default 1.0>] \
|
||||
[perdew81 <real prefactor default 1.0>] \
|
||||
[perdew86 [nonlocal] <real prefactor default 1.0>] \
|
||||
[perdew91 [nonlocal] <real prefactor default 1.0>] \
|
||||
[pw91lda <real prefactor default 1.0>] \
|
||||
[slater <real prefactor default 1.0>] \
|
||||
[vwn_1 <real prefactor default 1.0>] \
|
||||
[vwn_2 <real prefactor default 1.0>] \
|
||||
[vwn_3 <real prefactor default 1.0>] \
|
||||
[vwn_4 <real prefactor default 1.0>] \
|
||||
[vwn_5 <real prefactor default 1.0>] \
|
||||
[vwn_1_rpa <real prefactor default 1.0>]]
|
||||
|
||||
|
||||
CONVERGENCE [[energy <real energy default 1e-7>] \
|
||||
|
|
@ -80,11 +78,14 @@ the DFT module are:
|
|||
[hl_tol <real hl_tol default 0.1>]]
|
||||
|
||||
|
||||
GRID [[coarse|medium|fine|xfine] \
|
||||
[gausleg <integer radpts default 50> <integer nagrid default 10>] \
|
||||
[lebedev <integer radpts default 50> <integer iangquad default 4>] \
|
||||
[store_wght] [nquad_task <integer nquad_task default 1>] \
|
||||
[delley|becke] [rm <real rm default 2.0>]]
|
||||
GRID [(coarse||medium||fine||xfine) default medium] \
|
||||
[(gausleg <integer radpts default 50>
|
||||
<integer nagrid default 10>) ||\
|
||||
(lebedev <integer radpts default 50>
|
||||
<integer iangquad default 4>)] \
|
||||
[store_wght] [nquad_task <integer nquad_task default 1>] \
|
||||
[delley||becke] \
|
||||
[rm <real rm default 2.0>]
|
||||
|
||||
|
||||
TOLERANCES [[tight] [tol_rho <real tol_rho default 1e-15>] \
|
||||
|
|
@ -96,7 +97,7 @@ the DFT module are:
|
|||
|
||||
|
||||
DECOMP
|
||||
DFT|ODFT
|
||||
DFT||ODFT
|
||||
DIRECT
|
||||
INCORE
|
||||
ITERATIONS <integer iterations default 30>
|
||||
|
|
@ -104,7 +105,7 @@ the DFT module are:
|
|||
MULLIKEN
|
||||
MULT <integer mult default 1>
|
||||
NOIO
|
||||
PRINT|NOPRINT
|
||||
PRINT||NOPRINT
|
||||
\end{verbatim}
|
||||
|
||||
The following
|
||||
|
|
@ -112,7 +113,8 @@ sections describe these keywords and
|
|||
optional subdirectives that can be specified for a \verb+DFT+ calculation
|
||||
in NWChem.
|
||||
|
||||
\section{Basis Sets Specification for the DFT Module}
|
||||
\section{Specification of Basis Sets for the DFT Module}
|
||||
|
||||
The DFT module requires at a minimum the basis set for the Kohn-Sham
|
||||
molecular orbitals. This basis set must be in the default basis set named
|
||||
{\tt "ao basis"}, or it must be assigned to this default name using the
|
||||
|
|
@ -138,78 +140,72 @@ so the {\tt "xc basis"} basis set is not generally required.
|
|||
|
||||
For the DFT module, the input options for defining the basis sets in a given
|
||||
calculation can be summarized as follows;
|
||||
|
||||
\begin{itemize}
|
||||
\item {\tt "ao basis"} -- Kohn-Sham molecular orbitals; required for all
|
||||
calculations
|
||||
|
||||
\item {\tt "cd basis"} -- charge density fitting basis set; optional, but
|
||||
recommended for evaluation of the Coulomb potential
|
||||
|
||||
\item {\tt "xc basis"} -- exchange-correlation (XC) fitting basis set;
|
||||
optional, and usually not recommended
|
||||
|
||||
\end{itemize}
|
||||
|
||||
|
||||
\section{Input/Output of KS-MO Vector}
|
||||
\section{{\tt VECTORS} and {\tt MAX\_OVL} --- KS-MO Vectors}
|
||||
|
||||
The \verb+VECTORS+ directive is the same as that in the SCF module
|
||||
(Section \ref{sec:vectors}). Currently, the \verb+LOCK+ keyword
|
||||
is not supported by the DFT module, however the directive
|
||||
\begin{verbatim}
|
||||
VECTORS [[input] (<string input_movecs default atomic>) || \
|
||||
(project <string basisname> <string filename>)] \
|
||||
[swap [alpha|beta] <integer vec1 vec2> ...] \
|
||||
[output <string output_filename default input_movecs>] \
|
||||
[lock]
|
||||
|
||||
|
||||
MAX_OVL (same as LOCK in VECTORS directive although not yet
|
||||
implemented as such)
|
||||
MAX_OVL
|
||||
\end{verbatim}
|
||||
has the same effect.
|
||||
|
||||
\section{Exchange-Correlation Potentials}
|
||||
\section{{\tt XC} and {\tt DECOMP} --- Exchange-Correlation Potentials}
|
||||
\begin{verbatim}
|
||||
XC [[acm] [b3lyp] [beckehandh] \
|
||||
[HFexch <real multiplicative_factor default 1.0>] \
|
||||
[becke88 [nonlocal] <real multiplicative_factor default 1.0>] \
|
||||
[lyp <real multiplicative_factor default 1.0>] \
|
||||
[perdew81 <real multiplicative_factor default 1.0>] \
|
||||
[perdew86 [nonlocal] <real multiplicative_factor default 1.0>] \
|
||||
[perdew91 [nonlocal] <real multiplicative_factor default 1.0>] \
|
||||
[pw91lda <real multiplicative_factor default 1.0>] \
|
||||
[slater <real multiplicative_factor default 1.0>] \
|
||||
[vwn_1 <real multiplicative_factor default 1.0>] \
|
||||
[vwn_2 <real multiplicative_factor default 1.0>] \
|
||||
[vwn_3 <real multiplicative_factor default 1.0>] \
|
||||
[vwn_4 <real multiplicative_factor default 1.0>] \
|
||||
[vwn_5 <real multiplicative_factor default 1.0>] \
|
||||
[vwn_1_rpa <real multiplicative_factor default 1.0>]]
|
||||
|
||||
|
||||
DECOMP
|
||||
[HFexch <real prefactor default 1.0>] \
|
||||
[becke88 [nonlocal] <real prefactor default 1.0>] \
|
||||
[lyp <real prefactor default 1.0>] \
|
||||
[perdew81 <real prefactor default 1.0>] \
|
||||
[perdew86 [nonlocal] <real prefactor default 1.0>] \
|
||||
[perdew91 [nonlocal] <real prefactor default 1.0>] \
|
||||
[pw91lda <real prefactor default 1.0>] \
|
||||
[slater <real prefactor default 1.0>] \
|
||||
[vwn_1 <real prefactor default 1.0>] \
|
||||
[vwn_2 <real prefactor default 1.0>] \
|
||||
[vwn_3 <real prefactor default 1.0>] \
|
||||
[vwn_4 <real prefactor default 1.0>] \
|
||||
[vwn_5 <real prefactor default 1.0>] \
|
||||
[vwn_1_rpa <real prefactor default 1.0>]]
|
||||
\end{verbatim}
|
||||
|
||||
The user has the option of specifying the exchange-correlation treatment
|
||||
in the DFT Module. The default exchange-correlation functional is defined
|
||||
as the local density approximation (LDA) for closed shell systems and it's
|
||||
counterpart the local spin-density (LSD) approximation for open shell
|
||||
systems. Within this approximation the exchange functional is the
|
||||
the Slater $\rho^{1/3}$ functional (from J.C.~Slater,
|
||||
{\sl Quantum Theory of Molecules and
|
||||
Solids, Vol.~4: The Self-Consistent Field for Molecules and Solids}
|
||||
(McGraw-Hill, New York, 1974)), and the correlation
|
||||
functional is the Vosk-Wilk-Nusair (VWN) functional (functional V)
|
||||
(S.J.~Vosko, L.~Wilk and M.~Nusair,
|
||||
Can.~J.~Phys.~{\bf 58}, 1200 (1980)). The parameters used in this
|
||||
formula are obtained by fitting to the {\bf Ceperley \&
|
||||
Alder\footnotemark[1]} Quantum
|
||||
MonteCarlo solution of the {\bf homogenous electron gas}.
|
||||
The user has the option of specifying the exchange-correlation
|
||||
treatment in the DFT Module. The default exchange-correlation
|
||||
functional is defined as the local density approximation (LDA) for
|
||||
closed shell systems and its counterpart the local spin-density (LSD)
|
||||
approximation for open shell systems. Within this approximation the
|
||||
exchange functional is the Slater $\rho^{1/3}$ functional (from
|
||||
J.C.~Slater, {\sl Quantum Theory of Molecules and Solids, Vol.~4: The
|
||||
Self-Consistent Field for Molecules and Solids} (McGraw-Hill, New
|
||||
York, 1974)), and the correlation functional is the Vosk-Wilk-Nusair
|
||||
(VWN) functional (functional V) (S.J.~Vosko, L.~Wilk and M.~Nusair,
|
||||
Can.~J.~Phys.~{\bf 58}, 1200 (1980)). The parameters used in this
|
||||
formula are obtained by fitting to the Ceperley and
|
||||
Alder\footnote{D.M.~Ceperley and B.J.~Alder, Phys. Rev. Lett. {\bf
|
||||
45}, 566 (1980).}
|
||||
Quantum MonteCarlo solution of the {\em
|
||||
homogenous electron gas}.
|
||||
|
||||
These defaults can be invoked explicitly by specifying the following
|
||||
keywords within the DFT module input directive,
|
||||
|
||||
\begin{verbatim}
|
||||
XC slater vwn_5
|
||||
\end{verbatim}
|
||||
|
||||
The \verb+DECOMP+ directive causes the components of the energy
|
||||
corresponding to each functional to be printed, rather than just the
|
||||
total exchange-correlation energy which is the default.
|
||||
|
||||
Many alternative exchange and correlation functionals are available to
|
||||
the user. The following sections describe these options.
|
||||
|
||||
|
|
@ -221,34 +217,30 @@ J.~Chem.~Phys.~88, 3098 (1988)), and the Hartree-Fock exact exchange.
|
|||
|
||||
The Becke gradient-corrected functional is invoked by specifying the input
|
||||
line,
|
||||
|
||||
\begin{verbatim}
|
||||
XC becke88
|
||||
\end{verbatim}
|
||||
|
||||
The Hartree-Fock exact exchange functional, (which is exact to $O(N^4)$),
|
||||
is invoked by specifying the input line,
|
||||
|
||||
The Hartree-Fock exact exchange functional, (which has $O(N^4)$
|
||||
computation expense), is invoked by specifying the input line,
|
||||
\begin{verbatim}
|
||||
XC HFexch
|
||||
\end{verbatim}
|
||||
|
||||
Note that the user also has the ability to include only the local or
|
||||
nonlocal contributions of a given functional. In addition the user
|
||||
can specify a multiplicative factor for the local/nonlocal component
|
||||
or total. An example of this might be,
|
||||
|
||||
can specify a multiplicative prefactor (the variable
|
||||
\verb+<prefactor>+ in the input) for the local/nonlocal component or
|
||||
total. An example of this might be,
|
||||
\begin{verbatim}
|
||||
XC becke88 nonlocal 0.72
|
||||
\end{verbatim}
|
||||
|
||||
The user should be aware that the Becke88 local component is simply
|
||||
the slater exchange and should be input as such.
|
||||
the Slater exchange and should be input as such.
|
||||
|
||||
Any combination of the supported exchange functional options can be
|
||||
used. For example the popular Gaussian B3 exchange could be specified
|
||||
as:
|
||||
|
||||
\begin{verbatim}
|
||||
XC slater 0.8 becke88 nonlocal 0.72 HFexch 0.2
|
||||
\end{verbatim}
|
||||
|
|
@ -262,7 +254,7 @@ perdew86, perdew91, pw91lda, \verb+vwn_1+, \verb+vwn_2+, \verb+vwn_3+,
|
|||
\verb+vwn_4+, and \verb+vwn_1_rpa+.
|
||||
|
||||
As in the exchange functional input, individual local/nonlocal
|
||||
components as well as multiplicative factors can be invoked where
|
||||
components as well as multiplicative prefactors can be invoked where
|
||||
appropriate. Each of the correlation functionals is listed below along with
|
||||
appropriate citation.
|
||||
|
||||
|
|
@ -281,16 +273,16 @@ appropriate citation.
|
|||
XC vwn_5
|
||||
\end{verbatim}
|
||||
|
||||
Note that functionals; \verb+vwn_2+, \verb+vwn_3+, and \verb+vwn_4+ require both sets of
|
||||
parameters (the Monte Carlo parameters of Ceperley and Alder and
|
||||
VWN's RPA parameters) used in fitting the homogenous electron gas
|
||||
correlation energy. Functionals \verb+vwn_1+ and \verb+vwn_5+ require only the
|
||||
Monte Carlo fitting parameters. In order to reproduce results in the
|
||||
literature another functional was added; the \verb+vwn_1_rpa+. This is the
|
||||
original \verb+vwn_1+ functional with RPA paramenters as opposed to the
|
||||
prescribed Monte Carlo parameters. This functional can be invoked
|
||||
with the keyword,
|
||||
|
||||
Note that functionals; \verb+vwn_2+, \verb+vwn_3+, and \verb+vwn_4+
|
||||
require both sets of parameters (the Monte Carlo parameters of
|
||||
Ceperley and Alder and VWN's RPA parameters) used in fitting the
|
||||
homogenous electron gas correlation energy. Functionals
|
||||
\verb+vwn_1+ and \verb+vwn_5+ require only the Monte Carlo fitting
|
||||
parameters. In order to reproduce results in the literature another
|
||||
functional was added; the \verb+vwn_1_rpa+. This is the original
|
||||
\verb+vwn_1+ functional with RPA parameters as opposed to the
|
||||
prescribed Monte Carlo parameters. This functional can be invoked
|
||||
with the keyword,
|
||||
\begin{verbatim}
|
||||
XC vwn_1_rpa
|
||||
\end{verbatim}
|
||||
|
|
@ -298,18 +290,16 @@ with the keyword,
|
|||
\item Perdew81 local density functional; J.~P.~Perdew and A.~Zunger,
|
||||
Phys.~Rev.~B {\bf23}, 5048 (1981). This functional can be invoked with the
|
||||
keyword,
|
||||
|
||||
\begin{verbatim}
|
||||
XC perdew81
|
||||
\end{verbatim}
|
||||
|
||||
\item Perdew \& Wang 1991 local density functional; J.P.~Perdew
|
||||
and Y.~Wang, Phys. Rev. B {\bf 45}, 13244 (1992). The parameters
|
||||
used in this formula are obtained by fitting to the {\bf Ceperley \&
|
||||
Alder\footnotemark[1]} Quantum Monte Carlo solution of the {\bf
|
||||
used in this formula are obtained by fitting to the Ceperley and
|
||||
Alder Quantum Monte Carlo solution of the {\em
|
||||
homogenous electron gas}. This functional can be invoked with the
|
||||
keyword,
|
||||
|
||||
\begin{verbatim}
|
||||
XC pw91lda
|
||||
\end{verbatim}
|
||||
|
|
@ -320,7 +310,6 @@ with the keyword,
|
|||
component is defaulted to the perdew81 local correlation
|
||||
functional. This functional can be invoked with the
|
||||
keyword,
|
||||
|
||||
\begin{verbatim}
|
||||
XC perdew86
|
||||
\end{verbatim}
|
||||
|
|
@ -331,7 +320,6 @@ with the keyword,
|
|||
is a nonlocal functional and in the absence of any local functional
|
||||
specification the local component is defaulted to the \verb+pw91lda+ local
|
||||
correlation functional. This functional can be invoked with the keyword,
|
||||
|
||||
\begin{verbatim}
|
||||
XC perdew91
|
||||
\end{verbatim}
|
||||
|
|
@ -341,7 +329,6 @@ with the keyword,
|
|||
is a local and nonlocal functional but cannot be conveniently split
|
||||
into the individual components. The option to scale the total remains.
|
||||
This functional can be invoked with the keyword,
|
||||
|
||||
\begin{verbatim}
|
||||
XC lyp
|
||||
\end{verbatim}
|
||||
|
|
@ -353,15 +340,11 @@ with the keyword,
|
|||
Any combination of the supported correlation functional options can be
|
||||
used. For example the correlation component of the popular B3LYP
|
||||
could be specified as:
|
||||
|
||||
\begin{verbatim}
|
||||
XC vwn_1_rpa 0.19 lyp 0.81
|
||||
\end{verbatim}
|
||||
|
||||
|
||||
\footnotetext[1]{D.M.~Ceperley and B.J.~Alder, Phys. Rev. Lett. {\bf 45},
|
||||
566 (1980).}
|
||||
|
||||
\subsection{Hybrid Exchange and Correlation Functionals}
|
||||
|
||||
In addition to the options listed above for the exchange and correlation
|
||||
|
|
@ -372,7 +355,6 @@ adiabatic connection method (see A.D.~Becke, J.~Chem.~Phys.~98, 5648
|
|||
(1993)), and the b3lyp (popularized by Gaussian9X).
|
||||
|
||||
These options can be invoked by specifying any of the following input lines,
|
||||
|
||||
\begin{verbatim}
|
||||
XC beckehandh
|
||||
XC acm
|
||||
|
|
@ -388,17 +370,17 @@ E_{X} \ = \ \frac{1}{2} E^{\rm HF}_X + \frac{1}{2} E^{\rm
|
|||
|
||||
The keyword \verb+acm+ specifies that the exchange-correlation energy
|
||||
is computed as
|
||||
|
||||
\begin{eqnarray*}
|
||||
E_{XC} \ &=& \ a_0 E^{\rm HF}_X + (1-a_0) E^{\rm Slater}_{X} +
|
||||
a_X \Delta E^{\rm Becke88}_{X} + E^{\rm VWN}_C + a_C \Delta E^{Perdew91}_C \\
|
||||
& &{\rm where } \\
|
||||
a_0 &=& 0.20, \ a_X = 0.72, \ a_C = 0.81
|
||||
\end{eqnarray*}
|
||||
and $\Delta$ stands for a non-local component.
|
||||
|
||||
|
||||
The keyword \verb+b3lyp+ specifies that the exchange-correlation energy
|
||||
is computed as
|
||||
|
||||
\begin{eqnarray*}
|
||||
E_{XC} \ &=& \ a_0 E^{\rm HF}_X + (1-a_0) E^{\rm Slater}_{X} +
|
||||
a_X \Delta E^{\rm Becke88}_{X} + (1-a_C)E^{\rm \verb+VWN_1_RPA+}_C + a_C E^{LYP}_C \\
|
||||
|
|
@ -407,30 +389,10 @@ a_0 &=& 0.20, \ a_X = 0.72, \ a_C = 0.81
|
|||
\end{eqnarray*}
|
||||
|
||||
|
||||
\section{SCF Convergence Control}
|
||||
\section{{\tt ITERATIONS} --- Number of SCF iterations}
|
||||
|
||||
\begin{verbatim}
|
||||
|
||||
ITERATIONS <integer iterations default 30>
|
||||
|
||||
CONVERGENCE [[energy <real energy default 1e-7>] \
|
||||
[density <real density default 1e-5>] \
|
||||
[gradient <real gradient default 1e-4>] \
|
||||
[dampon <real dampon default 0.0>] \
|
||||
[dampoff <real dampoff default 0.0>] \
|
||||
[diison <real diison default 0.0>] \
|
||||
[diisoff <real diisoff default 0.0>] \
|
||||
[levlon <real levlon default 0.0>] \
|
||||
[levloff <real levloff default 0.0>] \
|
||||
[ncydp <integer ncydp default 2>] \
|
||||
[ncyds <integer ncyds default 30>] \
|
||||
[ncysh <integer ncysh default 30>] \
|
||||
[damp <integer ndamp default 70>] [nodamping] \
|
||||
[diis [nfock <integer nfock default 10>]] \
|
||||
[nodiis] [lshift <real lshift default 0.5>] \
|
||||
[nolevelshifting] \
|
||||
[hl_tol <real hl_tol default 0.1>]]
|
||||
|
||||
|
||||
\end{verbatim}
|
||||
|
||||
The default optimization in the DFT module is to iterate on the
|
||||
|
|
@ -443,15 +405,35 @@ is \verb+ITERATIONS+, and has the following general form,
|
|||
\end{verbatim}
|
||||
|
||||
The optimization procedure will stop when the specified number of
|
||||
iterations is reached or convergence is meant. Convergence is
|
||||
satisfied by meeting any or all of three criteria;
|
||||
iterations is reached or convergence is met.
|
||||
|
||||
\section{{\tt CONVERGENCE} --- SCF Convergence Control}
|
||||
|
||||
\begin{verbatim}
|
||||
CONVERGENCE [energy <real energy default 1e-7>] \
|
||||
[density <real density default 1e-5>] \
|
||||
[gradient <real gradient default 1e-4>] \
|
||||
[hl_tol <real hl_tol default 0.1>]
|
||||
[dampon <real dampon default 0.0>] \
|
||||
[dampoff <real dampoff default 0.0>] \
|
||||
[ncydp <integer ncydp default 2>] \
|
||||
[ncyds <integer ncyds default 30>] \
|
||||
[ncysh <integer ncysh default 30>] \
|
||||
[damp <integer ndamp default 70>] [nodamping] \
|
||||
[diison <real diison default 0.0>] \
|
||||
[diisoff <real diisoff default 0.0>] \
|
||||
[(diis [nfock <integer nfock default 10>]) || nodiis] \
|
||||
[levlon <real levlon default 0.0>] \
|
||||
[levloff <real levloff default 0.0>] \
|
||||
[(lshift <real lshift default 0.5>) || nolevelshifting] \
|
||||
\end{verbatim}
|
||||
|
||||
Convergence is satisfied by meeting any or all of three criteria;
|
||||
\begin{itemize}
|
||||
\item convergence of the total energy; this is defined to be when the
|
||||
total DFT energy at iteration N and at iteration N-1 differ by a value less
|
||||
than some value (the default is 1e-7). This value can be modified
|
||||
using the key word,
|
||||
|
||||
\begin{verbatim}
|
||||
CONVERGENCE energy <real energy default 1e-7>
|
||||
\end{verbatim}
|
||||
|
|
@ -460,7 +442,6 @@ satisfied by meeting any or all of three criteria;
|
|||
total DFT density matrix at iteration N and at iteration N-1 have a
|
||||
RMS difference less than some value (the default is 1e-5). This value can be modified
|
||||
using the key word,
|
||||
|
||||
\begin{verbatim}
|
||||
CONVERGENCE density <real density default 1e-5>
|
||||
\end{verbatim}
|
||||
|
|
@ -468,26 +449,24 @@ satisfied by meeting any or all of three criteria;
|
|||
\item convergence of the orbital gradient; this is defined to be when the
|
||||
DIIS error vector becomes less than some value (the default is
|
||||
1e-4). This value can be modified using the key word,
|
||||
|
||||
\begin{verbatim}
|
||||
CONVERGENCE gradient <real gradient default 1e-4>
|
||||
\end{verbatim}
|
||||
\end{itemize}
|
||||
|
||||
The default optimization strategy is to immediately begin direct inversion of the
|
||||
iterative subspace\footnote {P.~Pulay, Chem.\ Phys.\ Lett.\ {\bf 73},
|
||||
393 (1980) and P.~Pulay, J.~Comp.~Chem.~{\bf 3}, 566 (1982)}.
|
||||
Damping is also initiated (using 70\% of the previous density) for
|
||||
the first 2 iteration. In addition, if the HOMO - LUMO gap is small
|
||||
and the Fock matrix somewhat diagonally dominant, then levelshifting
|
||||
is automatically initiated. There are a variety of ways to customize
|
||||
this procedure to whatever is desired.
|
||||
The default optimization strategy is to immediately begin direct
|
||||
inversion of the iterative subspace\footnote {P.~Pulay, Chem.\ Phys.\
|
||||
Lett.\ {\bf 73}, 393 (1980) and P.~Pulay, J.~Comp.~Chem.~{\bf 3},
|
||||
566 (1982)}. Damping is also initiated (using 70\% of the previous
|
||||
density) for the first 2 iteration. In addition, if the HOMO - LUMO
|
||||
gap is small and the Fock matrix somewhat diagonally dominant, then
|
||||
levelshifting is automatically initiated. There are a variety of ways
|
||||
to customize this procedure to whatever is desired.
|
||||
|
||||
An alternative optimization strategy is to specify, by using the change
|
||||
in total energy (from iterations when N and N-1), when to turn
|
||||
damping, levelshifting, and/or diis on/off. Start and stop keywords for
|
||||
each of these is available as,
|
||||
|
||||
\begin{verbatim}
|
||||
CONVERGENCE [dampon <real dampon default 0.0>] \
|
||||
[dampoff <real dampoff default 0.0>] \
|
||||
|
|
@ -504,7 +483,6 @@ Another strategy can be to simply specify how many iterations (cycles) you wish
|
|||
each type of procedure to be used. The necessary keywords to control
|
||||
the number of damping cycles (ncydp), the number of diis cycles
|
||||
(ncyds), and the number of levelshifting cycles (ncysh) are input as,
|
||||
|
||||
\begin{verbatim}
|
||||
CONVERGENCE [ncydp <integer ncydp default 2>] \
|
||||
[ncyds <integer ncyds default 30>] \
|
||||
|
|
@ -514,7 +492,6 @@ the number of damping cycles (ncydp), the number of diis cycles
|
|||
The amount of damping, levelshifting, time at which levelshifting is
|
||||
automatically imposed, and Fock matrices used in the DIIS
|
||||
extrapolation can be modified by the following keywords
|
||||
|
||||
\begin{verbatim}
|
||||
CONVERGENCE [damp <integer ndamp default 70>] \
|
||||
[diis [nfock <integer nfock default 10>]] \
|
||||
|
|
@ -524,11 +501,9 @@ extrapolation can be modified by the following keywords
|
|||
|
||||
Damping is defined to be the percentage of the previous iterations
|
||||
density mixed with the current iterations density. So, for example
|
||||
|
||||
\begin{verbatim}
|
||||
CONVERGENCE damp 70
|
||||
\end{verbatim}
|
||||
|
||||
would mix 30\% of the current iteration density with 70\% of the
|
||||
previous iteration density.
|
||||
|
||||
|
|
@ -537,23 +512,20 @@ V.R.~Saunders, Mol.~Phys.~{\bf 28}, 819 (1974)} is defined as the
|
|||
amount of shift applied to the diagonal elements of the unoccupied
|
||||
block of the Fock matrix. The shift is specified by the
|
||||
keyword \verb+lshift+. For example the directive,
|
||||
|
||||
\begin{verbatim}
|
||||
CONVERGENCE lshift 0.5
|
||||
\end{verbatim}
|
||||
|
||||
causes the diagonal elements of the Fock matrix
|
||||
corresponding to the virtual orbitals to be shifted by 0.5 au.
|
||||
By default, this levelshifting procedure is switched on whenever the
|
||||
HOMO-LUMO gap is small. Small is defined by default to be 0.1 au but
|
||||
can be modified by the directive \verb+hl_tol+. An example of
|
||||
changing the HOMO-LUMO gap tolerance to 0.01 would be,
|
||||
|
||||
\begin{verbatim}
|
||||
CONVERGENCE hl_tol 0.01
|
||||
\end{verbatim}
|
||||
|
||||
Direct inversion of the iterative subspace with extrapolation of upto
|
||||
Direct inversion of the iterative subspace with extrapolation of up to
|
||||
10 Fock matrices is a default optimization procedure. For large
|
||||
molecular systems the amount of available memory may preclude the ability to
|
||||
store this number of N**2 arrays in global memory. The user may then
|
||||
|
|
@ -561,7 +533,6 @@ specify the number of Fock matrices to be used in the extrapolation
|
|||
(must be greater than three (3) to be effective). To set the number of
|
||||
Fock matrices stored and used in the extrapolation procedure to 3
|
||||
would take the form,
|
||||
|
||||
\begin{verbatim}
|
||||
CONVERGENCE diis nfock 3
|
||||
\end{verbatim}
|
||||
|
|
@ -573,16 +544,17 @@ procedures deemed undesirable with the obvious keywords,
|
|||
\end{verbatim}
|
||||
|
||||
|
||||
\section{Numerical Integration of the Exchange-Correlation Potential}
|
||||
\section{{\tt GRID} --- Numerical Integration of the Exchange-Correlation Potential}
|
||||
|
||||
\begin{verbatim}
|
||||
GRID [[coarse|medium|fine|xfine] \ [gausleg <integer radpts default
|
||||
50> <integer nagrid default 10>] \ [lebedev <integer radpts default
|
||||
50> <integer iangquad default 4>] \ [store_wght] [nquad_task
|
||||
<integer nquad_task default 1>] \ [delley|becke] [rm <real rm
|
||||
default 2.0>]]
|
||||
|
||||
|
||||
GRID [(coarse||medium||fine||xfine) default medium] \
|
||||
[(gausleg <integer radpts default 50>
|
||||
<integer nagrid default 10>) ||\
|
||||
(lebedev <integer radpts default 50>
|
||||
<integer iangquad default 4>)] \
|
||||
[store_wght] [nquad_task <integer nquad_task default 1>] \
|
||||
[delley||becke] \
|
||||
[rm <real rm default 2.0>]
|
||||
\end{verbatim}
|
||||
|
||||
A numerical integration is necessary for the evaluation of the
|
||||
|
|
@ -593,16 +565,14 @@ scheme for the angular components (see C.W.~Murray, N.C.~Handy, and
|
|||
G.L.Laming, Mol.~Phys.~78, 997-1014, (1993)). Within this numerical
|
||||
integration procedure various levels of accuracy have been defined and
|
||||
are available to the user. The user can specify the level of accuracy
|
||||
with the keywords; coarse, medium, fine, and xfine.
|
||||
with the keywords; coarse, medium, fine, and xfine. The default is medium.
|
||||
|
||||
\begin{verbatim}
|
||||
GRID [coarse|medium|fine|xfine]
|
||||
|
||||
GRID [coarse||medium||fine||xfine]
|
||||
\end{verbatim}
|
||||
|
||||
The definitions of these gridtypes are:\\
|
||||
|
||||
|
||||
{\center
|
||||
\begin{tabular}[right]{|l|r r r r|} \hline
|
||||
Keyword & {\tt coarse} & {\tt medium} & {\tt fine} & {\tt xfine} \\ \hline
|
||||
$N_{radial}$ & 35 & 50 & 75 & 105 \\
|
||||
|
|
@ -610,23 +580,18 @@ $N_{theta}$ & 8 & 10 & 12 & 14 \\ \hline
|
|||
$N_{phi}$ & 16 & 20 & 24 & 28 \\ \hline
|
||||
$total unpruned per center$ & 4480 & 10000 & 21600 & 41160 \\ \hline
|
||||
\end{tabular}
|
||||
}
|
||||
|
||||
The user has the option of specifying a customed quadrature of this
|
||||
type with the keywords,
|
||||
|
||||
\begin{verbatim}
|
||||
GRID gausleg <integer nradpts default 50> <integer nagrid default 10>
|
||||
|
||||
\end{verbatim}
|
||||
|
||||
In this type of grid, the number of phi points is twice the number of
|
||||
theta points. So, for example, a specification of,
|
||||
|
||||
\begin{verbatim}
|
||||
GRID gausleg 80 20
|
||||
|
||||
\end{verbatim}
|
||||
|
||||
would be interpreted as 80 radial points, 20 theta points, and 40
|
||||
phi points per center (or 64000 points per center before pruning).
|
||||
|
||||
|
|
@ -637,25 +602,26 @@ for the Lebedev grid was supplied by M.~Caus\`a of the University of
|
|||
Torino.}. Within this numerical integration procedure various levels
|
||||
of accuracy have also been defined and are available to the user.
|
||||
The input for this type of grid takes the form,
|
||||
|
||||
\begin{verbatim}
|
||||
GRID lebedev <integer radpts default 50> <integer iangquad default 4>
|
||||
|
||||
\end{verbatim}
|
||||
|
||||
In this context the variable iangquad specifies a certain number of
|
||||
angular points as indicated by the table below.
|
||||
|
||||
|
||||
{\center
|
||||
\begin{tabular}[right]{|l|r r r r r r r|} \hline
|
||||
$IANGQUAD$ & 1 & 2 & 3 & 4 & 5 & 6 & 7 \\ \hline
|
||||
$N_{angular}$ & 38 & 50 & 110 & 194 & 266 & 302 & 434 \\ \hline
|
||||
\end{tabular}
|
||||
}
|
||||
|
||||
Therefor the user can specify any number of radial points along with
|
||||
Therefore the user can specify any number of radial points along with
|
||||
the level of angular quadrature (1-7).
|
||||
|
||||
\section{Control of Screening (Setting Tolerances)}
|
||||
{\bf JEFF: store\_weight, nquad\_task, delley, and becke need explaining}
|
||||
|
||||
\section{{\tt TOLERANCES} --- Screening tolerances}
|
||||
|
||||
\begin{verbatim}
|
||||
TOLERANCES [[tight] [tol_rho <real tol_rho default 1e-15>] \
|
||||
[accAOfunc <integer accAOfunc default 20>] \
|
||||
|
|
@ -663,25 +629,22 @@ the level of angular quadrature (1-7).
|
|||
[accQrad <integer accQrad default 40>] \
|
||||
[accXCfunc <integer accXCfunc default 20>] \
|
||||
[radius <real radius default 16.0>]]
|
||||
|
||||
|
||||
\end{verbatim}
|
||||
|
||||
{\bf JEFF: tight needs explanation}
|
||||
|
||||
The user has the option of controlling screening for the tolerances in
|
||||
the integral evaluations for the DFT module. In most applications, the
|
||||
default values will be adequate for the calculation, but different values
|
||||
can be specified in the input for the DFT module using the keywords
|
||||
described below.
|
||||
the integral evaluations for the DFT module. In most applications,
|
||||
the default values will be adequate for the calculation, but different
|
||||
values can be specified in the input for the DFT module using the
|
||||
keywords described below.
|
||||
|
||||
The input to define a screening tolerance for evaluation of the AO
|
||||
Gaussian functions is specified with the keyword \verb+accAOfunc+, as
|
||||
follows,
|
||||
|
||||
\begin{verbatim}
|
||||
TOLERANCES accAOfunc <integer accAOfunc default 20>
|
||||
\end{verbatim}
|
||||
|
||||
A Gaussian orbital basis (AO) function with exponent $\zeta$
|
||||
and radial factor $e^{-\zeta\cdot r_i^2}$ is
|
||||
evaluated at a point $r_i$ only if
|
||||
|
|
@ -690,11 +653,9 @@ $\zeta\cdot r_i^2$ is greater than the value specified for ${\tt accAOfunc}$.
|
|||
The input to define a screening tolerance for evaluation of the exchange-
|
||||
correlation (XC) Gaussian fitting functions is specified with the
|
||||
keyword \verb+accXCfunc+, as follows,
|
||||
|
||||
\begin{verbatim}
|
||||
TOLERANCES accXCfunc <integer accXCfunc default 20>
|
||||
\end{verbatim}
|
||||
|
||||
An exchange-correlation (XC) fitting function with exponent $\zeta$
|
||||
and radial factor $e^{-\zeta\cdot r_i^2}$ is
|
||||
evaluated at a point $r_i$ only if
|
||||
|
|
@ -703,11 +664,9 @@ $\zeta\cdot r_i^2$ is greater than the value specified for ${\tt accXCfunc}$.
|
|||
The input to define a screening tolerance for evaluation of the
|
||||
charge-density (CD) Gaussian fitting functions is specified with the
|
||||
keyword \verb+accCoul+, as follows,
|
||||
|
||||
\begin{verbatim}
|
||||
TOLERANCES accCoul <integer accCoul default 15>
|
||||
\end{verbatim}
|
||||
|
||||
A charge-density (CD) fitting function with exponent $\zeta$
|
||||
and radial factor $e^{-\zeta\cdot r_i^2}$ is evaluated at a
|
||||
point $r_i$ only if $\zeta\cdot r_i^2$ is greater than ${\tt accCoul}$
|
||||
|
|
@ -719,7 +678,6 @@ values greater than $10^{(-{\tt accCoul})}$ are evaluated.
|
|||
The user also has the option of specifying the radial quadrature
|
||||
grid cut-off for the DFT calculation, using the keyword
|
||||
\verb+accQrad+. The input line for this option is as follows,
|
||||
|
||||
\begin{verbatim}
|
||||
TOLERANCES accQrad <integer accQrad default 40>
|
||||
\end{verbatim}
|
||||
|
|
@ -730,27 +688,23 @@ points around a given center or atom. Grid points that lie more than
|
|||
|
||||
Screening away needless computation of the XC functional (on the grid)
|
||||
due to negligible density is also possible with the use of,
|
||||
|
||||
\begin{verbatim}
|
||||
TOLERANCES tol_rho <real tol_rho default 1e-15>
|
||||
\end{verbatim}
|
||||
|
||||
XC functional computation is bypassed if the corresponding density
|
||||
elements are less than \verb+tol_rho+.
|
||||
|
||||
A screening parameter, \verb+radius+, used in the screening of the
|
||||
Becke or Delley spatial weights is also available as,
|
||||
|
||||
\begin{verbatim}
|
||||
TOLERANCES radius <real radius default 16.0>
|
||||
\end{verbatim}
|
||||
|
||||
where radius is the cutoff value in bohr.
|
||||
|
||||
|
||||
\section{Hardware Resource Control}
|
||||
\section{{\tt DIRECT} and {\tt NOIO} --- Hardware Resource Control}
|
||||
\begin{verbatim}
|
||||
DIRECT|INCORE
|
||||
DIRECT||INCORE
|
||||
NOIO
|
||||
\end{verbatim}
|
||||
|
||||
|
|
@ -774,9 +728,9 @@ are computed ``on-the-fly''.
|
|||
|
||||
\fussy
|
||||
|
||||
\section{Control of Open Shells}
|
||||
\section{{\tt DFT}, {\tt ODFT} and {\tt MULT} --- Open shell systems}
|
||||
\begin{verbatim}
|
||||
DFT|ODFT
|
||||
DFT||ODFT
|
||||
MULT <integer mult default 1>
|
||||
\end{verbatim}
|
||||
|
||||
|
|
@ -784,20 +738,19 @@ Both {\sl closed-shell} and {\sl open-shell} systems can be studied using
|
|||
the DFT module. Specifying the keyword \verb+MULT+ within the \verb+DFT+
|
||||
directive allows the user to define the spin multiplicity of the system.
|
||||
The form of the input line is as follows;
|
||||
|
||||
\begin{verbatim}
|
||||
mult <integer mult default 1>
|
||||
MULT <integer mult default 1>
|
||||
\end{verbatim}
|
||||
|
||||
When the keyword \verb+MULT+ is specified, the user can define the integer
|
||||
variable \verb+mult+, where \verb+mult+ is equal to the number of alpha
|
||||
electrons minus beta electrons, plus 1.
|
||||
|
||||
The keywords \verb+DFT|ODFT+ were originally intended to specify
|
||||
closed or openshell and are really unnecessary except in the context of
|
||||
forcing a system to be computed as an openshell system.
|
||||
The keywords \verb+DFT||ODFT+ were originally intended to specify
|
||||
closed or open shell and are really unnecessary except in the context
|
||||
of forcing a closed-shell system to be computed as an open shell
|
||||
system (i.e., using a spin-unrestricted wavefunction).
|
||||
|
||||
\section{Standard Property Control}
|
||||
\section{{\tt MULLIKEN} --- Mulliken analysis}
|
||||
\begin{verbatim}
|
||||
MULLIKEN
|
||||
\end{verbatim}
|
||||
|
|
@ -806,22 +759,18 @@ Mulliken analysis of the charge distribution is invoked by the keyword:
|
|||
\begin{verbatim}
|
||||
MULLIKEN
|
||||
\end{verbatim}
|
||||
|
||||
When this keyword is encountered, mulliken analysis of both the input
|
||||
When this keyword is encountered, Mulliken analysis of both the input
|
||||
density as well as the output density will occur.
|
||||
|
||||
|
||||
\section{Print Control}
|
||||
\begin{verbatim}
|
||||
PRINT|NOPRINT
|
||||
PRINT||NOPRINT
|
||||
\end{verbatim}
|
||||
|
||||
The \verb+PRINT|NOPRINT+ options control the level of output in the
|
||||
DFT. Known controllable print options are:
|
||||
The \verb+PRINT||NOPRINT+ options control the level of output in the
|
||||
DFT. Documentation is not yet available for items under explicit
|
||||
print control.
|
||||
|
||||
|
||||
|
||||
|
||||
%%% Local Variables:
|
||||
%%% mode: latex
|
||||
%%% TeX-master: t
|
||||
%%% End:
|
||||
|
|
|
|||
|
|
@ -119,7 +119,7 @@ number of macro iterations. Either choice may be forced throughout
|
|||
the calculation by specifying the appropriate keyword on the
|
||||
\verb+HESSIAN+ directive.
|
||||
|
||||
E.g., to speficy the one-electron approximation throughout
|
||||
E.g., to specify the one-electron approximation throughout
|
||||
\begin{verbatim}
|
||||
hessian onel
|
||||
\end{verbatim}
|
||||
|
|
@ -140,13 +140,16 @@ E.g., to set the initial level shift to 0.5
|
|||
|
||||
\section{{\tt PRINT} and {\tt NOPRINT}}
|
||||
|
||||
Specific output items can selectively enabled or disabled using the
|
||||
Specific output items can be selectively enabled or disabled using the
|
||||
\verb+print+ control mechanism~(\ref{sec:printcontrol}) with the
|
||||
available print options listed in table(\ref{MCSCF_print_options}).
|
||||
|
||||
\begin{table}
|
||||
\caption{MCSCF Print Options}
|
||||
\begin{table}[htb]
|
||||
|
||||
\label{MCSCF_print_options}
|
||||
|
||||
\center
|
||||
|
||||
\vspace{.2in}
|
||||
\begin{tabular}{lrl}
|
||||
\hline\hline
|
||||
|
|
@ -166,6 +169,9 @@ Option & Class & Synopsis \\
|
|||
\verb+density matrix+ & debug & One- and Two-particle density matrices \\
|
||||
\hline\hline
|
||||
\end{tabular}
|
||||
|
||||
\caption{MCSCF Print Options}
|
||||
|
||||
\end{table}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ All three MP2 tasks share the same input block.
|
|||
|
||||
\begin{verbatim}
|
||||
MP2
|
||||
[FREEZE [[(core|occupied)] (atomic || <integer nfzc default 0>)] \
|
||||
[FREEZE [[core] (atomic || <integer nfzc default 0>)] \
|
||||
[virtual <integer nfzv default 0>]]
|
||||
[AOTOL2E <real aotol2e default 1d-9>]
|
||||
[MOTOL2E <real motol2e default 1d-9>]
|
||||
|
|
@ -59,10 +59,10 @@ All three MP2 tasks share the same input block.
|
|||
\label{mp2:core}
|
||||
|
||||
All MP2 modules support frozen core orbitals, however, only the direct
|
||||
MP2 and RI-MP2 modules support frozen virtual orbitals.
|
||||
MP2 and RI-MP2 modules support frozen virtual orbitals.
|
||||
|
||||
By default, no orbitals are frozen. The \verb+atomic+ keyword causes
|
||||
orbitals to be frozen according according to the rules in Table
|
||||
orbitals to be frozen according to the rules in Table
|
||||
\ref{tbl:freeze-by-atoms}. The actual input would be
|
||||
\begin{verbatim}
|
||||
freeze atomic
|
||||
|
|
@ -119,6 +119,14 @@ the first 10 orbitals, then the \verb+swap+ keyword of the
|
|||
\verb+VECTORS+ directive must be used to order the input orbitals
|
||||
correctly (Section \ref{sec:mp2vectors}).
|
||||
|
||||
To freeze the highest virtual orbitals, use the \verb+virtual+
|
||||
keyword. For instance, to freeze the top 5 virtuals
|
||||
\begin{verbatim}
|
||||
freeze virtual 5
|
||||
\end{verbatim}
|
||||
Again, note that this only works for the direct-MP2 and RI-MP2 energy
|
||||
codes.
|
||||
|
||||
\section{{\tt AOTOL2E} and {\tt MOTOL2E} --- Integral Screening}
|
||||
|
||||
The screening of AO and MO two-electron integrals are controlled by
|
||||
|
|
@ -351,7 +359,7 @@ boundaries). The compromise here is memory space versus multiple
|
|||
integral evaluations.
|
||||
|
||||
The energy evaluation batch sizes are computed in the code from the
|
||||
number of occupied orbitals in the the two sets of three-center
|
||||
number of occupied orbitals in the two sets of three-center
|
||||
integrals to be multiplied together to produce a matrix of approximate
|
||||
four-center integrals. Two blocks of integrals of dimension $({<batch
|
||||
isize>}\times {vir})$ and $({<batch jsize>}\times {vir})$ by fit are
|
||||
|
|
@ -364,7 +372,7 @@ large matrices) versus memory space.
|
|||
|
||||
The user must choose a strategy for the memory allocation in the energy
|
||||
evaluation phase of the RI-MP2 calculation, either by minimizing the amount
|
||||
of I/O, or minimizing the amount of compulation. This is be accomplished
|
||||
of I/O, or minimizing the amount of computation. This can be accomplished
|
||||
using a \verb+SET+ directive of the form,
|
||||
|
||||
\begin{verbatim}
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
\newcommand{\mc}[3]{\multicolumn{#1}{#2}{#3}}
|
||||
\newcommand{\vb}[1]{\mbox{\verb.#1.}}
|
||||
\newcommand{\none}{\multicolumn{2}{|c|}{ }}
|
||||
\renewcommand{\thetable}{\Roman{table}}
|
||||
%%%%%%%\renewcommand{\thetable}{\Roman{table}}
|
||||
\newcommand{\mcc}[1]{\multicolumn{2}{c}{#1}}
|
||||
\def\bmu{\mbox{\boldmath $\mu$}}
|
||||
\def\bE{\mbox{\bf E}}
|
||||
|
|
@ -54,26 +54,24 @@ locality of communication which is the main reason for the efficiency
|
|||
of this approach for very large molecular systems.
|
||||
|
||||
To improve efficiency, molecular systems are broken up into separately
|
||||
treated solvent and solute parts.
|
||||
Solvent molecules are assigned to the domains according to their
|
||||
center of geometry and are always owned by a one node. This avoids
|
||||
bonded interactions crossing node boundaries.
|
||||
Solute molecules are broken up into segments, with each
|
||||
segment assigned to a processor based on its center of geometry.
|
||||
This limits the number of solute bonded interactions that cross node
|
||||
boundaries.
|
||||
The processor to which a particular box is assigned is responsible for
|
||||
the calculation of all interactions between atoms within that box.
|
||||
For the calculation of forces and energies in which atoms in
|
||||
boxes assigned to different processors are involved, data are
|
||||
exchanged between processors. The number of neighboring boxes is
|
||||
determined by the size and shape of the boxes and the range of
|
||||
interaction. The data exchange that takes place every simulation time
|
||||
step represents the main communication requirements.
|
||||
Consequently, one of the main efforts is to design algorithms and
|
||||
data structures to minimize the cost of this communication. However,
|
||||
for very large molecular systems, memory requirements also need to be
|
||||
taken into account.
|
||||
treated solvent and solute parts. Solvent molecules are assigned to
|
||||
the domains according to their center of geometry and are always owned
|
||||
by a one node. This avoids solvent--solvent bonded interactions
|
||||
crossing node boundaries. Solute molecules are broken up into
|
||||
segments, with each segment assigned to a processor based on its
|
||||
center of geometry. This limits the number of solute bonded
|
||||
interactions that cross node boundaries. The processor to which a
|
||||
particular box is assigned is responsible for the calculation of all
|
||||
interactions between atoms within that box. For the calculation of
|
||||
forces and energies in which atoms in boxes assigned to different
|
||||
processors are involved, data are exchanged between processors. The
|
||||
number of neighboring boxes is determined by the size and shape of the
|
||||
boxes and the range of interaction. The data exchange that takes place
|
||||
every simulation time step represents the main communication
|
||||
requirements. Consequently, one of the main efforts is to design
|
||||
algorithms and data structures to minimize the cost of this
|
||||
communication. However, for very large molecular systems, memory
|
||||
requirements also need to be taken into account.
|
||||
|
||||
To compromise between these requirements exchange of data is performed
|
||||
in successive point to point communications rather than using the
|
||||
|
|
@ -100,7 +98,7 @@ redistribution is the more efficient and preferred method.
|
|||
The description of a molecular system consists of static and dynamic
|
||||
information. The static information does not change during a
|
||||
simulation and includes items such as connectivity, excluded and third
|
||||
neighbor lists and equilibrium values and force constants for all
|
||||
neighbor lists, equilibrium values and force constants for all
|
||||
bonded and non-bonded interactions. The static information is called
|
||||
the topology of the molecular system, and is kept on a separate
|
||||
topology file. The dynamic information includes coordinates and
|
||||
|
|
@ -117,7 +115,7 @@ a list of atoms, their non-bonded parameters for van der Waals and
|
|||
electrostatic interactions, and the complete connectivity in terms
|
||||
of bonds, angles and dihedrals.
|
||||
|
||||
In \nwargos, molecular systems a distinction is made between
|
||||
In \nwargos\ molecular systems, a distinction is made between
|
||||
{\it solvent} and {\it solute}, which are treated separately.
|
||||
A solvent molecule is defined only once in the topology file,
|
||||
even though many solvent molecules usually are included in the
|
||||
|
|
@ -142,7 +140,7 @@ topology file.
|
|||
A utility \nwsgm\ reads a rudimentary, force-field independent
|
||||
{\it fragment} defining atom types and connectivity, and
|
||||
constructs a template for a force-field dependent segment.
|
||||
Fragments can be also be collected into a set of fragment database
|
||||
Fragments can also be collected into a set of fragment database
|
||||
files.
|
||||
|
||||
A utility \nwrst\ generates a {\it restart} file, given a topology
|
||||
|
|
@ -166,7 +164,7 @@ For example, if {\tt crown.top} is the name of the topology file for
|
|||
a crown ether, {\tt crown\_em}, {\tt crown\_md}, {\tt crown\_mcti} could
|
||||
be used with appropriate extensions for the filenames for energy
|
||||
minimization, molecular dynamics simulation and multiconfiguration
|
||||
thermodynamic integration respectively. All of these calculations
|
||||
thermodynamic integration, respectively. All of these calculations
|
||||
would use the same topology file {\tt crown.top}.
|
||||
|
||||
\label{sec:nwaextensions}
|
||||
|
|
@ -213,7 +211,7 @@ level & Description & Availability \\
|
|||
\end{center}
|
||||
|
||||
Only the level {\bf s} and {\bf x} databases are publicly available.
|
||||
The user is responsible for the private level {\bf u} and {\bf r}
|
||||
The user is responsible for the private level {\bf u} and {\bf t}
|
||||
databases. When the utility programs scan the databases, the priority
|
||||
is {\bf t}$>${\bf u}$>${\bf x}$>${\bf s}$>$.
|
||||
|
||||
|
|
@ -253,8 +251,14 @@ Keyword & Force field & Current status \\
|
|||
\section{Creating fragment files}
|
||||
Fragment files contain the basic information needed to specify all
|
||||
interactions that need to be considered in a molecular simulation.
|
||||
The format of the fragment files is
|
||||
\begin{center}
|
||||
The format of the fragment files is described in Table \ref{tbl:nwafrag}
|
||||
|
||||
\begin{table}[htbp]
|
||||
|
||||
\label{tbl:nwafrag}
|
||||
|
||||
\center
|
||||
|
||||
\begin{tabular}{lll}
|
||||
\hline\hline
|
||||
Card & Format & Description \\ \hline
|
||||
|
|
@ -263,7 +267,7 @@ I-1-2 & a10 & name of the fragment, the tenth character\\
|
|||
& & N: identifies beginning of a chain\\
|
||||
& & C: identifies end of a chain\\
|
||||
& & blank: identifies chain fragment\\
|
||||
& & M: identifies a integral molecule\\
|
||||
& & M: identifies an integral molecule\\
|
||||
\hline
|
||||
I-2-1 & i5 & number of atoms in the fragment\\
|
||||
\hline
|
||||
|
|
@ -296,13 +300,15 @@ connectivity} \\
|
|||
III-1-1 & 16i5 & connectivity, duplication allowed\\
|
||||
\hline\hline
|
||||
\end{tabular}
|
||||
\end{center}
|
||||
|
||||
\caption{The format of NWArgos fragment files.}
|
||||
\end{table}
|
||||
|
||||
\section{Creating segment files}
|
||||
\label{sec:nwanwsgm}
|
||||
Program \nwsgm\ can be used to generate a template for a segment file
|
||||
from a corresponding fragment file. The segment file contains all
|
||||
information for the calculation of bonded and non-bonded interaction
|
||||
information for the calculation of bonded and non-bonded interactions
|
||||
for a given chemical system using a specific force field. If a
|
||||
fragment is available in a local file or in a database file, the
|
||||
segment can be generated using
|
||||
|
|
@ -315,17 +321,22 @@ should be replaced by underlines. \verb+<ffield>+ should be the
|
|||
name of an available force field.
|
||||
|
||||
The program \nwsgm\ only provides a template for a segment. It is
|
||||
often needed to make additional changes in this file. One important
|
||||
restriction is that dihedral interactions may only involve atoms on
|
||||
at most two segments. The segment entries define three sets of
|
||||
parameters for each interaction. Free energy perturbations can be
|
||||
performed using set 1 for the generation of the ensemble while using
|
||||
sets 2 and/or 3 as perturbations. Free energy multiconfiguration
|
||||
thermodynamic integration and multistep thermodynamic perturbation
|
||||
calculations are performed by gradually changing the interactions in
|
||||
the system from parameter set 2 to parameter set 3.
|
||||
The format of a segment is
|
||||
\begin{center}
|
||||
often needed to make additional changes in this file. One important
|
||||
restriction is that dihedral interactions may only involve atoms on at
|
||||
most two segments. The segment entries define three sets of parameters
|
||||
for each interaction. Free energy perturbations can be performed using
|
||||
set 1 for the generation of the ensemble while using sets 2 and/or 3
|
||||
as perturbations. Free energy multiconfiguration thermodynamic
|
||||
integration and multistep thermodynamic perturbation calculations are
|
||||
performed by gradually changing the interactions in the system from
|
||||
parameter set 2 to parameter set 3. The format of a segment is
|
||||
described in Tables \ref{tbl:nwaseg1}--\ref{tbl:nwaseg6}.
|
||||
|
||||
\begin{table}[htbp]
|
||||
\center
|
||||
|
||||
\label{tbl:nwaseg1}
|
||||
|
||||
\begin{tabular*}{150mm}{p{12mm}p{12mm}l}
|
||||
\hline\hline
|
||||
Deck & Format & Description \\ \hline
|
||||
|
|
@ -341,7 +352,16 @@ I-2-3 & i5 & number of angles in the segment\\
|
|||
I-2-4 & i5 & number of proper dihedrals in the segment\\
|
||||
I-2-5 & i5 & number of improper dihedrals in the segment\\
|
||||
\hline
|
||||
\end{tabular*}\\
|
||||
\end{tabular*}
|
||||
|
||||
\caption{NWArgos segment file format, table 1 of 6.}
|
||||
\end{table}
|
||||
|
||||
\begin{table}[htbp]
|
||||
\center
|
||||
|
||||
\label{tbl:nwaseg2}
|
||||
|
||||
\begin{tabular*}{150mm}{p{12mm}p{12mm}l}
|
||||
\hline\hline
|
||||
Deck & Format & Description \\ \hline
|
||||
|
|
@ -385,7 +405,16 @@ II-2-4 & f12.6 & atomic polarizability/$4\pi\epsilon_o$ in nm$^3$, set 2\\
|
|||
II-2-5 & f12.6 & atomic partial charge in e, set 3\\
|
||||
II-2-6 & f12.6 & atomic polarizability/$4\pi\epsilon_o$ in nm$^3$, set 3\\
|
||||
\hline
|
||||
\end{tabular*}\\
|
||||
\end{tabular*}
|
||||
|
||||
\caption{NWArgos segment file format, table 2 of 6.}
|
||||
\end{table}
|
||||
|
||||
\begin{table}[htbp]
|
||||
\center
|
||||
|
||||
\label{tbl:nwaseg3}
|
||||
|
||||
\begin{tabular*}{150mm}{p{12mm}p{12mm}l}
|
||||
\hline\hline
|
||||
Deck & Format & Description \\ \hline
|
||||
|
|
@ -406,7 +435,17 @@ III-2-4 & e12.5 & bond force constant in kJ nm$^2$ mol$^{-1}$, set 2 \\
|
|||
III-2-5 & f12.6 & bond length in nm, set 3\\
|
||||
III-2-6 & e12.5 & bond force constant in kJ nm$^2$ mol$^{-1}$, set 3 \\
|
||||
\hline
|
||||
\end{tabular*}\\
|
||||
\end{tabular*}
|
||||
|
||||
\caption{NWArgos segment file format, table 3 of 6.}
|
||||
|
||||
\end{table}
|
||||
|
||||
\begin{table}
|
||||
\center
|
||||
|
||||
\label{tbl:nwaseg4}
|
||||
|
||||
\begin{tabular*}{150mm}{p{12mm}p{12mm}l}
|
||||
\hline\hline
|
||||
Deck & Format & Description \\ \hline
|
||||
|
|
@ -427,7 +466,17 @@ IV-2-4 & e12.5 & angle force constant in kJ mol$^{-1}$, set 2 \\
|
|||
IV-2-5 & f12.6 & angle in radians, set 3\\
|
||||
IV-2-6 & e12.5 & angle force constant in kJ mol$^{-1}$, set 3 \\
|
||||
\hline
|
||||
\end{tabular*}\\
|
||||
\end{tabular*}
|
||||
|
||||
\caption{NWArgos segment file format, table 4 of 6.}
|
||||
|
||||
\end{table}
|
||||
|
||||
\begin{table}[htbp]
|
||||
\center
|
||||
|
||||
\label{tbl:nwaseg5}
|
||||
|
||||
\begin{tabular*}{150mm}{p{12mm}p{12mm}l}
|
||||
\hline\hline
|
||||
Deck & Format & Description \\ \hline
|
||||
|
|
@ -452,7 +501,16 @@ V-2-7 & i5 & multiplicity, set 3\\
|
|||
V-2-8 & f12.6 & proper dihedral in radians, set 3\\
|
||||
V-2-9 & e12.5 & proper dihedral force constant in kJ mol$^{-1}$, set 3 \\
|
||||
\hline
|
||||
\end{tabular*}\\
|
||||
\end{tabular*}
|
||||
|
||||
\caption{NWArgos segment file format, table 5 of 6.}
|
||||
\end{table}
|
||||
|
||||
\begin{table}[htbp]
|
||||
\center
|
||||
|
||||
\label{tbl:nwaseg6}
|
||||
|
||||
\begin{tabular*}{150mm}{p{12mm}p{12mm}l}
|
||||
\hline\hline
|
||||
Deck & Format & Description \\ \hline
|
||||
|
|
@ -475,12 +533,21 @@ VI-2-5 & f12.6 & improper dihedral in radians, set 3\\
|
|||
VI-2-6 & e12.5 & improper dihedral force constant in kJ mol$^{-1}$, set 3 \\
|
||||
\hline\hline
|
||||
\end{tabular*}
|
||||
\end{center}
|
||||
|
||||
\caption{NWArgos segment file format, table 6 of 6.}
|
||||
|
||||
\end{table}
|
||||
|
||||
|
||||
\section{Creating sequence files}
|
||||
A sequence file describes a molecular system in terms of segments. The
|
||||
file format is
|
||||
\begin{center}
|
||||
file format is given in Table \ref{tbl:nwaseq}
|
||||
|
||||
\begin{table}[htbp]
|
||||
\center
|
||||
|
||||
\label{tbl:nwaseq}
|
||||
|
||||
\begin{tabular*}{150mm}{p{12mm}p{12mm}l}
|
||||
\hline\hline
|
||||
Card & Format & Description \\ \hline
|
||||
|
|
@ -517,7 +584,9 @@ II-1-1 & i5 & link segment 10\\
|
|||
II-1-2 & i3 & link atom in link segment 10\\
|
||||
\hline\hline
|
||||
\end{tabular*}
|
||||
\end{center}
|
||||
|
||||
\caption{The NWArgos sequence file format.}
|
||||
\end{table}
|
||||
|
||||
\section{Creating topology files}
|
||||
\label{sec:nwanwtop}
|
||||
|
|
|
|||
108
doc/user/scf.tex
108
doc/user/scf.tex
|
|
@ -34,19 +34,24 @@ are as follows;
|
|||
TRIPLET
|
||||
QUARTET
|
||||
QUINTET
|
||||
SEXTEXT
|
||||
SEPTET
|
||||
OCTET
|
||||
NOPEN <integer nopen default 0>
|
||||
RHF
|
||||
ROHF
|
||||
UHF
|
||||
\end{verbatim}
|
||||
|
||||
The optional keywords \verb+SINGLET, DOUBLET, TRIPLET, QUARTET, QUINTET+
|
||||
and \verb+NOPEN+ allow the user to specify the number of open shells for a
|
||||
particular calculation. \verb+SINGLET+ is the default, and specifies a
|
||||
closed shell; \verb+DOUBLET+ specifies one open shell; \verb+TRIPLET+
|
||||
specifies two open shells; and so forth. If there are more than four
|
||||
open shells, the keyword \verb+NOPEN+ must be used, with the integer
|
||||
\verb+nopen+ defining the exact number of open shells.
|
||||
The optional keywords \verb+SINGLET+, \verb+DOUBLET+, \ldots,
|
||||
\verb+OCTET+ and \verb+NOPEN+ allow the user to specify the number of
|
||||
singly occupied orbitals for a particular calculation. \verb+SINGLET+
|
||||
is the default, and specifies a closed shell; \verb+DOUBLET+ specifies
|
||||
one singly occupied orbital; \verb+TRIPLET+ specifies two singly
|
||||
occupied orbitals; and so forth. If there are more than seven singly
|
||||
occupied orbitals, the keyword \verb+NOPEN+ must be used, with the
|
||||
integer \verb+nopen+ defining the exact number of singly occupied
|
||||
orbitals (sometimes referred to as open shells).
|
||||
|
||||
If the multiplicity is any value other than \verb+SINGLET+, the
|
||||
default calculation will be a spin-restricted, high-spin, open-shell
|
||||
|
|
@ -58,10 +63,10 @@ this.
|
|||
|
||||
A spin-unrestricted solution can also be performed by specifying the
|
||||
keyword \verb+UHF+. In UHF calculations, it is assumed that the
|
||||
number of open shells corresponds to the difference between the number
|
||||
of alpha-spin and beta-spin orbitals. For example, a UHF calculation
|
||||
with 2 more alpha-spin orbitals than beta-spin orbitals can be
|
||||
obtained by specifying
|
||||
number of singly occupied orbitals corresponds to the difference
|
||||
between the number of alpha-spin and beta-spin orbitals. For example,
|
||||
a UHF calculation with 2 more alpha-spin orbitals than beta-spin
|
||||
orbitals can be obtained by specifying
|
||||
|
||||
\begin{verbatim}
|
||||
scf
|
||||
|
|
@ -145,7 +150,7 @@ error in the energy is typically much greater than this threshold.
|
|||
The default threshold is the minimum of $10^{-7}$ and $0.01$ times the
|
||||
requested convergence threshold of the SCF calculation. This is
|
||||
suitable for nearly all purposes, though a more relaxed value of
|
||||
$10^-6$ might accelerate inaccurate exploratory calculations.
|
||||
$10^{-6}$ might accelerate inaccurate exploratory calculations.
|
||||
|
||||
The input to specify the threshold explicitly within the
|
||||
\verb+SCF+ directive is as follows, e.g.
|
||||
|
|
@ -172,7 +177,7 @@ by the user.
|
|||
\begin{verbatim}
|
||||
VECTORS [[input] (<string input_movecs default atomic>) || \
|
||||
(project <string basisname> <string filename>)] \
|
||||
[swap [alpha|beta] <integer vec1 vec2> ...] \
|
||||
[swap [alpha||beta] <integer vec1 vec2> ...] \
|
||||
[output <string output_filename default input_movecs>] \
|
||||
[lock]
|
||||
\end{verbatim}
|
||||
|
|
@ -267,9 +272,9 @@ An example of use of the \verb+SWAP+ directive:
|
|||
\end{verbatim}
|
||||
This directive will cause the initial orbitals to be read from the
|
||||
file \verb+"try1.movecs"+. The vectors for the orbitals within the
|
||||
pairs 173--175 will be swapped with those within 174--176. The final
|
||||
orbitals obtained in the calculation will be written to the file
|
||||
\verb+"try2.movecs"+.
|
||||
pairs 173--175 will be swapped with those within 174--176, so the
|
||||
resulting order is 175, 176, 173, 174. The final orbitals obtained in
|
||||
the calculation will be written to the file \verb+"try2.movecs"+.
|
||||
|
||||
The swapping of orbitals occurs as a sequential process in the order
|
||||
(left to right) input by the user. Thus, regarding each pair as an
|
||||
|
|
@ -369,14 +374,14 @@ precision is usually available by default.
|
|||
The default convergence threshold suffices for most SCF energy and
|
||||
geometry optimization calculations, providing about 6--8 decimal
|
||||
places in the energy, and about four significant figures in the
|
||||
density and derivative w.r.t.\ nuclear coordinates. However, weakly
|
||||
interacting systems, floppy molecules, finite-difference of gradients
|
||||
to compute the Hessian, and post-Hartree-Fock calculations may require
|
||||
greater precision. A threshold of $10^{-6}$ is adequate for most such
|
||||
purposes, and a threshold of $10^{-8}$ might be necessary for very
|
||||
high accuracy or very weak interactions. A threshold of $10^{-10}$
|
||||
should be regarded as the best that can be attained in most
|
||||
circumstances.
|
||||
density and energy derivative w.r.t.\ nuclear coordinates. However,
|
||||
weakly interacting systems, floppy molecules, finite-difference of
|
||||
gradients to compute the Hessian, and post-Hartree-Fock calculations
|
||||
may require greater precision. A threshold of $10^{-6}$ is adequate
|
||||
for most such purposes, and a threshold of $10^{-8}$ might be
|
||||
necessary for very high accuracy or very weak interactions. A
|
||||
threshold of $10^{-10}$ should be regarded as the best that can be
|
||||
attained in most circumstances.
|
||||
|
||||
\section{{\tt MAXITER} --- iteration limit}
|
||||
\label{sec:max}
|
||||
|
|
@ -426,7 +431,7 @@ and the computational strategy.
|
|||
|
||||
\begin{verbatim}
|
||||
RI [<string (hessian || preconverge || full) default full>] \
|
||||
[<string (disk || memory || auto) default memory>]
|
||||
[<string (disk || memory || auto) default auto>]
|
||||
\end{verbatim}
|
||||
|
||||
The first three parameters determine the extent of the approximation:
|
||||
|
|
@ -806,30 +811,28 @@ Hessian used with the Newton Raphson (NR) approach. It is also
|
|||
possible to change the level-shift automatically as the solution
|
||||
attains some specified accuracy. The form of the directive is as
|
||||
follows;
|
||||
|
||||
\begin{verbatim}
|
||||
LEVEL [pcg <real initial default 20.0> \
|
||||
[<real tol default 0.5> <real final default 0.0>]] \
|
||||
[nr <real initial default 0.0> \
|
||||
[<rel tol default 0.0> <real final default 0.0>]]
|
||||
[<real tol default 0.0> <real final default 0.0>]]
|
||||
\end{verbatim}
|
||||
|
||||
% Section \ref{sec:scfconv} discussed the use of level shifts to control
|
||||
% convergence. Level shifts may be set independently for both the
|
||||
% approximate (denoted here by PCG) and exact Hessians (denoted by
|
||||
% NR). You can also have the level shift automatically changed when a
|
||||
% certain accuracy is attained.
|
||||
|
||||
This directive contains only two keywords; one for the PCG method and
|
||||
the other for the exact Hessians. Specifying the keyword \verb+pcg+
|
||||
allows the user to define the level shifting for the approximate
|
||||
(i.e., PCG) method. Specifying the keyword \verb+nr+ allows the user
|
||||
to define the level shifting for the exact Hessians. In both options,
|
||||
the initial level shift is defined by the value specified for the
|
||||
variable \verb+initial+. Optionally, \verb+tol+ can specified
|
||||
independently with each keyword to define the level of accuracy that
|
||||
must be attained in the solution before the level shifting is changed
|
||||
to the value specified by input in the real variable \verb+final+.
|
||||
the other for the exact Hessian (Newton Raphson, or NR). Use of PCG
|
||||
or NR is determined by the input specified for \verb+nr_switch+ on the
|
||||
\verb+NR+ directive, Section \ref{sec:nrswitch} above.
|
||||
|
||||
Specifying the keyword \verb+pcg+ on the \verb+LEVEL+ directive allows
|
||||
the user to define the level shifting for the approximate (i.e., PCG)
|
||||
method. Specifying the keyword \verb+nr+ allows the user to define
|
||||
the level shifting for the exact Hessians. In both options, the
|
||||
initial level shift is defined by the value specified for the variable
|
||||
\verb+initial+. Optionally, \verb+tol+ can be specified independently
|
||||
with each keyword to define the level of accuracy that must be
|
||||
attained in the solution before the level shifting is changed to the
|
||||
value specified by input in the real variable \verb+final+. Level
|
||||
shifts and gradient thresholds are specified in atomic units.
|
||||
|
||||
For the PCG method (as specified using the keyword \verb+pcg+), the
|
||||
defaults for this input are 20.0 for \verb+initial+, 0.5 for
|
||||
|
|
@ -842,7 +845,6 @@ For the exact Hessian (as specified using the keyword \verb+nr+), the
|
|||
defaults are all zero. The exact Hessian is usually not shifted since
|
||||
this destroys quadratic convergence. An example of an input directive
|
||||
that applies a shift of 0.2 to the exact Hessian is as follows;
|
||||
|
||||
\begin{verbatim}
|
||||
level nr 0.2
|
||||
\end{verbatim}
|
||||
|
|
@ -850,7 +852,6 @@ that applies a shift of 0.2 to the exact Hessian is as follows;
|
|||
To apply this shift to the exact Hessian only until the maximum
|
||||
element of the gradient falls below 0.005, the required input
|
||||
directive is as follows;
|
||||
|
||||
\begin{verbatim}
|
||||
level nr 0.2 0.005 0
|
||||
\end{verbatim}
|
||||
|
|
@ -861,7 +862,6 @@ defaults, the keyword \verb+pcg+ must be specified also. For example,
|
|||
to specify the level shifting in the above example for the exact
|
||||
Hessian {\em and} non-default shifting for the PCG method, the
|
||||
directive would be something like the following;
|
||||
|
||||
\begin{verbatim}
|
||||
level pcg 20 0.3 0.0 nr 0.2 0.005 0.0
|
||||
\end{verbatim}
|
||||
|
|
@ -870,9 +870,7 @@ This input will cause the PCG method to be level-shifted by 20.0 until
|
|||
the maximum element of the gradient falls below 0.3, then the shift
|
||||
will be zero. For the exact Hessian, the level shifting is initially
|
||||
0.2, until the maximum element falls below 0.005, after which the
|
||||
shift is zero. (use of PCG or NR is determined by the input specified
|
||||
for \verb+nr_switch+ on the \verb+NR+ directive, Section
|
||||
\ref{sec:nrswitch} above.)
|
||||
shift is zero.
|
||||
|
||||
The default options correspond to
|
||||
\begin{verbatim}
|
||||
|
|
@ -913,17 +911,3 @@ print control, along with the print level or each one.
|
|||
``convergence'' \> default\> info each iteration
|
||||
\end{tabbing}
|
||||
|
||||
If no \verb+PRINT+ directives are defined explicitly in the input for
|
||||
the SCF module, the printed output from an SCF calculation will
|
||||
consist only of the above items with a ``default'' print level (i.e.,
|
||||
\verb+''mo guess''+, \verb+''final evals''+, \verb+''vectors i/o''+,
|
||||
\verb+''parameters''+, and \verb+''convergence''+). If the keyword
|
||||
\verb+debug+ is explicitly invoked on a \verb+PRINT+ directive, the
|
||||
output will include all items in the above list with a print level of
|
||||
\verb+debug+, in addition to the items with a print level of
|
||||
\verb+default+. If the keyword \verb+high+ is also invoked, all items
|
||||
in the above list will be printed. If only the keyword \verb+low+ is
|
||||
invoked, the only item that will be printed is \verb+''information''+.
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ the variable \verb+minutes+ that allowed the calculation to write out the
|
|||
gradient before failing.) The keyword \verb+restart+ allows the partially
|
||||
calculated forces from the previous calculation to be used as the starting
|
||||
point for the new calculation. If the gradient was not saved previously,
|
||||
however, this keyword has no affect. The gradients area automatically
|
||||
however, this keyword has no effect. The gradients are automatically
|
||||
recalculated from zero.
|
||||
|
||||
% This keyword tells the program that this is a restart of an aborted
|
||||
|
|
@ -57,7 +57,7 @@ so that Subsequent gradient
|
|||
|
||||
% \section{PRINT, NOPRINT}
|
||||
|
||||
The complementary keyword pair \verb+print+ and \verb+noprint+ allow the
|
||||
The complementary keyword pair \verb+print+ and \verb+noprint+ allows the
|
||||
user some additional control on the information that can be obtained from
|
||||
the SCF calculation. Currently, only a few items can be explicitly invoked
|
||||
via print control. These are as follows;
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ A typical sequence of calculations is as follows:
|
|||
previous} selection threshold.
|
||||
\end{enumerate}
|
||||
|
||||
To illustrate this, below is some abreviated output from a
|
||||
To illustrate this, below is some abbreviated output from a
|
||||
calculation on water in an augmented cc-PVDZ basis set with one frozen
|
||||
core orbital. The SCF was converged to high precision in $C_{2v}$
|
||||
symmetry with the following input
|
||||
|
|
@ -68,7 +68,7 @@ the SCF reference.
|
|||
\end{verbatim}
|
||||
Table \ref{selcitab} summarizes the output from each of the major
|
||||
computational steps that were performed.
|
||||
\begin{table}[h]
|
||||
\begin{table}[htbp]
|
||||
\begin{tabular}{c|l|r|l}
|
||||
& & CI & \\
|
||||
Step & Description & dimension & Energy \\ \hline
|
||||
|
|
|
|||
|
|
@ -35,140 +35,136 @@ number of iterations and the convergence criteria from the default
|
|||
values. The input for these options is described in the following
|
||||
sections.
|
||||
|
||||
\section{Action directives in the STEPPER Module}
|
||||
\section{{\tt MIN} and {\tt TS} --- Minimum or transition state search}
|
||||
|
||||
The default is for STEPPER to minimize the energy with respect to the
|
||||
geometry of the system. STEPPER can also be used to find the
|
||||
transition state by following the lowest eigenvector of the nuclear
|
||||
Hessian. There are several options available to modify the behavior
|
||||
of the STEPPER module. The input to define the multiple actions of
|
||||
STEPPER is defined generically.
|
||||
|
||||
geometry of the system. This default behaviour may be forced with the
|
||||
directive
|
||||
\begin{verbatim}
|
||||
<string (action || variable) [variable value] default MIN>
|
||||
\end{verbatim}
|
||||
MIN
|
||||
\end{directive}
|
||||
|
||||
The value \verb+MIN+ for the string \verb+action+ specifies the default
|
||||
energy minimization. Finding the lowest transition state is specified
|
||||
by entering the value \verb+TS+ for the string \verb+action+.
|
||||
STEPPER can also be used to find the transition state by following the
|
||||
lowest eigenvector of the nuclear Hessian. This is usually invoked
|
||||
by using the \verb+saddle+ keyword on the \verb+TASK+ directive
|
||||
(Section \ref{sec:task}), but it may also be selected by specifying
|
||||
the directive
|
||||
\begin{verbatim}
|
||||
TS
|
||||
\end{verbatim}
|
||||
in the STEPPER input.
|
||||
|
||||
\section{{\tt TRACK} --- Mode selection}
|
||||
|
||||
STEPPER has the ability to ``track'' a specific mode during an
|
||||
optimation for a transition state search, the user can also have the
|
||||
module track the eigenvector corresponding to a specific mode. This
|
||||
is done by specifying the keyword \verb+TRACK+, using the following
|
||||
input line,
|
||||
|
||||
is done by specifying the directive
|
||||
\begin{verbatim}
|
||||
TRACK [nmode <integer nmode default 1>]
|
||||
\end{verbatim}
|
||||
|
||||
The keyword \verb+TRACK+ tells STEPPER to track the eigenvector
|
||||
corresponding to the integer value of \verb+nmode+ during a transition
|
||||
corresponding to the integer value of \verb+<nmode>+ during a transition
|
||||
state walk. (Note: this input is invalid for a minimization walk
|
||||
since following a specific eigenvector will not necessarily give the
|
||||
desired local minimum .) The step is constructed to go up in energy
|
||||
desired local minimum.) The step is constructed to go up in energy
|
||||
along the \verb+nmode+ eigenvector and down in all other degrees of
|
||||
freedom.
|
||||
|
||||
\section{Control of the STEPPER Calculation}
|
||||
\section{{\tt MAXITER} --- Maximum number of steps}
|
||||
|
||||
In most applications, 20 stepper iterations will be sufficient to
|
||||
obtain the energy minimization. However, the user has
|
||||
the option of specifying the maximum number of iterations allowed,
|
||||
using the input line,
|
||||
|
||||
obtain the energy minimization. However, the user has the option of
|
||||
specifying the maximum number of iterations allowed, using the input
|
||||
line,
|
||||
\begin{verbatim}
|
||||
MAXITER <integer maxiter default 20>
|
||||
\end{verbatim}
|
||||
The value specified for the integer \verb+<maxiter>+ defines the maximum
|
||||
number of geometry optimization steps. The geometry optimization will
|
||||
restart automatically.
|
||||
|
||||
The value specified for the integer \verb+maxiter+ defines the maximum
|
||||
number of geometry optimization steps. The
|
||||
geometry optimization will restart automatically.
|
||||
|
||||
The size of steps that can be taken in STEPPER is governed by the degree
|
||||
to which the calculated values of the eigenvectors can be considered
|
||||
reasonably good. This is the 'trust radius', and has a default value of
|
||||
0.1, which means that the step in the direction determined will be no
|
||||
longer than the trust radius. The user has the option of overriding this
|
||||
default using the keyword \verb+TRUST+, with the following input line,
|
||||
\section{{\tt TRUST} --- Trust radius}
|
||||
|
||||
The size of steps that can be taken in STEPPER is controlled by the
|
||||
trust radius which has a default value of 0.1. Steps are constrained
|
||||
to be no larger than the trust radius. The user has the option of
|
||||
overriding this default using the keyword \verb+TRUST+, with the
|
||||
following input line,
|
||||
\begin{verbatim}
|
||||
TRUST <real radius default 0.1>
|
||||
\end{verbatim}
|
||||
|
||||
The larger the value specified for the variable \verb+radius+, the larger
|
||||
the steps that can be taken by STEPPER. Experience has shown that for
|
||||
larger systems (i.e., those with 20 or more atoms), a value of 0.5 or
|
||||
greater should be entered for \verb+radius+.
|
||||
The larger the value specified for the variable \verb+radius+, the
|
||||
larger the steps that can be taken by STEPPER. Experience has shown
|
||||
that for larger systems (i.e., those with 20 or more atoms), a value
|
||||
of 0.5, or greater, usually should be entered for \verb+<radius>+.
|
||||
|
||||
\section{Convergence Criteria for the STEPPER Calculations}
|
||||
\section{{\tt CONVGG} and {\tt CONVGE} --- Convergence criteria}
|
||||
|
||||
Two convergence criteria can be specified explicitly for the
|
||||
STEPPER calculations. The keyword \verb+CONVGG+ allows the user to
|
||||
specify the the convergence tolerence for the gradient norm for
|
||||
all degrees of freedom. The input line is of the following form,
|
||||
|
||||
\begin{verbatim}
|
||||
CONVGG <real convgg default 1.0d-04>
|
||||
\end{verbatim}
|
||||
|
||||
The entry for the real variable \verb+convgg+ should be approximately
|
||||
The entry for the real variable \verb+<convgg>+ should be approximately
|
||||
equal to the square root of the energy convergence tolerance.
|
||||
|
||||
The energy convergence tolerance is the convergence criterion for the
|
||||
energy difference in the geometry optimization in STEPPER. It can be
|
||||
specified by input using a line of the following form,
|
||||
|
||||
\begin{verbatim}
|
||||
CONVGE <real convge default 1.0d-08>
|
||||
\end{verbatim}
|
||||
|
||||
|
||||
\section{Initial Guess for Nuclear Hessian}
|
||||
%\section{{\tt FDAT} and {\tt FOPT} --- Initial Guess for Nuclear Hessian}
|
||||
%
|
||||
%Any initial hessian can be used with the STEPPER module via the ASCII
|
||||
%hessian interface. The lower triangular [$3N{\times}(3N+1)/2$] matrix
|
||||
%written in any ASCII format (e.g., 1pd20.10) will work but the entries
|
||||
%must be one per line. This should be stored in a file called
|
||||
%\verb+$file_prefix$+.hess in the current working directory of
|
||||
%node zero.
|
||||
%
|
||||
%There are two other options that stepper allows regarding the initial
|
||||
%guess for the nuclear hessian. By specifying a basis set (smaller
|
||||
%than the desired basis set) with basis set name of ``fd basis'' (c.f.,
|
||||
%Section \ref{sec:basis} users can optimize the geometry using the
|
||||
%smaller basis and then generate a finite difference hessian.
|
||||
%Alternatively users may generate a finite difference hessian at the
|
||||
%current geometry.
|
||||
%
|
||||
%These actions are invoked with the input
|
||||
%\begin{verbatim}
|
||||
% FDAT
|
||||
%\end{verbatim}
|
||||
%This computes the finite difference nuclear hessian at the current
|
||||
%geometry using the ``fd basis'' and then begins the optimization using
|
||||
%the ``ao basis'' for the particular QM method.
|
||||
%
|
||||
%The directive
|
||||
%\begin{verbatim}
|
||||
%FDOPT
|
||||
%\end{verbatim}
|
||||
%optimizes the geomety of the system in the basis ``fd basis'' using
|
||||
%the user specified QM method. The finite difference nuclear hessian
|
||||
%is then computed at this optimized geometry for the ``fd basis.'' The
|
||||
%optimization using the ``ao basis'' for the particular QM method is
|
||||
%then started.
|
||||
%
|
||||
|
||||
Any initial hessian can be used with the STEPPER module via the ASCII
|
||||
hessian interface. The lower triangular [$3N{\times}(3N+1)/2$] matrix
|
||||
written in any ASCII format (e.g., 1pd20.10) will work but the entries
|
||||
must be one per line. This should be stored in a file called
|
||||
\verb+<default_file_prefix>+.hess in the current working directory of
|
||||
node zero.
|
||||
|
||||
There are two other options that stepper allows regarding the initial
|
||||
guess for the nuclear hessian. By specifying a basis set (smaller
|
||||
than the desired basis set) with basis set name of ``fd basis'' (c.f.,
|
||||
Section \ref{sec:basis} users can optimize the geometry using the
|
||||
smaller basis and then generate a finite difference hessian.
|
||||
Alternatively users may generate a finite difference hessian at the
|
||||
current geometry.
|
||||
|
||||
These actions are invoked with the input tokens:
|
||||
|
||||
\begin{verbatim}
|
||||
FDAT
|
||||
\end{verbatim}
|
||||
|
||||
FDAT computes the finite difference nuclear hessian at the current
|
||||
geometry using the ``fd basis'' and then begins the optimization using
|
||||
the ``ao basis'' for the particular QM method.
|
||||
|
||||
\begin{verbatim}
|
||||
FDOPT
|
||||
\end{verbatim}
|
||||
|
||||
FDOPT optimizes the geomety of the system in the ``fd basis'' using
|
||||
the user specified QM method. The finite difference nuclear hessian
|
||||
is then computed at this optimized geometry for the ``fd basis.''
|
||||
The optimization using the ``ao basis'' for the particular QM method
|
||||
is then started.
|
||||
|
||||
\section{Backsteping in Stepper}
|
||||
|
||||
If a step taken during the optimization is too large (e.g., the step
|
||||
causes the energy to go up for a minimization or down for a transition
|
||||
state search), the STEPPER optimizer will automatically ``backstep'' and
|
||||
correct the step based on information prior to the faulty step. If
|
||||
you have an optimization that ``backsteps'' frequently then the inital
|
||||
trust radius should most likely be decreased.
|
||||
state search), the STEPPER optimizer will automatically ``backstep''
|
||||
and correct the step based on information prior to the faulty step.
|
||||
If you have an optimization that ``backsteps'' frequently then the
|
||||
inital trust radius should most likely be decreased.
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -163,7 +163,7 @@ single directory for all processes, or different directories for
|
|||
different processes. The general form of the directive is as follows;
|
||||
|
||||
\begin{verbatim}
|
||||
(PERMANENT_DIR || SCRATCH_DIR) [(<string host>|<integer process>):] \
|
||||
(PERMANENT_DIR || SCRATCH_DIR) [(<string host>||<integer process>):] \
|
||||
<string directory> \
|
||||
[...]
|
||||
\end{verbatim}
|
||||
|
|
@ -770,7 +770,8 @@ specified processes to be executed using the Bourne shell. This form
|
|||
of the task directive is as follows;
|
||||
|
||||
\begin{verbatim}
|
||||
TASK shell [(<integer-range processor = 0>|all)] <string command> [ignore]
|
||||
TASK shell [(<integer-range processor = 0>||all)] \
|
||||
<string command> [ignore]
|
||||
\end{verbatim}
|
||||
|
||||
The keyword \verb+shell+ is required for this directive. It specifies
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
% $Id: user.tex,v 1.18 1997-02-26 03:17:27 d3g681 Exp $
|
||||
% $Id: user.tex,v 1.19 1997-02-27 01:11:10 d3g681 Exp $
|
||||
|
||||
\documentstyle[fullpage,12pt]{book}
|
||||
\documentstyle[fullpage,12pt,openany,fleqn]{book}
|
||||
\setlength{\parskip}{6pt}
|
||||
|
||||
% Set the version and year of release globally
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue