--- 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.)