From db06ad8e8c96773bde3553277b5822151cd9d7b9 Mon Sep 17 00:00:00 2001 From: edoapra Date: Wed, 14 Sep 2022 13:33:19 -0700 Subject: [PATCH] updates [ci skip] --- doc/prog/GNUmakefile | 6 +- doc/prog/cvsintro.tex | 52 +++++++-------- doc/prog/ecce.tex | 152 +++++++++++++++++++++--------------------- doc/prog/nwarch.tex | 2 +- doc/prog/prog.tex | 16 +++-- 5 files changed, 120 insertions(+), 108 deletions(-) diff --git a/doc/prog/GNUmakefile b/doc/prog/GNUmakefile index c658649af7..0ceb72e504 100644 --- a/doc/prog/GNUmakefile +++ b/doc/prog/GNUmakefile @@ -25,7 +25,11 @@ TARG = prog -all postscript $(TARG).ps: $(SOURCE) +all: $(SOURCE) + pdflatex $(TARG).tex + pdflatex $(TARG).tex + pdflatex $(TARG).tex +postscript $(TARG).ps: $(SOURCE) latex $(TARG).tex latex $(TARG).tex latex $(TARG).tex diff --git a/doc/prog/cvsintro.tex b/doc/prog/cvsintro.tex index dd8e66fc9d..ec1bff16e1 100644 --- a/doc/prog/cvsintro.tex +++ b/doc/prog/cvsintro.tex @@ -23,7 +23,7 @@ \section{Managing NWChem} This section provides a brief introduction and overview of the CVS system. Developers needing more detailed information on specific CVS commands and capabilities are refered to the on-line documentation included in the CVS -code package (i.e., the \verb+man+ pages; consult your system administrator +code package (i.e., the \texttt{man} pages; consult your system administrator if your system does not have them installed.) \subsection{Introduction to CVS} @@ -237,68 +237,68 @@ \subsection{Summary of CVS commands} The following is provided as a quick reference guide to CVS. A more detailed short-form reference is available in -\verb+nwchem/doc/cvshelp.man+. Detailed documentation can be obtained using +\texttt{nwchem/doc/cvshelp.man}. Detailed documentation can be obtained using the command -\verb+man cvs+. +\texttt{man cvs}. \begin{description} -\item{\verb+setenv CVSROOT /msrc/proj/mss+} --- in \verb+csh+ this +\item{\texttt{setenv CVSROOT /msrc/proj/mss}} --- in \texttt{csh} this defines the path to the CVS repository. Put this in your - \verb+.cshrc+ or \verb+.mycshrc+. + \texttt{.cshrc} or \texttt{.mycshrc}. -\item{\verb+cvs co nwchem+} --- checks out the entire source for NWChem into - the directory \verb+nwchem+. The repository is unaffected. +\item{\texttt{cvs co nwchem}} --- checks out the entire source for NWChem into + the directory \texttt{nwchem}. The repository is unaffected. -\item{\verb+cvs -n update+} --- compares the contents of the current +\item{\texttt{cvs -n update}} --- compares the contents of the current directory and all subdirectories against the repository and flags files according to their status: \begin{description} - \item{\verb+?+} --- the file is not maintained by CVS. - \item{\verb+M+} --- your checked-out version differs from the original + \item{\texttt{?}} --- the file is not maintained by CVS. + \item{\texttt{M}} --- your checked-out version differs from the original (i.e., you edited it). - \item{\verb+U+} --- your checked-out version is out-of-date and + \item{\texttt{U}} --- your checked-out version is out-of-date and needs updating. - \item{\verb+C+} --- potential conflict. You have changed this file + \item{\texttt{C}} --- potential conflict. You have changed this file and the source in the repository has also changed. \item{File not listed} --- your source is the same as that in the repository. \end{description} Neither the repository nor your source are changed. -\item{\verb+cvs update+} --- updates the contents of the current +\item{\texttt{cvs update}} --- updates the contents of the current directory and all subdirectories with the latest versions of the source, again flagging files according to their status. {\em You are responsible for correcting files that CVS flags as containing conflicts between edits you and others have made.} However, CVS handles all other merging. New files will also be added to your source, but to get new directories you must append the - \verb+-d+ flag. Your source is changed; the repository is + \texttt{-d} flag. Your source is changed; the repository is unaffected. -\item{\verb+cvs diff filename+} --- generates differences between the +\item{\texttt{cvs diff filename}} --- generates differences between the file and the version of the file you checked out (i.e., it indicates edits you made). If you want to compare against the most recent - version in the repository use \verb+cvs diff -r head filename+. + version in the repository use \texttt{cvs diff -r head filename}. Neither the repository nor your source are changed. -\item{\verb+cvs add filename+} --- adds a new file to the repository. - The new file is not actually added until you execute \verb+cvs - commit+. Changes CVS internal information in your source tree but +\item{\texttt{cvs add filename}} --- adds a new file to the repository. + The new file is not actually added until you execute \texttt{cvs + commit}. Changes CVS internal information in your source tree but does not affect the repository. -\item{\verb+cvs rm filename+} --- to delete a file from the repository - delete it from your source with the standard UNIX \verb+rm+ command +\item{\texttt{cvs rm filename}} --- to delete a file from the repository + delete it from your source with the standard UNIX \texttt{rm} command then tell CVS to delete it with this command. The file - is not actually removed until you execute \verb+cvs commit+. Changes CVS + is not actually removed until you execute \texttt{cvs commit}. Changes CVS internal information in your source tree but does not affect the repository. -\item{\verb+cvs commit+} --- this is the only command that affects the +\item{\texttt{cvs commit}} --- this is the only command that affects the repository. Before committing changes and updating the repository with changes in a list of files or the current directory tree you must \begin{itemize} \item ensure that all of your sources are up-to-date with respect to - the repository by using \verb+cvs update+, + the repository by using \texttt{cvs update}, \item resolve all conflicts resulting from the update, and \item ensure that the updated code functions correctly. \end{itemize} @@ -317,10 +317,10 @@ \subsection{Troubleshooting CVS} CVS version information is "sticky". That is, CVS usually remembers the specific version checked out to a working directory. This can be confusing, -since the output of such commands as \verb+cvs update+, etc., will not +since the output of such commands as \texttt{cvs update}, etc., will not always refer to the latest (or head) version. Changes can magically -disappear. This may be desirable. Or it may not be. The option \verb+-A+ +disappear. This may be desirable. Or it may not be. The option \texttt{-A} forces the system to look at the lastest version when doing the update. The form of the command is diff --git a/doc/prog/ecce.tex b/doc/prog/ecce.tex index affc07b365..8207755ef9 100644 --- a/doc/prog/ecce.tex +++ b/doc/prog/ecce.tex @@ -51,7 +51,7 @@ \subsection{Contents of Output for Ecce} \item Geometry as input by the user \item Geometry when updated by STEPPER or DRIVER \item Name of basis set(s) used by the application (e.g., if {\tt ao - basis} was set to be \verb+6-31g*+) + basis} was set to be \texttt{6-31g*}) \item Convergence of SCF/DFT (energy and orbital-gradient norm) \item Final converged total energies \item Gradients w.r.t. geometry (analytic and numerical) and norm thereof @@ -78,16 +78,16 @@ \subsection{Format of Output} \end{verbatim} where: \begin{description} -\item [\verb++] is a white space separated list of +\item [\texttt{}] is a white space separated list of module names representing the (logical) call tree, -\item [\verb+ ... +] contains the size of each dimension +\item [\texttt{ ... }] contains the size of each dimension for arrays or tensors (unity for a scalar), -\item [\verb++] identifies the quantity that is being output +\item [\texttt{}] identifies the quantity that is being output (See below for more detail on the actual keywords.) -\item [\verb++] is the data type (\verb+"char"+, \verb+"int"+, - \verb+"long"+, \verb+"float"+, \verb+"double"+, \verb+"complex - float"+, and \verb+"logical"+), -\item [\verb++] contains the values (one character string per +\item [\texttt{}] is the data type (\texttt{"char"}, \texttt{"int"}, + \texttt{"long"}, \texttt{"float"}, \texttt{"double"}, \texttt{"complex + float"}, and \texttt{"logical"}), +\item [\texttt{}] contains the values (one character string per line, multiple values per line for other data types limited to circa 80 characters per line). \end{description} @@ -124,7 +124,7 @@ \subsubsection{ routine ecce\_print\_module\_entry(module)} %end%enter%1%character \end{verbatim} - and then pushes \verb++ onto the module name stack. + and then pushes \texttt{} onto the module name stack. Module names will everywhere be printed with internal white space replaced with underscores. @@ -147,8 +147,8 @@ \subsubsection{routine ecce\_print\_module\_exit(module, status)} %end%exit%2%character \end{verbatim} and (with the valid assumption that no nwchem module is reentrant) - pops the module name stack until either \verb++ is popped - off it, or the stack is empty. If \verb++ is not found on + pops the module name stack until either \texttt{} is popped + off it, or the stack is empty. If \texttt{} is not found on the stack print an informative message to stderr (no more than one such message per calculation) and continue. @@ -180,9 +180,9 @@ \subsubsection{ routine ecce\_print1(keyword, ma\_type, data, dim1) } \begin{quotation} - Real data will be printed with the printf format \verb+%.14e+ + Real data will be printed with the printf format \texttt{\%.14e} - Boolean data will be printed as \verb+t+ and \verb+f+ + Boolean data will be printed as \texttt{t} and \texttt{f} \end{quotation} @@ -234,7 +234,7 @@ \subsubsection{routine ecce\_print\_control(status, old)} void ecce_print_control(int status, int *old) \end{verbatim} -Sets the boolean (0=FALSE, 1=TRUE) controling printing to \verb=status= and +Sets the boolean (0=FALSE, 1=TRUE) controling printing to \texttt{status} and returns the previous setting. \subsubsection{ routine ecce\_print\_file\_open(filename)} @@ -250,7 +250,7 @@ \subsubsection{ routine ecce\_print\_file\_open(filename)} other ecce routines, and continue. Inside NWChem only process $0$ would open the file and all other - processes would therefore quietly ignore all \verb+ecce_*()+ calls. + processes would therefore quietly ignore all \texttt{ecce\_\*()} calls. \subsubsection{ routine ecce\_print\_file\_close()} @@ -299,11 +299,11 @@ \subsection{Standard exit status} Standard exit status values include \begin{description} -\item [\verb+"ok"+] --- success. -\item [\verb+"warning"+] --- success, but user should check the output for +\item [\texttt{"ok"}] --- success. +\item [\texttt{"warning"}] --- success, but user should check the output for more information. -\item [\verb+"error"+] --- a fatal user or program error. -\item [\verb+"failed to converge"+] --- sometimes this is OK. +\item [\texttt{"error"}] --- a fatal user or program error. +\item [\texttt{"failed to converge"}] --- sometimes this is OK. \end{description} \subsection{Standard keywords} @@ -320,7 +320,7 @@ \subsection{Standard keywords} in atomic units and leave it to Ecce to handle any necessary conversions. Exceptions to this convention can be made, but a distinct keyword should be used (perhaps including the actual units -used, e.g., \verb+"vibrational frequencies (cm-1)"+). +used, e.g., \texttt{"vibrational frequencies (cm-1)"}). Here is the master list of keywords. All Ecce print keywords should be registered here. (Note: not all keywords given by NWChem are used @@ -329,93 +329,93 @@ \subsection{Standard keywords} \subsubsection{Converged/final energies} \begin{description} -\item [\verb+total energy+] --- the total energy at level of the module stack. -\item [\verb+mp2 energy+] --- the total MP2 energy. -\item [\verb+ccsd total energy+] --- the total ccsd energy. -\item [\verb+total ccsd energy+] --- the total ccsd energy. -\item [\verb+total ccsd(t) energy+] --- the total ccsd(t) energy. -\item [\verb+total ccsd+t(ccsd) energy+] --- the total ccsd+t(ccsd) energy. -\item [\verb+two-electron energy+] --- the two-electron energy +\item [\texttt{total energy}] --- the total energy at level of the module stack. +\item [\texttt{mp2 energy}] --- the total MP2 energy. +\item [\texttt{ccsd total energy}] --- the total ccsd energy. +\item [\texttt{total ccsd energy}] --- the total ccsd energy. +\item [\texttt{total ccsd(t) energy}] --- the total ccsd(t) energy. +\item [\texttt{total ccsd}t(ccsd) energy+] --- the total ccsd+t(ccsd) energy. +\item [\texttt{two-electron energy}] --- the two-electron energy (Coulomb plus exchange). -\item [\verb+coulomb energy+] --- the (inter-electron) Coulomb +\item [\texttt{coulomb energy}] --- the (inter-electron) Coulomb energy -\item [\verb+exchange energy+] --- the exchange energy. -\item [\verb+correlation energy+] --- the correlation energy +\item [\texttt{exchange energy}] --- the exchange energy. +\item [\texttt{correlation energy}] --- the correlation energy (relative to the pertitnent SCF or MCSCF reference function), generally refers to MP2 or DFT. -\item [\verb+ccsd correlation energy+] --- the CCSD correlation energy +\item [\texttt{ccsd correlation energy}] --- the CCSD correlation energy (relative to the pertitnent SCF or MCSCF reference function). -\item [\verb+nuclear repulsion energy+] --- the nuclear repulsion +\item [\texttt{nuclear repulsion energy}] --- the nuclear repulsion energy at the current geometry. -\item [\verb+zero point energy+] --- zero point energy from a frequency calculation. +\item [\texttt{zero point energy}] --- zero point energy from a frequency calculation. \end{description} \subsubsection{Converged/final properties} \begin{description} -\item [\verb+geometry+] --- the current geometry of the molecule. -\item [\verb+cartesian coordinates+] --- the current cartesians of the molecule. -\item [\verb+gradients+] --- the current gradient of the molecule. -\item [\verb+total gradient+] --- the current gradient of the molecule. -\item [\verb+total dipole+] --- a 3--vector of $(x,y,z)$ dipole +\item [\texttt{geometry}] --- the current geometry of the molecule. +\item [\texttt{cartesian coordinates}] --- the current cartesians of the molecule. +\item [\texttt{gradients}] --- the current gradient of the molecule. +\item [\texttt{total gradient}] --- the current gradient of the molecule. +\item [\texttt{total dipole}] --- a 3--vector of $(x,y,z)$ dipole moments. -\item [\verb+open shell dipole+] --- a 3--vector of $(x,y,z)$ dipole +\item [\texttt{open shell dipole}] --- a 3--vector of $(x,y,z)$ dipole moments. -\item [\verb+alpha electronic dipole+] --- a 3--vector of $(x,y,z)$ dipole +\item [\texttt{alpha electronic dipole}] --- a 3--vector of $(x,y,z)$ dipole moments. -\item [\verb+beta electronic dipole+] --- a 3--vector of $(x,y,z)$ dipole +\item [\texttt{beta electronic dipole}] --- a 3--vector of $(x,y,z)$ dipole moments. -\item [\verb+nuclear dipole+] --- a 3--vector of $(x,y,z)$ dipole +\item [\texttt{nuclear dipole}] --- a 3--vector of $(x,y,z)$ dipole moments. -\item [\verb+total quadrupole+] --- -\item [\verb+open shell quadrupole+] --- -\item [\verb+alpha electronic quadrupole+] --- -\item [\verb+beta electronic quadrupole+] --- -\item [\verb+nuclear quadrupole+] --- -\item [\verb+total mulliken atomic charges+] --- an $N_{atom}$--vector of the charge +\item [\texttt{total quadrupole}] --- +\item [\texttt{open shell quadrupole}] --- +\item [\texttt{alpha electronic quadrupole}] --- +\item [\texttt{beta electronic quadrupole}] --- +\item [\texttt{nuclear quadrupole}] --- +\item [\texttt{total mulliken atomic charges}] --- an $N_{atom}$--vector of the charge assigned by the Mulliken analysis to each atom. -\item [\verb+total mulliken shell charges+] --- an $N_{shell}$--vector of +\item [\texttt{total mulliken shell charges}] --- an $N_{shell}$--vector of the charge assigned by the Mulliken analysis to each shell of basis functions. -\item [\verb+orbital symmetries+] --- symmetry information for each molecular +\item [\texttt{orbital symmetries}] --- symmetry information for each molecular orbital. -\item [\verb+orbital energies+] --- orbital energies for each molecular orbital. -\item [\verb+frequencies+] --- frequencies. -\item [\verb+projected frequencies+] --- projected frequencies. -\item [\verb+normal modes+] --- normal modes associated with each frequency. -\item [\verb+projected normal modes+] --- projected normal modes associated +\item [\texttt{orbital energies}] --- orbital energies for each molecular orbital. +\item [\texttt{frequencies}] --- frequencies. +\item [\texttt{projected frequencies}] --- projected frequencies. +\item [\texttt{normal modes}] --- normal modes associated with each frequency. +\item [\texttt{projected normal modes}] --- projected normal modes associated with each frequency. -\item [\verb+intensities+] --- frequency intensities. -\item [\verb+intensities+] --- frequency intensities. -\item [\verb+intensities (debye/ang)2+] --- frequency intensities in (debye/ang)2. -\item [\verb+intensities (KM/mol)+] --- frequency intensities in (KM/mol). -\item [\verb+projected intensities+] --- frequency projected intensities. -\item [\verb+projected intensities (debye/ang)2+] --- frequency projected intensities +\item [\texttt{intensities}] --- frequency intensities. +\item [\texttt{intensities}] --- frequency intensities. +\item [\texttt{intensities (debye/ang)2}] --- frequency intensities in (debye/ang)2. +\item [\texttt{intensities (KM/mol)}] --- frequency intensities in (KM/mol). +\item [\texttt{projected intensities}] --- frequency projected intensities. +\item [\texttt{projected intensities (debye/ang)2}] --- frequency projected intensities in (debye/ang)2. -\item [\verb+projected intensities (KM/mol)+] --- frequency projected intensities +\item [\texttt{projected intensities (KM/mol)}] --- frequency projected intensities in (KM/mol). \end{description} \subsubsection{Convergence information} \begin{description} -\item [\verb+iteration+] --- the iteration number for geometry steps, starting at 1. -\item [\verb+iteration counter+] --- the iteration counter when optimizing the +\item [\texttt{iteration}] --- the iteration number for geometry steps, starting at 1. +\item [\texttt{iteration counter}] --- the iteration counter when optimizing the wavefunction. -\item [\verb+iterative total energy difference+] --- the change in the total +\item [\texttt{iterative total energy difference}] --- the change in the total energy since the previous iteration. -\item [\verb+gradient norm+] --- an (estimate) of the norm of the +\item [\texttt{gradient norm}] --- an (estimate) of the norm of the gradient vector or something proportional to it for minimization/transition state algorithms (e.g., SCF orbital-gradient, DFT norm of occupied-virtual Fock-matrix, geometry optimization cartesian nuclear gradient). -\item [\verb+gradient max+] --- an (estimate) of the maximum absolute +\item [\texttt{gradient max}] --- an (estimate) of the maximum absolute value element in the gradient vector. -\item [\verb+residual norm+] --- norm of the error vector in +\item [\texttt{residual norm}] --- norm of the error vector in linear/non-linear equation solution -\item [\verb+residual max+] --- the absolute maximum value of the +\item [\texttt{residual max}] --- the absolute maximum value of the residual vector -\item [\verb+scaled residual norm+] --- the norm of the residual +\item [\texttt{scaled residual norm}] --- the norm of the residual scaled by the norm of the RHS vector in the iterative solution of non-linear equations (roughly the negative logarithm of the number of significant figures) @@ -444,11 +444,11 @@ \subsubsection{Timing and performance information} Additional keywords: \begin{description} -\item [\verb+all tasks cpu time+] --- -\item [\verb+single task cpu time+] --- -\item [\verb+cpu time+] --- -\item [\verb+all tasks wall time+] --- -\item [\verb+single task wall time+] --- -\item [\verb+wall time+] --- +\item [\texttt{all tasks cpu time}] --- +\item [\texttt{single task cpu time}] --- +\item [\texttt{cpu time}] --- +\item [\texttt{all tasks wall time}] --- +\item [\texttt{single task wall time}] --- +\item [\texttt{wall time}] --- \end{description} diff --git a/doc/prog/nwarch.tex b/doc/prog/nwarch.tex index f5ad6417b4..72383217af 100644 --- a/doc/prog/nwarch.tex +++ b/doc/prog/nwarch.tex @@ -235,7 +235,7 @@ \subsubsection{The Molecular Modeling Toolkit} linear algebra routines (see Section \ref{sec:la}), symmetry (see Section \ref{sec:sym}, and the integral API (see Section -\ref{sec:intapi}). Each of these +\ref{appendix_intapi}). Each of these tools provides a basic functionality that is common to many of the algorithms in chemistry. The integral API provides a common interface to the three integral packages available in NWChem. The basis set object diff --git a/doc/prog/prog.tex b/doc/prog/prog.tex index f52eef8fea..b99c6a1336 100644 --- a/doc/prog/prog.tex +++ b/doc/prog/prog.tex @@ -1,9 +1,17 @@ % $Id$ -\documentstyle[fullpage,12pt,fleqn]{book} +%\documentstyle[fullpage,12pt,fleqn]{book} +\documentclass{book} \setlength{\parskip}{6pt} - -\newcommand{\TRUE}{\verb+.true.+} -\newcommand{\FALSE}{\verb+.false.+} +\usepackage{fullpage} +\usepackage{fleqn} +\usepackage[utf8]{inputenc} +\usepackage{textcomp} +\usepackage{mathptmx} +\usepackage{amsmath} +\usepackage{amssymb} + +\newcommand{\TRUE}{\texttt{.true.}} +\newcommand{\FALSE}{\texttt{.false.}} \newcommand{\nwchemversion}{5.1.1} \newcommand{\nwchemyear}{2008}