mirror of
https://github.com/nwchemgit/nwchem.git
synced 2026-07-28 22:25:48 -04:00
misc. corrections mostly to out of date or plain wrong content
This commit is contained in:
parent
64a8ffeccb
commit
f52f9a955b
14 changed files with 159 additions and 195 deletions
|
|
@ -10,6 +10,12 @@ treatment of single and double excitations and non-iterative inclusion
|
|||
of triple excitation effects. It is presently limited to closed-shell
|
||||
(RHF) references.
|
||||
|
||||
{\em Note that symmetry is not used within most of the CCSD(T) code.}
|
||||
This can have a profound impact on performance since the speed-up from
|
||||
symmetry is roughly the square of the number of irreducible
|
||||
representations. In the absence of symmetry, the performance of this
|
||||
code is competitive with other programs.
|
||||
|
||||
The operation of the coupled cluster code is controlled by the input
|
||||
block
|
||||
\begin{verbatim}
|
||||
|
|
|
|||
|
|
@ -41,11 +41,11 @@ directive,
|
|||
BSCALE <real BSCALE default 1.0>
|
||||
ASCALE <real ASCALE default 0.25>
|
||||
TSCALE <real TSCALE default 0.1>
|
||||
HSCALE <REAL HSCALE default 1.0>
|
||||
HSCALE <real HSCALE default 1.0>
|
||||
|
||||
PRINT ...
|
||||
|
||||
XYZ [<string xyz default $fileprefix>]
|
||||
XYZ [<string xyz default $file_prefix$>]
|
||||
NOXYZ
|
||||
|
||||
END
|
||||
|
|
@ -63,10 +63,11 @@ directive,
|
|||
XRMS <real value>
|
||||
\end{verbatim}
|
||||
|
||||
In version 3.3 Gaussian-style convergence criteria have been
|
||||
adopted. The defaults may be, or the directives \verb+LOOSE+,
|
||||
\verb+DEFAULT+, or \verb+TIGHT+ specified to use standard values, or
|
||||
the individual criteria adjusted. All criteria are in atomic units.
|
||||
In version 3.3 Gaussian-style convergence criteria have been adopted.
|
||||
The defaults may be used, or the directives \verb+LOOSE+,
|
||||
\verb+DEFAULT+, or \verb+TIGHT+ specified to use standard sets of
|
||||
values, or the individual criteria adjusted. All criteria are in
|
||||
atomic units.
|
||||
\verb+GMAX+ and \verb+GRMS+ control the maximum and root mean square
|
||||
gradient in the coordinates being used (Z-matrix, redundant internals,
|
||||
or Cartesian). \verb+XMAX+ and \verb+XRMS+ control the maximum and
|
||||
|
|
@ -108,7 +109,8 @@ A fixed trust radius (\verb+trust+) is used to control the step during
|
|||
minimizations, and is also used for modes being minimized during
|
||||
saddle-point searches. It defaults to 0.3 for minimizations and 0.1
|
||||
for saddle-point searches. The parameter \verb+sadstp+ is the trust
|
||||
radius used for the mode being maximized during a saddle-point search.
|
||||
radius used for the mode being maximized during a saddle-point search
|
||||
and defaults to 0.1.
|
||||
|
||||
\section{Maximum number of steps}
|
||||
|
||||
|
|
@ -116,7 +118,7 @@ radius used for the mode being maximized during a saddle-point search.
|
|||
MAXITER <integer maxiter default 20>
|
||||
\end{verbatim}
|
||||
|
||||
By default at most 20 geometry optimization steps will be taken
|
||||
By default at most 20 geometry optimization steps will be taken,
|
||||
but this may be modified with this directive.
|
||||
|
||||
\section{Discard restart information}
|
||||
|
|
@ -125,7 +127,7 @@ but this may be modified with this directive.
|
|||
\end{verbatim}
|
||||
|
||||
By default Driver reuses Hessian information from a previous
|
||||
optimization and to facilitate a restart also stores which mode is
|
||||
optimization, and, to facilitate a restart also stores which mode is
|
||||
being followed for a saddle-point search. This option deletes all
|
||||
restart data.
|
||||
|
||||
|
|
|
|||
|
|
@ -13,12 +13,11 @@ literature and implementations, i.e., an $n_{lk} = 0$ implies
|
|||
$r^{-2}$. The current implementation allows $n_{lk}$ values
|
||||
of only 0, 1, or 2.
|
||||
|
||||
At the time of writing, the EMSL basis library did not provide a
|
||||
standard set of ECPs. Basis sets using these functions must be
|
||||
specified explicitly by user input in the \verb+ECP+ directive. This
|
||||
directive has essentially the same form as the standard \verb+BASIS+
|
||||
directive, except for essential differences required for ECPs. The
|
||||
form of the input for the \verb+ECP+ directive is as follows:
|
||||
Basis sets using these functions must be specified explicitly by user
|
||||
input in the \verb+ECP+ directive. This directive has essentially the
|
||||
same form as the standard \verb+BASIS+ directive, except for essential
|
||||
differences required for ECPs. The form of the input for the
|
||||
\verb+ECP+ directive is as follows:
|
||||
|
||||
% [spherical || cartesian default cartesian]
|
||||
% [segment || nosegment default segment]
|
||||
|
|
@ -27,6 +26,9 @@ form of the input for the \verb+ECP+ directive is as follows:
|
|||
ECP [<string name default "ecp basis">] \
|
||||
[print || noprint default print]
|
||||
|
||||
<string tag> library [<string tag_in_lib>] \
|
||||
<string standard_set> [file <filename>]
|
||||
|
||||
<string tag> [nelec] <integer number_of_electrons_replaced>
|
||||
|
||||
...
|
||||
|
|
@ -56,6 +58,19 @@ clear from the above discussion on geometries and database entries how
|
|||
indirection is supported. All directives that are in common with the
|
||||
standard Gaussian basis set input have the same function and syntax.
|
||||
|
||||
These are the names of the sets of ECPs available in the standard
|
||||
library (their coverage is described in Appendix \ref{sec:knownbasis}).
|
||||
\begin{itemize}
|
||||
\item \verb,"Hay-Wadt MB (n+1) ECP",
|
||||
\item \verb,"Hay-Wadt VDZ (n+1) ECP",
|
||||
\item \verb+"LANL2DZ ECP"+
|
||||
\item \verb+"SBKJC VDZ ECP"+
|
||||
\item \verb+"Stuttgart RLC ECP"+
|
||||
\item \verb+"Stuttgart RSC ECP"+
|
||||
\item \verb+"CRENBL ECP"+
|
||||
\item \verb+"CRENBS ECP"+
|
||||
\end{itemize}
|
||||
|
||||
The keyword \verb+nelec+ allows the user to specify the number of core
|
||||
electrons replaced by the ECP. Additional input lines define the
|
||||
specific coefficients and exponents. The variable \verb+<shell_type>+
|
||||
|
|
|
|||
|
|
@ -89,45 +89,16 @@ Thus, if your file systems are physically distributed (e.g., most
|
|||
workstation clusters) you must ensure that process zero can correctly
|
||||
resolve the paths for the input and database files.
|
||||
|
||||
{\em N.B.} : If only one cluster is specified (one line in the
|
||||
process-group file) then all processes execute NWChem. If multiple
|
||||
clusters are specified (multiple lines in the process-group file)
|
||||
then one process out of each cluster is devoted to sharing
|
||||
global-arrays between clusters, and therefore one more process than
|
||||
desired the number of application processes should be specified in
|
||||
each cluster.
|
||||
{\em N.B.} In releases of NWChem prior to 3.3 additional processes
|
||||
had to be created on workstation clusters to support remote access to
|
||||
shared memory. This is no longer the case. The TCGMSG process group
|
||||
file now just needs to refer to processes running NWChem.
|
||||
|
||||
\section{Parallel execution on MPPs}
|
||||
|
||||
All of these machines require use of different commands in order to
|
||||
gain exclusive access to computational resources.
|
||||
|
||||
\section{Kendall Square Research}
|
||||
|
||||
\begin{verbatim}
|
||||
allocate_cells <n> parallel nwchem <input_file>
|
||||
\end{verbatim}
|
||||
|
||||
The KSR command \verb+allocate_cells+ is used to acquire exclusive use
|
||||
of a set of processors. It takes the number of processors \verb+n+ and
|
||||
the command as arguments. The TCGMSG parallel command is described
|
||||
above (section \ref{sec:procgrp}). Note that when running the SCF
|
||||
code optimal performance is obtained by allocating one more processor
|
||||
to the processor set than required by your \verb+"nwchem.p"+
|
||||
file\footnote{This is because dynamic load balanced is supported by
|
||||
the process executing the command parallel which needs a dedicated
|
||||
processor to do this efficiently.}. For instance, if your
|
||||
process-group file \verb+"nwchem32.p"+ read
|
||||
\begin{verbatim}
|
||||
d3g681 circus 31 /usr/local/bin/nwchem /tmp/rjh
|
||||
\end{verbatim}
|
||||
then you might use the following command
|
||||
\begin{verbatim}
|
||||
allocate_cells 32 parallel nwchem32 big_molecule.nw
|
||||
\end{verbatim}
|
||||
|
||||
A useful tool for monitoring usage of the KSR is xringinfo. See the
|
||||
manual page for details.
|
||||
|
||||
\section{IBM SP}
|
||||
|
||||
|
|
@ -150,6 +121,11 @@ running NWChem (or setting them using POE command line options).
|
|||
message arrives (the default is to poll which significantly slows
|
||||
down global array accesses).
|
||||
\end{itemize}
|
||||
In addition, if the IBM is running PSSP version 3.1, or later
|
||||
\begin{itemize}
|
||||
\item \verb+setenv MP_MSG_API lapi+, or
|
||||
\item \verb+setenv MP_MSG_API mpi,lapi+ (if using both GA and MPI)
|
||||
\end{itemize}
|
||||
|
||||
For batch execution, we recommend use of the \verb+llnw+ command which
|
||||
is installed in \verb+/usr/local/bin+ on the EMSL/PNNL IBM SP.
|
||||
|
|
@ -187,75 +163,53 @@ accessible to all processes. Put the above into a file (e.g.,
|
|||
It will run a 7 processor, 1 hour job in the queue \verb+small+. It
|
||||
should be apparent how to change these values.
|
||||
|
||||
Unfortunately, this simple job becomes very inefficient when running
|
||||
on many nodes (taking up to 15 minutes to commence execution) because
|
||||
POE saturates networked file systems when copying the executable to
|
||||
all of the nodes. There is a script \verb+llnw+ that may be invoked
|
||||
either as a one line command or with interactive prompting that
|
||||
automates job creation and submission, and, by efficient copying of the
|
||||
executable, reduces startup time to about 1 minute.
|
||||
|
||||
Note that on many IBM SPs, including that at EMSL, the local scratch
|
||||
disks are wiped clean at the beginning of each job and therefore
|
||||
persistent files should be stored elsewhere. PIOFS is recommended for
|
||||
files larger than 1--2 MB.
|
||||
files larger than a few MB.
|
||||
|
||||
\section{Intel Paragon}
|
||||
|
||||
\section{Cray T3E}
|
||||
|
||||
\begin{verbatim}
|
||||
nwchem -sz <n> <input_file>
|
||||
\end{verbatim}
|
||||
|
||||
or if pexec is used (e.g., at ORNL)
|
||||
|
||||
\begin{verbatim}
|
||||
pexec nwchem <input_file> -sz <n>
|
||||
mpprun -n n nwchem <input_file>
|
||||
\end{verbatim}
|
||||
|
||||
where \verb+n+ is the number of processors and \verb+input_file+ is the
|
||||
name of your input file.
|
||||
|
||||
\section{Linux}
|
||||
|
||||
\section{Intel Touchstone Delta}
|
||||
|
||||
\begin{verbatim}
|
||||
mexec -t"(<rows>,<cols>)" -f "nwchem <input_file>"
|
||||
\end{verbatim}
|
||||
|
||||
where \verb+rows+ and \verb+cols+ specify the dimensions of the
|
||||
processor mesh and \verb+input_file+ is the name of your input file.
|
||||
For example, to run using all 512 nodes on the Delta
|
||||
\begin{verbatim}
|
||||
mexec -t"(16,32)" -f "nwchem big_molecule.nw"
|
||||
\end{verbatim}
|
||||
|
||||
\section{Cray T3D}
|
||||
|
||||
\begin{verbatim}
|
||||
nwchem <input_file> -npes <n>
|
||||
\end{verbatim}
|
||||
|
||||
where \verb+n+ is the number of processors and \verb+input_file+ is the
|
||||
name of your input file.
|
||||
|
||||
When compiling NWChem on the Cray T3D, you need to setup the
|
||||
environmental variable {\tt TARGET} for the correct cross-compilation
|
||||
of C routines by typing
|
||||
\begin{verbatim}
|
||||
setenv TARGET CRAY-T3D
|
||||
\end{verbatim}
|
||||
If running in parallel across multiple machines you should consider
|
||||
applying this patch to your kernel to boost the performance of TCP/IP
|
||||
\begin{itemize}
|
||||
\item \verb+http://www.icase.edu/coral/LinuxTCP.html+
|
||||
\end{itemize}
|
||||
|
||||
\section{Tested Platforms and O/S versions}
|
||||
|
||||
\begin{itemize}
|
||||
\item KSR-2
|
||||
\item Intel Delta
|
||||
\item Intel Paragon
|
||||
\item IBM SP1 and SP2, AIX 3.2 and 4.1.
|
||||
\item Cray T3D
|
||||
\item SGI R8000
|
||||
\item SGI R4000
|
||||
\item IBM RS6000, AIX 3.2 and 4.1.
|
||||
\item IBM SP with P2SC nodes, AIX 4.2.1, and PSSP 2.3
|
||||
\item IBM SP with silver nodes (SMP nodes with two 604e processors),
|
||||
AIX 4.3.2, and PSSP 3.1.
|
||||
\item IBM RS6000 workstation, AIX 3.2 and 4.1.
|
||||
\item Cray T3E, 2.0.4.61 UNICOSMK
|
||||
\item SGI R8000/10000, IRIX 6.2, 6.5
|
||||
\item SGI R4000, IRIX 5.3
|
||||
\item SUN workstations, SunOS 4.1.3 and Solaris 5.5
|
||||
\item x86 computers running Linux 1.2.13 works
|
||||
\item Compaq DEC alpha workstion (600 MHz EV6), Digital UNIX V4.0E
|
||||
Rev. 1091, DEC C V5.8-009, Digital Fortran V5.2
|
||||
\item Linux. Since there are at least 8 popular distributions of the
|
||||
Linux operating system and numerous others in existence, including
|
||||
downloading everything and building your own Linux OS, it is
|
||||
impossible to test all possible versions of Linux with NWChem. NWChem
|
||||
Release 3.3 has been tested on Slackware 3.4, 3.5, 4.0, RedHat 5.1,
|
||||
5.2, and 6.0, Mandrake based on RedHat 6.0, and RedHat 6.0 for the
|
||||
Power PC Macintosh. These all use the EGCS compilers at different
|
||||
levels. Those distributed from Slackware are somewhat different than
|
||||
those distributed from RedHat but the code is configured to run on all
|
||||
of them. The Linux Alpha version 5.2 from Red Hat fails to compile
|
||||
the code as well as the beta release of the Digital Fortran compiler
|
||||
for Linux based Alpha systems.
|
||||
|
||||
\end{itemize}
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ The following methods are available to compute energies only. First
|
|||
and second derivatives are computed by finite difference of the
|
||||
energies.
|
||||
\begin{itemize}
|
||||
\item MP3, MP4, CCSD, CCSD(T), CCSD+T(CCSD), with RHF reference.
|
||||
\item CCSD, CCSD(T), CCSD+T(CCSD), with RHF reference.
|
||||
\item Selected-CI with second-order perturbation correction.
|
||||
\item MP2 fully-direct with RHF reference.
|
||||
\item Resolution of the identity integral approximation MP2 (RI-MP2), with
|
||||
|
|
@ -53,7 +53,6 @@ For all methods, the following operations may be performed:
|
|||
|
||||
In addition, automatic interfaces are provided to
|
||||
\begin{itemize}
|
||||
\item The COLUMBUS multi-reference CI package
|
||||
\item The natural bond orbital (NBO) package
|
||||
\end{itemize}
|
||||
|
||||
|
|
@ -83,3 +82,8 @@ descriptions in order to perform:
|
|||
mechanical wavefunctions.
|
||||
\end{itemize}
|
||||
|
||||
\section{Python}
|
||||
|
||||
The Python programming language has been embedded within NWChem and
|
||||
many of the high level capabilities of NWChem can be easily combined
|
||||
and controlled by the user to perform complex operations.
|
||||
|
|
|
|||
|
|
@ -67,7 +67,7 @@ detail, describing the options available and the usages of the various
|
|||
keywords in each of the three main parts.
|
||||
|
||||
|
||||
\section{Main keywords on the {\tt GEOMETRY} directive}
|
||||
\section{Keywords on the {\tt GEOMETRY} directive}
|
||||
\label{sec:geomkeys}
|
||||
|
||||
This section presents the options that can be specified using the keywords
|
||||
|
|
@ -393,7 +393,7 @@ Bond lengths, bond angles and dihedral angles (denoted below as {\tt
|
|||
either as numerical values or as symbolic strings that must be
|
||||
subsequently defined using the \verb+VARIABLES+ or \verb+CONSTANTS+
|
||||
directives. The numerical values of the symbolic strings labeled
|
||||
\verb+VARIABLES+ may be the subject to changes during a geometry
|
||||
\verb+VARIABLES+ may be subject to changes during a geometry
|
||||
optimization say, while the numerical values of the symbolic strings
|
||||
labeled |verb+CONSTANTS+ will stay frozen to the value given in the
|
||||
input. The same symbolic string can be used more than once, and
|
||||
|
|
@ -668,7 +668,7 @@ or in the constants section of a \verb+ZMATRIX+ directive, will be
|
|||
frozen at their initial values if a geometry optimization is
|
||||
performed with DRIVER (Section \ref{sec:driver}).
|
||||
|
||||
If internal coordinates have then same name (give or take
|
||||
If internal coordinates have the same name (give or take
|
||||
an optional sign for torsions) then they are forced to have
|
||||
the same value. This may be used to force bonds or angles to
|
||||
be equal even if they are not related by symmetry.
|
||||
|
|
|
|||
|
|
@ -273,7 +273,7 @@ calculation is used to perform a frequency calculation. This task is
|
|||
invoked by the keyword \verb+freq+ in the final \verb+TASK+ directive,
|
||||
\verb+task mp2 freq+. The second derivatives of the energy are
|
||||
calculated as numerical derivatives of analytical gradients. The
|
||||
intermediate energies and gradients as such are not of interest in
|
||||
intermediate energies and gradients are not of interest in
|
||||
this case, so output from the SCF and MP2 modules is disabled with the
|
||||
\verb+PRINT+ directives.
|
||||
|
||||
|
|
|
|||
|
|
@ -18,20 +18,19 @@ Computing and Communication (HPCC) grand-challenge
|
|||
software program and the Environmental Molecular Sciences Laboratory
|
||||
(EMSL) Project. NWChem has been optimized to perform calculations on
|
||||
large molecules using large parallel computers, and it is unique in
|
||||
this regard. In contrast, its performance on small calculations
|
||||
running on small computers is unremarkable.
|
||||
this regard.
|
||||
|
||||
This document is intended as an aid to chemists attempting to
|
||||
use the code for their own applications. Users are not expected to
|
||||
have a detailed understanding of the code internals, but some
|
||||
familiarity with the overall structure of the code, how it handles
|
||||
information, and the nature of the algorithms it contains will
|
||||
generally be helpful. The following sections describe the structure
|
||||
of the input file, and give a brief overview of the code
|
||||
architecture. All input directives recognized by the code are
|
||||
described in detail, with options, defaults, and recommended usages,
|
||||
where applicable. The appendices present additional information on the molecular geometry
|
||||
and basis function libraries included in the code.
|
||||
This document is intended as an aid to chemists using the code for
|
||||
their own applications. Users are not expected to have a detailed
|
||||
understanding of the code internals, but some familiarity with the
|
||||
overall structure of the code, how it handles information, and the
|
||||
nature of the algorithms it contains will generally be helpful. The
|
||||
following sections describe the structure of the input file, and give
|
||||
a brief overview of the code architecture. All input directives
|
||||
recognized by the code are described in detail, with options,
|
||||
defaults, and recommended usages, where applicable. The appendices
|
||||
present additional information on the molecular geometry and basis
|
||||
function libraries included in the code.
|
||||
|
||||
\section{Citation}
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
The NWChem multiconfiguration SCF (MCSCF) module can currently perform
|
||||
complete active space SCF (CASSCF) calculations with at most 20 active
|
||||
orbitals and about 500 basis functions. It planned to extend it to
|
||||
orbitals and about 500 basis functions. It is planned to extend it to
|
||||
handle 1000+ basis functions.
|
||||
|
||||
\begin{verbatim}
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ correction to the Hartree-Fock energy (MP2). They vary in capability,
|
|||
the size of system that can be treated and use of other approximations
|
||||
\begin{itemize}
|
||||
\item Semi-direct --- this is recommended for most large applications
|
||||
(up to about 1500 basis functions), especially on the IBM SP and
|
||||
(up to about 2800 basis functions), especially on the IBM SP and
|
||||
other machines with significant disk I/O capability. Partially
|
||||
transformed integrals are stored on disk, multi-passing as necessary.
|
||||
RHF and UHF references may be treated including computation of
|
||||
|
|
@ -17,7 +17,7 @@ the size of system that can be treated and use of other approximations
|
|||
task mp2
|
||||
\end{verbatim}
|
||||
\item Fully-direct --- this is of utility if only limited I/O
|
||||
resources are available (up to about 1500 functions). Only RHF
|
||||
resources are available (up to about 2800 functions). Only RHF
|
||||
references and energies are available. This is selected by
|
||||
specifying \verb+direct_mp2+ on the task directive, e.g.
|
||||
\begin{verbatim}
|
||||
|
|
@ -27,7 +27,7 @@ the size of system that can be treated and use of other approximations
|
|||
this uses the RI approximation and is therefore only exact in the
|
||||
limit of a complete fitting basis. However, with some care, high
|
||||
accuracy may be obtained with relatively modest fitting basis sets.
|
||||
An RIMP2 calculation can cost over 10 times less than the
|
||||
An RIMP2 calculation can cost over 40 times less than the
|
||||
corresponding exact MP2 calculation. RHF and UHF references with
|
||||
only energies are available. This is selected by specifying
|
||||
\verb+rimp2+ on the task directive, e.g.,
|
||||
|
|
@ -432,15 +432,18 @@ automatically reset to an appropriate value.
|
|||
\section{One-electron properties and natural orbitals}
|
||||
|
||||
If an MP2 energy gradient is computed, all contributions are available
|
||||
to form the MP2 linear response density. This is the density that
|
||||
to form the MP2 linear-response density. This is the density that
|
||||
when contracted with any spin-free, one-electron operator yields the
|
||||
associated property. Only dipole moments are printed by the MP2
|
||||
gradient code, but natural orbitals are produced and stored in the
|
||||
permanent directory with a file extension of \verb+".mp2nos"+. These
|
||||
may be fed into the property package (see Section \ref{sec:property})
|
||||
to compute more general properties. Note that the MP2 linear response
|
||||
density matrix is not necessarily positive definite so it is not
|
||||
unusual to see a few {\em small} negative natural orbital occupation
|
||||
numbers.
|
||||
associated property defined as the derivative of the energy. Thus,
|
||||
the reported MP2 dipole moment is the derivative of the energy
|
||||
w.r.t. an external magnetic field and is {\em not} the expectation
|
||||
value of the operator over the wavefunction. Only dipole moments are
|
||||
printed by the MP2 gradient code, but natural orbitals are produced
|
||||
and stored in the permanent directory with a file extension of
|
||||
\verb+".mp2nos"+. These may be fed into the property package (see
|
||||
Section \ref{sec:property}) to compute more general properties. Note
|
||||
that the MP2 linear response density matrix is not necessarily
|
||||
positive definite so it is not unusual to see a few small negative
|
||||
natural orbital occupation numbers.
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
\label{sec:pspw}
|
||||
|
||||
A pseudopotential plane-wave (PSPW) module, which can perform Car-Parrinello
|
||||
simulations, is being implemented into the NWChem program package.
|
||||
simulations, has been implemented into the NWChem program package.
|
||||
This module complements the capabilities of NWChem by including code
|
||||
which allows for the calculation of density functional theory total energies
|
||||
and forces with the technology based on plane-wave basis sets and
|
||||
|
|
@ -47,14 +47,13 @@ The format for the TASK PSPW directive is the TASK directive followed by the
|
|||
PSPW string, and after that an $<$operation$>$ string is required. The
|
||||
TASK PSPW directive for PSPW calculations is of the following form:
|
||||
\begin{verbatim}
|
||||
TASK PSPW [steepest_descent ||
|
||||
TASK PSPW (steepest_descent ||
|
||||
Car-Parrinello ||
|
||||
psp_formatter ||
|
||||
wavefunction_initializer ||
|
||||
v_wavefunction_initializer ||
|
||||
wavefunction_expander ||
|
||||
psp_generator ||
|
||||
(no default)]
|
||||
psp_generator)
|
||||
\end{verbatim}
|
||||
Currently available tasks are listed. Note that unlike most
|
||||
NWChem modules, the PSPW module does not contain an energy operation.
|
||||
|
|
|
|||
|
|
@ -9,8 +9,9 @@ energy surfaces, computing properties in a variety of basis sets,
|
|||
optimizing the energy w.r.t. parameters in the basis set, computing
|
||||
polarizabilities with finite field, and simple molecular dynamics.
|
||||
|
||||
Visit the Python web-site \verb+http://www.python.org+ for a full manual
|
||||
and lots of useful code and resources.
|
||||
Look in the NWChem \verb+contrib+ directory for useful scripts and
|
||||
examples. Visit the Python web-site \verb+http://www.python.org+ for
|
||||
a full manual and lots of useful code and resources.
|
||||
|
||||
\section{How to input and run a Python program inside NWChem}
|
||||
|
||||
|
|
@ -198,6 +199,9 @@ Python program.
|
|||
Note that execution in parallel may produce unwanted output since
|
||||
all process execute the print statement inside the Python program.
|
||||
|
||||
Look in the NWChem \verb+contrib+ directory for a routine that makes
|
||||
the above task easier.
|
||||
|
||||
\subsection{Scanning a basis exponent revisited.}
|
||||
\label{sec:scan2}
|
||||
|
||||
|
|
@ -273,6 +277,9 @@ of 0.2 computing the energy at each geometry. Since it is using
|
|||
$D_{2h}$ symmetry the program actually uses a variable (\verb+x+) that is
|
||||
half the bond length.
|
||||
|
||||
Look in the NWChem \verb+contrib+ directory for a routine that makes
|
||||
the above task easier.
|
||||
|
||||
\subsection{Scan using the BSSE counterpoise corrected energy}
|
||||
|
||||
\begin{verbatim}
|
||||
|
|
@ -471,7 +478,7 @@ NWChem by forcing an SCF calculation on $He_2$ to fail due to
|
|||
insufficient iterations.
|
||||
|
||||
If an NWChem command fails it will raise the exception
|
||||
\verb+"NWChemError+ (case sensitive) unless the error was fatal.
|
||||
\verb+"NWChemError"+ (case sensitive) unless the error was fatal.
|
||||
If the exception is not caught, then it will cause the entire Python
|
||||
program to terminate with an error. This Python program catches the
|
||||
exception, prints out the message, and then continues as if all was
|
||||
|
|
@ -493,6 +500,7 @@ or some other operation.
|
|||
|
||||
The following Python procedure retrieves the coordinates in the
|
||||
same units as initially input for a geometry of a given name.
|
||||
Its full source is included in the NWChem \verb+contrib+ directory.
|
||||
\begin{verbatim}
|
||||
def geom_get_coords(name):
|
||||
try:
|
||||
|
|
@ -632,11 +640,6 @@ It could also be the \verb+END+ directive that terminates the
|
|||
\verb+end+ statement then to avoid confusion the \verb+END+ directive
|
||||
for NWChem {\em must} be at the start of the line.
|
||||
|
||||
\item The last (or only) line of your input to \verb+input_parse()+
|
||||
seems to be ignored --- An entire line of input must be provided,
|
||||
including the end of line. Try terminating the string with
|
||||
\verb+'\n'+.
|
||||
|
||||
\item Your program hangs or deadlocks --- most likely you have a piece
|
||||
of code that is restricted to executing on a subset of the processors
|
||||
(perhaps just node 0) but is calling (perhaps indirectly) a function
|
||||
|
|
|
|||
|
|
@ -14,10 +14,6 @@ SCF module:
|
|||
END
|
||||
\end{verbatim}
|
||||
|
||||
Each of the additional directives are either simple (e.g.,
|
||||
``SINGLET'') or compound (e.g., ``VECTOR'').
|
||||
|
||||
|
||||
\section{Wavefunction type}
|
||||
|
||||
A spin-restricted, closed shell RHF calculation is performed by
|
||||
|
|
@ -135,7 +131,7 @@ also specify \verb+SYM OFF+ (Section \ref{sec:sym}).
|
|||
\label{sec:tol2e}
|
||||
|
||||
\begin{verbatim}
|
||||
TOL2E <real tol2e default min(10^-7 , 0.001*$thresh$)>
|
||||
TOL2E <real tol2e default min(10^-7 , 0.01*$thresh$)>
|
||||
\end{verbatim}
|
||||
|
||||
The variable \verb+tol2e+ is used in determining the integral
|
||||
|
|
@ -150,15 +146,13 @@ instead the required precision in the wavefunction, using the
|
|||
\verb+THRESH+ directive (Section \ref{sec:thresh}). The default
|
||||
threshold is the minimum of $10^{-7}$ and 0.01 times the requested
|
||||
convergence threshold for the SCF calculation (Section
|
||||
\ref{sec:thresh}). This is suitable for nearly all purposes, though a
|
||||
more relaxed value of $10^{-6}$ might accelerate exploratory
|
||||
calculations where accuracy is not a high priority.
|
||||
\ref{sec:thresh}).
|
||||
|
||||
The input to specify the threshold explicitly within the \verb+SCF+
|
||||
directive is, for example:
|
||||
|
||||
\begin{verbatim}
|
||||
tol2e 1e-6
|
||||
tol2e 1e-9
|
||||
\end{verbatim}
|
||||
|
||||
For very diffuse basis sets, or for high-accuracy calculations it
|
||||
|
|
@ -191,10 +185,7 @@ source of the input molecular orbital vectors as any of the following:
|
|||
\begin{itemize}
|
||||
\item \verb+ATOMIC+ --- eigenvectors of a Fock-like matrix formed from
|
||||
a superposition of the atomic densities (the default guess). See
|
||||
Sections \ref{sec:atomscf} and \ref{sec:tolguess}. The atomic initial
|
||||
guess currently does not work correctly in the presence of ECPs.
|
||||
Independently converging fragments, Section \ref{sec:fragguess}, with
|
||||
ECPs can save a lot of resources.
|
||||
Sections \ref{sec:atomscf} and \ref{sec:tolguess}.
|
||||
\item \verb+HCORE+ --- eigenvectors of the bare-nucleus Hamiltonian or
|
||||
the one-electron Hamiltonian.
|
||||
\item \verb+filename+ --- the name of a file containing the MO vectors
|
||||
|
|
@ -331,9 +322,6 @@ instances:
|
|||
occupation. This can often be readily accomplished with a
|
||||
calculation on the fragment using dummy charges to model a ligand
|
||||
field.
|
||||
\item The atomic initial guess currently does not work correctly in
|
||||
the presence of ECPs. Independently converging fragments with ECPs
|
||||
can save a lot of resources.
|
||||
\item The molecular occupation predicted by the atomic initial guess
|
||||
is often wrong for systems with heavy metals which may have
|
||||
partially occupied orbitals with lower energy than some doubly
|
||||
|
|
@ -649,8 +637,9 @@ those centers. Two parameters must be set as follows:
|
|||
|
||||
The array of strings \verb+atomscf:tags_z+ should be set to the list
|
||||
of tags, and the array \verb+atomscf:z+ should be set to the list of
|
||||
charges. All atoms that have a tag specified in the list of tags will
|
||||
be assigned the corresponding charge from the list of charges.
|
||||
charges which must be real numbers (not integers). All atoms that
|
||||
have a tag specified in the list of tags will be assigned the
|
||||
corresponding charge from the list of charges.
|
||||
|
||||
\fussy
|
||||
|
||||
|
|
@ -658,7 +647,7 @@ For example, the following specifies that all oxygen atoms with tag
|
|||
\verb+O+ be assigned a charge of \verb+-1+ and all iron atoms with tag
|
||||
\verb+Fe+ be assigned a charge of \verb=+2=
|
||||
\begin{verbatim}
|
||||
set atomscf:z -1 2
|
||||
set atomscf:z -1 2.0
|
||||
set atomscf:tags_z O Fe
|
||||
\end{verbatim}
|
||||
|
||||
|
|
@ -677,13 +666,14 @@ the database with the \verb+UNSET+ directive (Section
|
|||
\section{Accuracy of initial guess}
|
||||
\label{sec:tolguess}
|
||||
|
||||
The initial Fock-matrix construction from the atomic guess is
|
||||
performed to a very low precision. In charged, or diffuse basis sets,
|
||||
this precision may not be sufficient and could result in incorrect
|
||||
ordering of the initial orbitals. The accuracy may be increased with
|
||||
the following directive which should be inserted in the top-level of
|
||||
input (i.e., outside of the SCF input block) and before the {\tt TASK}
|
||||
directive.
|
||||
For SCF, the initial Fock-matrix construction from the atomic guess is
|
||||
now (staring from version 3.3) performed to a default precision of
|
||||
1e-7. However, other wavefunctions, notably DFT, use a lower
|
||||
precision. In charged, or diffuse basis sets, this precision may not
|
||||
be sufficient and could result in incorrect ordering of the initial
|
||||
orbitals. The accuracy may be increased with the following directive
|
||||
which should be inserted in the top-level of input (i.e., outside of
|
||||
the SCF input block) and before the {\tt TASK} directive.
|
||||
\begin{verbatim}
|
||||
set tolguess 1e-7
|
||||
\end{verbatim}
|
||||
|
|
@ -1108,12 +1098,7 @@ converge slowly, resulting in an excessive number of micro-iterations.
|
|||
This makes the SCF expensive in terms of computation time, and it is
|
||||
possible to exceed the maximum number of iterations without achieving
|
||||
the accuracy required for quadratic convergence --- which causes more
|
||||
macro-iterations to be performed. A negative eigenvalue in the
|
||||
Hessian will usually also cause slow convergence of the
|
||||
micro-iterations (since negative eigenvalues are usually small), and
|
||||
will also cause components of the line-search direction to point
|
||||
uphill --- which again slows convergence of the macro-iterations and
|
||||
causes more steps to be taken in the line search.
|
||||
macro-iterations to be performed.
|
||||
|
||||
Two main options are available when a problem will not converge:
|
||||
Newton-Raphson can be disabled temporarily or permanently (see Section
|
||||
|
|
|
|||
|
|
@ -304,8 +304,8 @@ routines to generate an internal fatal error if any memory operation
|
|||
fails. The default is \verb+nohardfail+, which allows the code to
|
||||
continue past any memory operation failure, and perhaps generate a
|
||||
more meaningful error message before terminating the calculation.
|
||||
This can be useful when poorly coded applications do not check the
|
||||
return status of memory management routines.
|
||||
Forcing a hard-fail can be useful when poorly coded applications do
|
||||
not check the return status of memory management routines.
|
||||
|
||||
When assigning the specific memory allocations using the keywords
|
||||
\verb+stack+, \verb+heap+, and \verb+global+ in the \verb+MEMORY+
|
||||
|
|
@ -335,12 +335,9 @@ requests to succeed where a stricter memory model would cause the
|
|||
directive to fail. These implementation characteristics must be kept
|
||||
in mind when reading program output that relates to memory usage.
|
||||
|
||||
Current standard defaults for various platforms are listed in Table
|
||||
\ref{tbl:default-memory-limits}. On machines for which individual
|
||||
processors are commonly used in single user mode (e.g., IBM SP-X,
|
||||
Linux laptops, CRAY-T3D, Intel Paragon, KSR), the defaults reflect
|
||||
the maximum memory available to applications with common hardware
|
||||
configurations.
|
||||
Standard defaults for various platforms are listed in Table
|
||||
\ref{tbl:default-memory-limits}, though these are commonly
|
||||
overriden during installation at many sites.
|
||||
|
||||
%RJH: Table reference needs fixing. Should be Table 5.1, not 5.3.--fmr
|
||||
|
||||
|
|
@ -354,16 +351,15 @@ configurations.
|
|||
\hline\hline
|
||||
Platform & Total Memory Limit (MBytes) \\
|
||||
\hline
|
||||
CRAY-T3D & 40 \\
|
||||
DECOSF & 48 \\
|
||||
CRAY-T3E & 83 \\
|
||||
DECOSF & 90 \\
|
||||
IBM RS/6000 & 56 \\
|
||||
IBM SP-X & 90 \\
|
||||
Intel Paragon & 16 \\
|
||||
KSR & 20 \\
|
||||
Linux & 16 \\
|
||||
SGI & 48 \\
|
||||
SGI Power Challenge & 48 \\
|
||||
Sun & 48 \\
|
||||
Linux & 64 \\
|
||||
SGI & 90 \\
|
||||
SGI Power Challenge & 90 \\
|
||||
Sun & 90 \\
|
||||
\hline\hline
|
||||
\end{tabular}
|
||||
|
||||
|
|
@ -731,8 +727,6 @@ available in NWChem:
|
|||
\item \verb+saddle+ --- Conduct a search for a transition state (or saddle point)
|
||||
using either Driver (Section \ref{sec:driver}, the default) or
|
||||
Stepper (Section \ref{sec:stepper}).
|
||||
\item \verb+lst+ --- calculate energies on a LST path defined by means of
|
||||
a z-matrix input.
|
||||
\item \verb+frequencies+ or \verb+freq+ --- Compute second derivatives
|
||||
and print out an analysis of molecular vibrations.
|
||||
\item \verb+dynamics+ --- Compute molecular dynamics using nwARGOS.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue