From 02b16a2e92bc2bf35a2a220ee924bf28df14fbee Mon Sep 17 00:00:00 2001 From: Robert Harrison Date: Thu, 27 Feb 1997 01:11:10 +0000 Subject: [PATCH] more corrections from people, adjusted layout of tables in argos --- doc/user/basis.tex | 4 +- doc/user/dft.tex | 381 ++++++++++++++++++----------------------- doc/user/mcscf.tex | 14 +- doc/user/mp2.tex | 18 +- doc/user/nwargos.tex | 171 ++++++++++++------ doc/user/scf.tex | 108 +++++------- doc/user/scfgrad.tex | 4 +- doc/user/selci.tex | 4 +- doc/user/stepper.tex | 158 +++++++++-------- doc/user/top-level.tex | 5 +- doc/user/user.tex | 4 +- 11 files changed, 442 insertions(+), 429 deletions(-) diff --git a/doc/user/basis.tex b/doc/user/basis.tex index 44f09622e6..f4e6f42aa6 100644 --- a/doc/user/basis.tex +++ b/doc/user/basis.tex @@ -22,7 +22,7 @@ The general form of the \verb+BASIS+ directive is as follows; [(print || noprint) default print] library [] \ - [file ] + [file ] ... @@ -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 diff --git a/doc/user/dft.tex b/doc/user/dft.tex index 8a2d5dda83..c601278765 100644 --- a/doc/user/dft.tex +++ b/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] () || \ (project )] \ - [swap [alpha|beta] ...] \ + [swap [alpha||beta] ...] \ [output ] \ [lock] XC [[acm] [b3lyp] [beckehandh] \ - [HFexch ] \ - [becke88 [nonlocal] ] \ - [lyp ] \ - [perdew81 ] \ - [perdew86 [nonlocal] ] \ - [perdew91 [nonlocal] ] \ - [pw91lda ] \ - [slater ] \ - [vwn_1 ] \ - [vwn_2 ] \ - [vwn_3 ] \ - [vwn_4 ] \ - [vwn_5 ] \ - [vwn_1_rpa ]] + [HFexch ] \ + [becke88 [nonlocal] ] \ + [lyp ] \ + [perdew81 ] \ + [perdew86 [nonlocal] ] \ + [perdew91 [nonlocal] ] \ + [pw91lda ] \ + [slater ] \ + [vwn_1 ] \ + [vwn_2 ] \ + [vwn_3 ] \ + [vwn_4 ] \ + [vwn_5 ] \ + [vwn_1_rpa ]] CONVERGENCE [[energy ] \ @@ -80,11 +78,14 @@ the DFT module are: [hl_tol ]] - GRID [[coarse|medium|fine|xfine] \ - [gausleg ] \ - [lebedev ] \ - [store_wght] [nquad_task ] \ - [delley|becke] [rm ]] + GRID [(coarse||medium||fine||xfine) default medium] \ + [(gausleg + ) ||\ + (lebedev + )] \ + [store_wght] [nquad_task ] \ + [delley||becke] \ + [rm ] TOLERANCES [[tight] [tol_rho ] \ @@ -96,7 +97,7 @@ the DFT module are: DECOMP - DFT|ODFT + DFT||ODFT DIRECT INCORE ITERATIONS @@ -104,7 +105,7 @@ the DFT module are: MULLIKEN MULT 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] () || \ - (project )] \ - [swap [alpha|beta] ...] \ - [output ] \ - [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 ] \ - [becke88 [nonlocal] ] \ - [lyp ] \ - [perdew81 ] \ - [perdew86 [nonlocal] ] \ - [perdew91 [nonlocal] ] \ - [pw91lda ] \ - [slater ] \ - [vwn_1 ] \ - [vwn_2 ] \ - [vwn_3 ] \ - [vwn_4 ] \ - [vwn_5 ] \ - [vwn_1_rpa ]] - - - DECOMP + [HFexch ] \ + [becke88 [nonlocal] ] \ + [lyp ] \ + [perdew81 ] \ + [perdew86 [nonlocal] ] \ + [perdew91 [nonlocal] ] \ + [pw91lda ] \ + [slater ] \ + [vwn_1 ] \ + [vwn_2 ] \ + [vwn_3 ] \ + [vwn_4 ] \ + [vwn_5 ] \ + [vwn_1_rpa ]] \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++ 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 - - CONVERGENCE [[energy ] \ - [density ] \ - [gradient ] \ - [dampon ] \ - [dampoff ] \ - [diison ] \ - [diisoff ] \ - [levlon ] \ - [levloff ] \ - [ncydp ] \ - [ncyds ] \ - [ncysh ] \ - [damp ] [nodamping] \ - [diis [nfock ]] \ - [nodiis] [lshift ] \ - [nolevelshifting] \ - [hl_tol ]] - - \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 ] \ + [density ] \ + [gradient ] \ + [hl_tol ] + [dampon ] \ + [dampoff ] \ + [ncydp ] \ + [ncyds ] \ + [ncysh ] \ + [damp ] [nodamping] \ + [diison ] \ + [diisoff ] \ + [(diis [nfock ]) || nodiis] \ + [levlon ] \ + [levloff ] \ + [(lshift ) || 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 \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 \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 \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 ] \ [dampoff ] \ @@ -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 ] \ [ncyds ] \ @@ -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 ] \ [diis [nfock ]] \ @@ -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 ] \ [lebedev ] \ [store_wght] [nquad_task - ] \ [delley|becke] [rm ]] - - + GRID [(coarse||medium||fine||xfine) default medium] \ + [(gausleg + ) ||\ + (lebedev + )] \ + [store_wght] [nquad_task ] \ + [delley||becke] \ + [rm ] \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 - \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 - \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 ] \ [accAOfunc ] \ @@ -663,25 +629,22 @@ the level of angular quadrature (1-7). [accQrad ] \ [accXCfunc ] \ [radius ]] - - \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 \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 \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 \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 \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 \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 \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 \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 + MULT \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: diff --git a/doc/user/mcscf.tex b/doc/user/mcscf.tex index 5fe3986c7b..1f9f2eda27 100644 --- a/doc/user/mcscf.tex +++ b/doc/user/mcscf.tex @@ -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} diff --git a/doc/user/mp2.tex b/doc/user/mp2.tex index 0b9ad03bdc..584800a0c9 100644 --- a/doc/user/mp2.tex +++ b/doc/user/mp2.tex @@ -42,7 +42,7 @@ All three MP2 tasks share the same input block. \begin{verbatim} MP2 - [FREEZE [[(core|occupied)] (atomic || )] \ + [FREEZE [[core] (atomic || )] \ [virtual ]] [AOTOL2E ] [MOTOL2E ] @@ -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 $({}\times {vir})$ and $({}\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} diff --git a/doc/user/nwargos.tex b/doc/user/nwargos.tex index 96899cc692..86186c7638 100644 --- a/doc/user/nwargos.tex +++ b/doc/user/nwargos.tex @@ -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++ 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} diff --git a/doc/user/scf.tex b/doc/user/scf.tex index f517121d03..cfe38de75e 100644 --- a/doc/user/scf.tex +++ b/doc/user/scf.tex @@ -34,19 +34,24 @@ are as follows; TRIPLET QUARTET QUINTET + SEXTEXT + SEPTET + OCTET NOPEN 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] () || \ (project )] \ - [swap [alpha|beta] ...] \ + [swap [alpha||beta] ...] \ [output ] \ [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 [] \ - [] + [] \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 \ [ ]] \ [nr \ - [ ]] + [ ]] \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''+. - - - diff --git a/doc/user/scfgrad.tex b/doc/user/scfgrad.tex index 7a973b6d59..2e0d5d59cc 100644 --- a/doc/user/scfgrad.tex +++ b/doc/user/scfgrad.tex @@ -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; diff --git a/doc/user/selci.tex b/doc/user/selci.tex index b097289c8e..caa42d1889 100644 --- a/doc/user/selci.tex +++ b/doc/user/selci.tex @@ -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 diff --git a/doc/user/stepper.tex b/doc/user/stepper.tex index c72bbb1a13..93eeb27243 100644 --- a/doc/user/stepper.tex +++ b/doc/user/stepper.tex @@ -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} - -\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 ] \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++ 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 \end{verbatim} +The value specified for the integer \verb++ 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 \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++. -\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 \end{verbatim} - -The entry for the real variable \verb+convgg+ should be approximately +The entry for the real variable \verb++ 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 \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++.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. diff --git a/doc/user/top-level.tex b/doc/user/top-level.tex index fd81282fc6..f83009a881 100644 --- a/doc/user/top-level.tex +++ b/doc/user/top-level.tex @@ -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) [(|):] \ + (PERMANENT_DIR || SCRATCH_DIR) [(||):] \ \ [...] \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 [(|all)] [ignore] + TASK shell [(||all)] \ + [ignore] \end{verbatim} The keyword \verb+shell+ is required for this directive. It specifies diff --git a/doc/user/user.tex b/doc/user/user.tex index aaf94d48d0..671d1fd591 100644 --- a/doc/user/user.tex +++ b/doc/user/user.tex @@ -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