NEO input --- The inputs for NEO calculations must use only

advertisement
--- NEO input --The inputs for NEO calculations must use only cartesian
coordinates in $DATA. The user always must read the
vectors (MOREAD) to provide the guess for the electrons.
If GUESS = MOREAD is not specified this might lead to
convergence problems. Other required elements in the
input are:
$scf soscf=.f. diis=.t. ethrsh=1.5
$end
NOTE: if nmomtd=diagzn (SEE $NEO group) then either the
diis or soscf convergers may be used.
Limitations of this release of the NEO code are:
1. Analytic gradient based runs are limited to NEO Hartree-Fock
methods (analytic second derivatives are not available).
2. Available energy methods are RHF, ROHF, RHF/MP2, full CI
(within a given active space), and MCSCF electrons.
3. Only determinant based NEO-CI is available.
4. For CI and MCSCF use of symmetry is not available.
5. Serial execution only of the code (a parallel version
will soon follow).
6. Only Hydrogen nuclei can be treated quantum mechanically.
7. The Td point group cannot be used in any type of run.
$NEO
=========================================================
$NEO
group
(optional)
This group specifies global switches for NEO calculations
NEOSCF
Specifies the SCF method type for NEO
calculation. You may choose from
= NONE
This choice is only appropriate if you
are carrying out a NEO-CI calculation
based on NEO-SCF electronic and nuclear
orbitals you are reading in via MOREAD.
(see $GESNMO and $NEODET below)
= DIAGZN
one-proton (nucleus) Hamiltonian is
diagonalized to find proton MOs for
all proton states (see NUCST below).
Can only be used for the case of one
quantum proton/nucleus.
= RONHF
multiple protons high spin open shell
Hartree-Fock calculation (ground state
only)
= MCSCF
a NEO-MCSCF calculation is performed.
Electronic and nuclear active spaces
are defined in the regular $DET and
$NEODET (see below), respectively.
Only NEO-MCSCF calculations where all
excitations within the chosen active spaces
are allowed (i.e. FORS-MCSCF otherwise known
as CASSCF). See $NEODET for additional
restrictions.
NEOCI
Specifies the CI method type for NEO
= NONE
(default)
= FCI
a determinant based NEO-CI calculation is
performed where all possible
excitations within the chosen electronic
and nuclear active spaces are carried out.
Electronic active spaces are defined in
$CIDET (CITYP=ALDET must be set in $CONTRL).
Nuclear active spaces are defined in
$NEODET, see below.
If a NEO-CI calculation based on converged
NEO-SCF electronic and nuclear orbitals,
read in via MOREAD, is desired, SCFTYP in
$CONTRL and NEOSCF in $NEO must both be set
to NONE.
NEMPLV
Specifies level of NEO perturbation
theory to correct for electronnuclear dynamical correlation.
= 0
(default).
= 2
NEO-MP2 correction.
Certain restrictions apply here:
Only a closed-shell electronic reference can be used. DIRNUC must be
.FALSE.. Thus, only a conventional
segmented transformation is allowed.
Currently, MPLEVL=2 must also
be set in $CONTRL - meaning the standard
MP2 correction for electron-electron
correlation must also be performed.
For the case of a single quantum proton,
selected proton vibronic states can be
NEO-MP2 corrected by setting NUCST=N,
where N is the desired proton vibrational
state.
NEONCI
Flag for requesting a NEO nonorthogonal
CI (NEO-NCI) calculation be done.
= .F.
(default)
= .T.
Do a NEO-NCI calculation. Controls for the
NEO-NCI calculation are defined in $NCIINP
BASNUC
allows a nuclear basis set to be given.
If no nuclear basis set is specified
the DZSNB basis will be used.
= DZSNB
"double zeta" basis set includes
2 uncontracted cartesian S functions
= DZSPNB
"double zeta" basis set includes
2 uncontracted cartesian S functions
and 6 uncontracted cartesian P functions
= DZSPDN
"double zeta" basis set includes
2 uncontracted cartesian S functions,
6 uncontracted cartesian P functions and
12 uncontracted cartesian D functions
= QZSNB
"quadruple zeta" basis set includes
4 uncontracted cartesian S functions
= QZSPNB
"quadruple zeta" basis set includes
4 uncontracted cartesian S functions
12 uncontracted cartesian P functions
= QZSPDD
"quadruple zeta" in s, p and
"double zeta" in d basis set includes
4 uncontracted cartesian S functions
12 uncontracted cartesian P functions
12 uncontracted cartesian D functions
= READIN
read the nuclear basis set from an external
file, defined by NUCBAS in the rungms script
e.g. BASNUC=READIN and replace
"setenv NUCBAS /dev/null"
in the rungms script with
"setenv NUCBAS /path/gamess/nucbasis"
and make a file nucbasis containing:
4
1 30.0739600
1 45.5398600
2 26.1668750
2 18.2176590
4
1 30.0739600
1 45.5398600
2 26.1668750
2 18.2176590
--blank line here--
This corresponds to reading in a DZSP
nuclear
basis set on 2 nuclei.
NUNIQN =
number of unique quantum nuclei (must be
set)
= 1
one QM nucleus before any symmetry
operations
and so on ...
IUNIQN =
array specifying the position of the QM
nuclei in the cartesian coordinate input
in $DATA (must be set). Note that this
refers
to the position after all coodinates have
been generated by possible symmetry
operations.
NUMULT =
multiplicity of the QM nuclear state.
Presently
multiple nuclei must be all spin up for NEOHF
e.g. for 2 QM nuclei NUMULT=3 etc.
(Default is 2)
NTAUXB =
total number of auxiliary basis function
centers
(Defualt is 0). This value is set non-zero
when
multiple basis set centers are required to
adaquately describe a QM nucleus.
NAUXNB =
number of symmetry unique auxiliary basis
function centers, i.e. the number before
symmetry
operations generate NTAUXB.
IAUXNB =
array specifying the position of the
auxiliary basis functions in the cartesian
coordinate input in $DATA
NUCST
nuclear state for which electronic Hartree-
=
Fock MOs
are optimal
(only for use when when NMOMTD=DIAGZN)
= 1
contribution
first nuclear state: corresponds to ground
state nuclear MOs used to construct
= 2
DIRNUC =
to electronic Fock matrix (defualt)
second nuclear state: corresponds to first
exited state nuclear MOs used to construct
contribution
to electronic Fock matrix and so on ....
flag to invoke direct NEO-SCF. Operates
in conjuction with the direct electronic
SCF flags, DIRSCF and FDIFF, which are
found in the regular $SCF group. The
allowed combinations of direct SCF flags
are:
dirnuc dirscf fdiff
--------------------F
F
F
T
Default - all
conventional.
T/F
Direct for 2-electron
integrals and
conventional
for 2-nuclear and
mixed
integrals.
T
T
T/F
2-electron, mixed,
and
2-nuclear integrals
direct.
NOTE: Setting FDIFF=T causes the Fock matrices to be
formed
incrementally. This allows further integral
screening
for the 2-electron integrals employing the
Schwartz
inequality and density difference on each
iteration.
Only 2-electron integrals can be screened on each
iteration. Mixed integrals cannot be screened
because
there are no mixed exchange integrals (obviously).
Remember that the overlap of nuclear basis
functions is
usually small so there will be much fewer NON-ZERO
mixed
and 2-nuclear integrals than there are NON-ZERO
2-electron integrals for most calculations meaning
that the most efficient implementation of direct
scf for
a NEO calculation on a larger system is usually
the
combination:
$SCF
$NEO
SYMNUC =
... DIRSCF=.T. FDIFF=.T. ... $END
... DIRNUC=.F. ... $END
Flag to form symmetry adapted nuclear
molecular orbitals block diagonalize the
nuclear Fock matrix. The symmetry labels
for the nuclear MO's are printed at the
end of the job.
Default=.F.
NOTE: The nuclear MOs for systems like
malonaldehyde modeled using 2 basis
function
centers for the proton under C2v
symmetry
usually retain the the proper symmetry
even
if SYMNUC=.F. The nuclear MOs for
systems
like H2O with 2 quantum protons will
only
retain C2v symmetry if SYMNUC=.T.
QMTOLN =
nuclear orbital linear dependence
threshhold used with SYMNUC=.T.
Any functions in the nuclear SALC
variational space whose eigenvalue of the
overlap matrix is below this tolerence is
considered to be linearly dependent.
Such functions are dropped from the
variational space. What is dropped is not
individual basis functions, but rather some
linear combination(s) of the entire basis
set that represent the linear dependent
part of the function space. The default
is 0.0D+00 since the nuclear basis
functions have very little overlap in
most cases.
NUCOPT =
Flag to request that the positions of all
quantum nuclei are optimized. Note that NEO
energy
gradients are only implemeted for HartreeFock
methods (electrons and nuclei).
For RUNTYP=ENERGY or RUNTYP=GRADIENT in
$CONTRL
NUCOPT=.T. results in frozen classical atoms
and
fully optimized quantum nuclei.
For RUNTYP=OPTIMIZE in $CONTRL, NUCOPT=.T.
results
in the quantum nuclei being optimized at
each
classical nuclei geometry step. This tends
to
make the geometry optimization expensive
with little or no advantage. Therefore,
NUCOPT=.F.
resulting in a regular geometry optimization
scheme is recommended.
This option is not available for
RUNTYP=SADPOINT,
so a regular saddle point search is always
carried out.
For RUNTYP=HESSIAN setting NUCOPT=.T.
excludes
the quantum nuclei coordinates from the
Hessian
and vibrational analysis. If a Hessian
matrix
is being calculated for subsequent use in a
saddle point search (RUNTYP=SADPOINT) set
NUCOPT=.F.
Default is NUCOPT=.F.
LOCORB =
write localized orbitals to DAT file for
later use
in a NEO-NCI calculation.
*NOTE* if NEONCI=.T. LOCORB should either
not appear
in the input file or be set to zero
= 0
nothing is written to DAT file (default)
= 1
designates "left" localized electronic and
nuclear
orbitals will be written to the DAT file
= 2
designates "right" localized electronic and
nuclear
orbitals will be written to the DAT file
$GESNMO
=========================================================
$GESNMO group
This group controls the selection of the initial nuclear
molecular orbitals.
GUESS
NORB
Selects type of initial orbital guess.
= GESDEN
An initial guess at the nuclear density
matrix is made and starting vectors
generated from it. It is best to read in
converged electronic MOs from a regular
SCF (GUESS=MOREAD in $GUESS) in conjunction
with GUESS=GESDEN in $GESNMO.
= MOREAD
Read in formatted vectors punched by an
earlier run. This requires a $VECPRO group,
and you must pay attention to NORB below.
=
The number of orbitals to be read in the
$VECPRO group. This applies only to
GUESS=MOREAD.
$NEODET
=========================================================
$NEODET group
This group describes the nuclear determinants to be used in a
NEO-MCSCF or NEO-CI wavefunction. A number of restrictions
apply to these types of calculations:
a) No use of symmetry in NEO-CI. In the case of a NEO-CI
following a NEO-HF calculation, symmetry can be used
for the NEO-HF step, but will be switched off once
the NEO-CI step starts. For NEO-MCSCF any point group
symmetry will be switched off once the molecular
coordinates are generated.
b) No nuclear frozen cores are permitted.
c) For NEO-MCSCF runs, currently all nuclear MOs must be
active,
i.e. NACT must equal the total number of nuclear MOs.
d) No information about the overall spin states of the
eigenvectors of the nuclear-electronic CI Hamiltonian
is available.
e) The CI Hamiltonian matrices are formed in memory and a
full diagonalization is performed. This initial
implementation is therefore a memory and cpu hog.
Future implementations will combine a direct approach
with a Davidson diagonalization procedure.
NACT
= total number of active nuclear orbitals.
NUCLEI = total number of active nuclei.
SZ
= azimuthal spin quantum number for each of the
nuclear determinants, two times SZ is therefore the
number of excess alpha spins in each determinant.
The default is SZ=S, extracted from the NUMULT=2S+1
given in $NEO.
NSTATE = Number of NEO-CI states to be found, the default
is 1. The maximum number of states is 100.
This value will overide that in $DET or $CIDET.
PRTTOL = Printout tolerance for NEO-CI coefficients, the
default is to print any larger than 0.05.
IROOT
= the
for
can
the
the
root whose density is saved on the disk file
subsequent property analysis. Only one root
be saved, and the default value of 1 means
ground state. Be sure to set NFLGDM to form
density of the state you are interested in!
NFLGDM = Controls each state's nuclear AND electronic
one-particle density formation.
0 -> do not form densities for this state.
1 -> form densities and natural orbitals for this
state, print and punch occ.nums. and NOs.
2 -> same as 1, plus print densities over MOs.
The default is NFLGDM(1)=1,0,0,...,0 meaning
only ground state electronic and nuclear NOs
are generated.
During a NEO-MCSCF run, this applies only to
the input orbitals and the final converged
MCSCF orbitals.
This output control will overide that in $DET
and $CIDET.
WSTATE = An array of up to 100 weights to be given to the
densities of each state in forming the average.
The default is to optimize a pure ground state,
WSTATE(1)=1.0,0.0,...,0.0
A small amount of the ground state can help the
convergence of excited states greatly.
Be sure to set NSTATE above appropriately!
IEROOT = the NEO-MCSCF state whose energy will be used
as the desired value. The default means to use the
average (according to WSTATE) of all states as
the FINAL energy, which of course is not a
physically meaningful quantity. This is mostly
useful for the numerical gradient of a specific
state obtained with state averaged orbitals.
(default=0). IEROOT is ignored during CI only runs.
If IEROOT is set to a nonzero value IROOT (above)
will be set to the same value, so the FINAL energy
and calculated properties are for the same state.
$NCIINP
=========================================================
$NCIINP group
This group describes the input to be used for controling
a NEO-NCI calculation. See the README-NCI document in the
test directory ./neotests/NCI for further information and
examples of how to use the method.
A few restrictions apply to this type of calculation:
a) a NEO-HF calculation must precede the NEO-NCI calculation
so that atomic orbital integrals are calculated.
b) No use of symmetry in NEO-NCI.
c) Only single excitations possible for electrons and protons
If you choose to use single excitations they must be
specified by arrays IEXE(1) and IEXP(1) for electrons and
protons, respectively.
NCIRUN =
selection of the NCI EXETYP
= CALC
do a NEO-NCI calculation (default)
= CHECK
just print out memory and disk requirements
for
a NEO-NCI calculation
= DEBUG
do a NEO-NCI calculation and print out
additional
information for debugging purposes
NUMCNT =
specifies the number of nuclear basis
function
centers present in the localized orbitals
= 1
single center. It is important that if you
are
using a single basis function center for
nuclei
that the quantum mechanical nucleus is
placed
last in the $DATA group in the input file.
= 2
NCIPRT =
NCI
two center (default).
print control flag for NEO-NCI output
= 1
normal printing, but supress printing of the
localized orbitals
= 2
normal printing: print localized orbitals,
matrix, overlap matrix, eigenvectors and
eigenvalues. (default)
= 3
NCISYM =
normal printing plus print out the energy
components of each NCI element.
flag for evaluating the off-diagonal NEO-NCI
matrix element only. This option is only
relevant
for a 2x2 NEO-NCI calculation. (see README
in NCI
tests folder for additional information)
= .F.
no symmetry. The localized states are not
degenerate. Evaluate all lower diagonal NCI
matrix
elements. (default)
= .T.
system is symmetric and the localized states
are
degenerate. Use symmetry to reduce the
number of
NCI elements to calculate.
NCITRN =
control of which AO to nonorthogonal MO
transformation to use for two electron and
two
nuclei integrals. Note the elec-nuc mixed
integrals
always use the three-step transformation. It
is not
recommended that you specify the method to
use
since the program will determine on it's own
the
best method to use for you based on the
available
resources.
= 1
three-step transformation (default)
= 2
two-step transformation. Uses less memory,
but is
exponentially slower than the first method.
NUMNCI =
CUTNCI =
coefficients
number of NCI states to find. (default is 2)
a cutoff for printing the NCI eigenvector
for each state. All coefficents smaller than
CUTNCI
will not be printed. default(1.0D-2)
NUMEXE =
(default is 0)
number of electron single excitations
You must additionally specify the
excitations to be
made by including the array IEXE(1) in your
input
NUMEXP =
number of proton single excitations (default
is 0)
You must additionally specify the
excitations to be
made by including the array IEXP(1) in your
input
IEXE(1) =
single excitations
an array that specifies the electronic
to be made. For each electronic excitation
there must be
a pair of integers listed for IEXE where the
first integer
corresponds from which occupied orbital the
excitation is
to be made and the second integer
specifiying the virtual
orbital to which the electron is excited. If
NUMEXE= 2
then IEXE(1) could be specified as IEXE(1) =
4,5
4,6
which means that the first excitation is
from orbital 4 to 5
and the second excitation is from orbital 4
to 6
IEXP(1) =
excitations
an array that specifies the proton single
to be made. For each proton excitation there
must be
a pair of integers listed for IEXP where the
first integer
corresponds from which occupied proton
orbital the excitation
is to be made and the second integer
specifiying the virtual
proton orbital to which the proton is
excited. If NUMEXP= 2
then IEXP(1) could be specified as IEXP(1) =
1,2
1,9
which means that the first excitation is
from orbital 1 to 2
and the second excitation is from orbital 1
to 9
NUCFCI =
active space of the
flag that specifies to do a full CI in the
proton. This option is only valid for a
single proton. If this
option is selected then NUMEXP and IEXP(1)
do not need to be
specified. default(.FALSE.)
Download