cscf(1)
π cscf(1) β the cscf manual page, bestie edition π
okay so real talk, this is cscf, section 1 of the manual, and she is long, so buckle up π
β¨ NAME β¨
cscf β solves the Hartree-Fock equations π§
πΈ DESCRIPTION πΈ
So what does cscf actually do? She carries out the iterative procedure to solve the Hartree-Fock equations. That's the whole vibe. No cap. π
Now here's the tea, and it's important tea: this program is restricted to D2h symmetry and its subgroups, and the orbital occupations are required to be integers. Which means certain pure angular momentum states derived from partial occupation of degenerate orbitals just... cannot be obtained with the present codes. It's giving limitations, unfortunately. π
For example: the 2PIu (doublet PI u) state of linear O-N-O derived from the lowest energy linear (pi u)1 configuration may only be computed as the 2B2u (doublet B2u) or 2B3u (doublet B 3u) component of the 2PIu (doublet PI u) state, and the resulting spatial wavefunction will not have PI symmetry. π
But wait β in a certain sense, this is actually desirable, bestie, because the energy will be a continuous function of the bending angle. Whereas calculating the energy of bent configurations as 2B2u (doublet B 2u) or 2B3u (doublet B 3u) and doing a pure 2PIu (doublet PI u) state at linear geometries results in a pronounced discontinuity. So like... pick your struggle. π
For the most part, triplet states resulting from double occupation of a doubly degenerate orbital β such as the 3A2 (triplet A 2) state resulting from the (e')2 or (e")2 configurations in D3h symmetry, or the 3SIGMAg (triplet SIGMA g) state of a (pi g)2 or (pi u)2 configuration in Dinfh (D infinity h) symmetry β will have the proper spatial symetry. π
The singlet states resulting from these same electronic configurations, though? Inherently multiconfiguration, and as such they are not well represented by single configuration wavefunctions. periodt. π«Ά
π REFERENCES π
okay so the receipts, organized by topic because we're organized like that β¨
PK-file method:
- R. C. Raffenetti, Chem. Phys. Lett. 20 (1973) 335.
Molecular symmetry and closed shell HF calculations:
- M.Dupuis, and H.F.King, Int. J. Quant. Chem. 11 (1977) 613.
DIIS for closed shell:
- P. Pulay, Chem. Phys. Lett. 73 (1980) 393.
- P. Pulay, J. Comp. Chem. 3 (1982) 556.
Coupling coefficients (alpha and beta) for open shell:
- C. C. J. Roothaan, Rev. Mod. Phys. 32 (1960) 179.
Damping:
- D. R. Hartree, "The Calculation of Atomic Structures" (Wiley: New York) 1957.
- M. C. Zerner and M. Hehenberger, Chem. Phys. Lett. 62 (1979) 550.
Level shifting:
- V. R. Saunders and I. H. Hillier, Int. J. Quant. Chem. 7 (1973) 699.
π₯ CONVERGING CSCF π₯
This section is basically the "how do I make it actually converge" survival guide, and it's highkey the most useful part, so pay attention bestie π
For difficult open shell cases, it is recommended that an appropriate closed shell calculation be run first (add or remove an extra electron), and that this SCF vector then be used as a guess for the desired open shell wavefunction. Iconic strategy honestly. β¨
For TCSCF cases, it is always wise to run a closed shell (or perhaps the appropriate triplet) SCF first and then use this as a guess for the TCSCF. Do it. Trust. π¦
For open shell systems, a level shift value of 0.5 to 3.0 is recommended. Start with a high value (2.0 - 3.0) for the first SCF calculation, and then reduce it (to 0.5 - 1.0) for subsequent runs which use a converged SCF vector as the starting point. Ease into it, she's sensitive. π
β οΈ okay this next bit is extremely important and I need you to actually read it: it is extremely important to note that this version of the code no longer supportsOPENTYPE. One must use the new keywordsREFERENCEandMULTPto specify the type of SCF needed. Do not come crying to me whenOPENTYPEdoesn't work, because she is gone. π
β¨ INPUT FORMAT β¨
okay so cscf goes searching through the default keyword path β first SCF, then DEFAULT β for these keywords, bestie:
LABEL = stringβ a character string that gets included in the output. It is not used by the program. No default. πWFN = stringβ the type of wavefunction you ultimately want. Default isSCF. β¨OPENTYPEis no longer supported πREFERENCE = stringβ says what kind of SCF calculation you want. Can be one ofRHF(for a closed shell singlet),ROHF(for a restricted open shell calculation),UHF(for an unrestricted open shell calculation),TWOCON(for a two configuration singlet), orSPECIAL. If you giveSPECIAL, then alpha and beta coupling coefficients must be given with theALPHAandBETAkeywords. Default isRHF.MULTP= integerβ multiplicity of the molecule. Default is singlet. πΈCHARGE= integerβ charge of the molecule. Default is0.DOCC = integer_vectorβ number of doubly occupied orbitals in each irreducible representation. No default. If you don't give it, CSCF will attempt to guess at the occupations using the core hamiltonian. π§SOCC = integer_vectorβ number of singly occupied orbitals in each irreducible representation. No default.DERTYPE = stringβ order of derivative that is eventually to be done. Used by the scf program to determine if certain files are to be written, and also to determine the default convergence of the wavefunction. Default isFIRST.MAXITER = integerβ maximum number of iterations. Default is40.CONVERGENCE = integerβ how tightly the wavefunction will be converged. Convergence is determined by comparing the RMS change in the density matrix ("delta P") to the given value. The convergence criterion is10**(-integer). Default is7if bothDERTYPE = NONEandWFN = SCFare given, and10otherwise.LEVELSHIFT = realβ level shift. Default is1.DIRECT = booleanβ whether to do the SCF calculation with an integral direct technique. Default isfalse.PRINT_MOS = booleanβ whether to print the molecular orbitals or not. Default isfalse. π
There are also a large number of less commonly used input parameters. If you do not understand what the following options mean, then make sure that they do not appear in your input. The defaults will work in the overwhelming majority of cases. These are specified with the following keywords:
DELETE_INTS = booleanβ Integrals files will be erased ifWFN = SCFandDERTYPE = FIRSTorDERTYPE = NONE. If you wish to keep integrals files then setDELETE_INTS = false. Default istrue.REORDER = stringβ controls reordering of molecular orbitals. If set toBEFOREthen the guess orbitals from checkpoint file will be reordered. If set toAFTER, converged orbitals will be reordered before being written to the checkpoint file. In either caseMOORDERparameter must be given to specify the reordering map. Default is not to reorder orbitals.MOORDER = integer_vectorβ specifies a molecular orbital reordering vector. It will only be used ifREORDERis set. This vector maps every orbital to its new index, e.g.MOORDER = (0 2 1)specifies that after reordering orbitals1and2will be swapped. The rank of this vector is the same as the number of MOs. The indices are in Pitzer order (ordered by symmetry, then by energy within each symmetry block), base-0. CSCF will likely fail if the givenMOORDERmixes orbitals from different irreps. There is no default.ALPHA = real_vectorβ IfOPENTYPE = SPECIAL, then this parameter gives the alpha coupling coefficients. The number of elements in this vector isMM(MM+1)/2, whereMMis the number of irreducible representations containing singly occupied molecular orbitals. There is no default.BETA = real_vectorβ IfOPENTYPE = SPECIAL, then this parameter gives the beta coupling coefficients. The number of elements in this vector isMM(MM+1)/2, whereMMis the number of irreducible representations containing singly occupied molecular orbitals. There is no default.GUESS = stringβ determines the type of initial guess at the eigenvector CSCF will use. The only valid options at the moment are: (1)GUESS = CORE, which causes it to use core Hamiltonian eigenvector to start the calculation; (2)GUESS = AUTOwhich results in an attempt to use the MO vector in the checkpoint file, or resorts to core guess if there is no eigenvector in that file. Default isAUTO.IPRINT = integerβ print option. Default is0.MO_OUT = booleanβ Prints out the orbitals with symmetry and occupations at the end of the calculation. Default istrue.ROTATE = booleanβ The molecular orbitals will not be rotated if this isfalse. The rotation only affects the virtual orbitals for open shell systems. This parameter must betruefor correlated gradients and it must befalsefor second and higher derivatives. Default isfalseifWFN = SCFandtrueotherwise.CHECK_ROT = booleanβ Check the molecular orbital rotation described above to ensure that no columns of the SCF eigenvector matrix are swapped by the rotation. Has no effect ifROTATE = false. Default istrue.CHECK_MO_ORTHOGONALITY = booleanβ Check if the molecular orbitals are orthonormal. Useful for debugging only. Default isfalse.DIIS = booleanβ determines whether diis will be used. Default istrue.DIISSTART = integerβ first iteration for which DIIS will be used. Default is0.NDIIS = integerβ number of error matrices to use in the diis procedure. Default is6for closed shell,4for open shell, and3for tcscf.DIISDAMP = realβ damping factor for the diis procedure. Default is0.0for closed shell,0.02for open shell, and0.01for tcscf.INCR = realβ used in tcscf to determine how often the ci coefficients are recalculated. A small number (~0.25) will cause them to be recalculated nearly every scf iteration. Default is0.25.DYN_ACC = booleanβ When performing direct scf this specifies whether dynamic integral accuracy cutoffs will be used. Default istrue(use dynamic cutoffs). Initial iterations are performed with integrals accurate to six digits. After density is converged to10^-5or30iterations are completed, full integral accuracy is used. If scf convergence problems are experienced disabling dynamic cutoffs by setting this variable tofalsemight help.ORTHOG_ONLY = booleanβ Sometimes in CASSCF or other non-HF/KS schemes for orbital optimization, it is useful to reorthogonalize MO's from other geometries for the current geometry so they can be used as an initial guess for the new MO's. This can be performed by running CSCF withORTHOG_ONLY = true. After the orbitals are orthogonalized, the program will quit without performing an SCF computation. This keyword will be ignored if there are no previous orbitals in the checkpoint file. Defaults totrueifWFN = DETCAS.
That's the whole vibe, bestie. This page is fromcscf(1), dated30 May, 1991. πβ¨π
π¦ where this page comes from
- debian bookworm: psi3 3.4.0-6+b3
- ubuntu jammy: psi3 3.4.0-6ubuntu1
- ubuntu noble: psi3 3.4.0-6ubuntu1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms