MCSCF
Contents
-
MCSCF
- MCSCF Orbital space
- Active electrons, spatial and spin symmetry, root definition
-
Active space definition: CAS, RAS
- Actfrz
- CVS
- RAS
- GAS
- AutoMC
- RootPrt
- Guess
- Direct
- Molden
- iprtmo
- iCI
- iCIPT2
- CFGICI
- GUGA
- SOCCAS
- SOCene
- SOCcri
- Actopt
- CIread
- iCIread
- NCIsave
- SaveLoop
- Quasi
- Werner
- Mixopt
- Localmc
- Locpflmo
- Locflmo
- Ltopdown
- NoLmocls
- NoLmoact
- NoLmovir
- Lmcnmo
- Seleci
- SortAct
- Enesort
- NoProperty
- Nature
- Qcmo
- StateMO
- MO2AO
- AOintSort
- IntCre
- NoGrad
- iCAS
- Actadd
- MOM
- SVD
- Hungary
- Parameter keywords
- Example
Multi-configurational self consistent field program. When no active space exists, this is back to approximate second-order RHF.
MCSCF Orbital space
Core
- Number of frozen internal orbitals in each irreps.
Example:
Delete
- Number of frozen external orbitals in each irreps.
Example:
Close
- Number of inactive orbitals in each irreps.
Example:
Active
- Number of active orbitals in each irreps. When no active space exists, this is back to approximate second-order RHF.
Example:
XvrSet
The keyword to set MCSCF XVR obtained by expandmo with keyword VSD. The keyword to set MCSCF MO order by closed, active, Vir and Xvr. Default is .false.
See example : test126.inp
Virdel
The keyword to set MCSCF MO order by closed, active, Xvr and Vir. Default is .false.
See example : test126.inp
XvrUse
The keyword to print MCSCF XVR to chkfil for the following module of traint where the same keyword XvrUse can be used to instead of delete. Default is .false.
Active electrons, spatial and spin symmetry, root definition
actel
- Number of active electrons in active space. When no active space exists, this is back to approximate second-order RHF.
Example:
Roots
Three or one lines should be provided.
Line 1: Two or three integrals. The first one is the number of averaged states and the second one is the number of states calculated in CI. If the third number is one, the lowest states will be averaged with the same weights; if it is zero or missing, two additional lines should be provided.
Line 2: which states should be averaged
Line 3: weight of states in state-average calcualtion
Example:
Roots 3 4 # 3 states will be averged, 4 states will be calculated 1 2 3 # States 1 2 3 will be averged 1 1 1 # equal weight for each state
This is equivalent to
Roots 3 4 1 # The first 3 states will be averged with the same weights & 4 states will be calculated
Symmetry
- Symmetry of the target state.
Example:
Symm
- Symmetry of the target state, which is abbreviation of 'symmetry'.
Example:
Spin
- Spin multiplicity. 2S+1
Example 1:
Spin 1 # singlet
Example 2:
Spin 2 # doublet
MixCI
Four lines should be provided for controlling state average CASSCF calculations with different spin and space symmetries of CAS-CI. Line 1: number for different types of CI. Line 2: spin multiplicity for each type of CI. Line 3: averaged state number for each type of CI. Line 4: irreducible representation number for each type of CI.
Example:
MixCI 3 # number for three types of CI. 1 3 5 # singlet, triplet and quintet for three types of CI, respectively. 3 1 2 # three, one and two averaged states for three types of CI, respectively, sum of them must be equal to that setting in 'Nroots'. 1 4 3 # first, fourth, third irreducible representation for three types of CI, respectively.
Comment:
With keyword 'MixCI' setting, keywords 'spin' and 'symmetry' are useless and can be missing.
Active space definition: CAS, RAS
Actfrz
use to frozen active MOs which are indeed core orbitals, this is employed to calculate core excitations. Line 1: number of frozen active MOs Line 2: index of frozen active MOs
Example:
actfrz 3 10 11 12 ! these three MOs are core orbitals
CVS
Core Valence Separation for Core excitation for GUGA if use this keyword. Default = .false.
Example:
RAS
several lines should be provided for controlling RASSCF calculations. Line 1: number for different RAS spaces, like RAS1, RAS2, RAS3, ...., the index for CAS space which all electron excitations are allowed. Line 2: allowed excitation electron number of the double occupied RAS spaces or all electrons of CAS or allowed accept electrons of unoccupied RAS space. From Line 3 to Line (RAS spaces number plus 2) set active orbital with symmetry of these RAS spaces.
Example:
ras 2 2 ! there are two RAS spaces, the second RAS space is CAS space. 2 6 ! first RAS space (RAS1) allows maximum 2 electrons are excited. second RAS space (RAS2) allow all of 6 electrons are excited. 5 0 0 3 ! active orbitals of each irreps of RAS1 0 2 3 1 ! active orbitals of each irreps of RAS2.
Comment:
With keyword 'RAS' setting, keywords 'active' is useless and can be missing.
GAS
several lines should be provided for controlling GASSCF calculations. Line 1: number for GAS spaces, like GAS1, GAS2, GAS3, .... Line 2: minimum electron occupation numbers for the GAS spaces. Line 3: maximum electron occupation numbers for the GAS spaces. From Line 4 to Line (GAS spaces number plus 3) set active orbital with symmetry of these GAS spaces.
Example:
gas 2 ! there are two GAS spaces. 2 4 ! minimum electron occupation numbers for the GAS spaces. 4 10 ! maximum electron occupation numbers for the GAS spaces. 2 0 0 0 ! active orbitals of each irreps of GAS1 2 0 2 2 ! active orbitals of each irreps of GAS2.
Comment:
With keyword 'RAS' setting, keywords 'active' is useless and can be missing.
AutoMC
- Automically set keyword close, active, actel from expandmo module, if users do not set $expandmo to automically select active space.
This keyword can not be used. default: .false. If users also set close, active, actel in the following input file. the automically set active space will be covered by the user set ones.
Example:
RootPrt
- Print the target state (root) energy for calculating numerical gradient of this state in numgrad module, default is 1.
Example:
RootPrt 3 # the third state (root) energies will be printed.
Guess
- Initial molecular orbitals reading.
Notice:
Guess : read is set with recent MCSCF MOs as initial MOs from WORKDIR by the formatted File inporb, canorb, scforb in turn. File name are $BDFTASK.inporb, $BDFTASK.canorb, $BDFTASK.scforb, respectively. Guess : hforb is default with SCF MOs as initial MOs from TMPDIR by the unformatted File hforb. Guess : mcorb is set with recent MCSCF MOs as initial MOs from TMPDIR by the unformatted File mcorb. Guess : inporb is set with recent MCSCF MOs as initial MOs from WORKDIR by the formatted File inporb, canorb, scforb in turn. Guess : atom is set with orthonormal atomic orbitals (OAOs) as initial MOs. Guess : hcore is set with Nuclear core Hamiltonian as initial MOs. Guess : huckel is set with Extend Huckel Hamiltonian as initial MOs. Guess : lmo is set with SCF localized MOs (LMOs) as initial MOs. File name is $BDFTASK.localorb. Guess : lmomc is set with MCSCF localized MOs (LMOs) as initial MOs. File name is $BDFTASK.lmomcorb. Guess : pflmo is set with pFLMOs as initial MOs. File name is $BDFTASK.pflmoorb. Guess : cflmo is set with FLMOs as initial MOs to perform energy ordering as ascend order. output file is $BDFTASK.mcinporb. Guess : flmo is set with FLMOs as initial MOs. File name is $BDFTASK.flmoorb. Guess : mcinp is set with $BDFTASK.mcinporb as initial MOs with energy order as ascend order.
Example 1:
Guess hforb # read SCF MOs from scratch file, which is default.
Example 2:
Guess hcore # with Nuclear core Hamiltonian as initial MOs.
Example 3:
Guess inporb # read from local files '$Project.inporb', '$Project.canorb', and '$Project.scforb' in turn to find guess MOs.
Example 4:
Guess mcorb # read CASSCF MOs from scratch file.
Direct
- MCSCF calculation with one direct CI step in each micro-iteraction, which may be useful in large CI system, default is without this keyword.
Molden
- Output MCSCF orbital into Molden format file.
iprtmo
- Require to print MO coefficients. Values: 1 Only print orbital energy and occupation numbers. 2 Print all information.
iCI
- use iCI as CASCI solver. Default is false and uses UGA as CASCI solver.
iCIPT2
- calculate iCIPT2 within active orbitals as correlation orbitals. Default is false and uses UGA as CASCI solver.
CFGICI
- Use orbital CFG (oCFG) as Primary states instead of the default CSF as Primary states for iCI or iCIPT2. This keyword is used to combine with 'readref' on xianci. test139.inp is the example test for sSDSPT2 with oCFG as references. Default : false.
GUGA
- use GUGA calculate CASCI instead of UGA. Default is false and uses UGA as CASCI solver.
SOCCAS
- calculate SO-CASSCF by TUGA.
SOCene
- calculates SOC of all states, only supports GUGA now (default and do not need to set 'GUGA'), which needs SOC integrals by 'xuanyuan' module as example:
$xuanyuan
scalar
heff
3
soint
hsoc
2
$end
SOCcri
- Set the print threshold of SOCene with GUGA. Default: 0.d0.
Actopt
- ACTOPT
- 0 : do not optimize active orbitals within active space. This is default.
- 1 : Optimize active orbitals within active space employing Werner or quasi-Newton method.
- 2 : Optimize active orbitals within active space employing Jacobi rotation.
CIread
- Use previous CI vector as initial on each CI calculation except for the first CI calculation. Default is not read.
iCIread
- Use previous iCI vector as initial. Default is not read.
NCIsave
- Maximum dimension of CI Hamiltonian Matrix which can be saved on core memory. Default : 20000 If CI dimension is large than NCIsave, Davidson diagonalizaton is used.
Example:
SaveLoop
Calculate LOOPs only once and saved on disk if set SaveLoop=true. Default : false, but when Davidson diagonalizaton is used, SaveLoop = true.
Example:
Quasi
- Use Quasi-Newton method for orbital optimization, like Second-Order SCF method, which requires less Memory and has fast MO integral Transformation than Second-Order method, like Newton-Raphson method.
Werner
- Use Second-Order method for orbital optimization by Werner nonlinear optimization, This is default.
Commit:
Notice: please check results by keyword Quasi, if they are different, please check by other program like MOLPRO and MOLCAS.
Mixopt
- Use approximate Second-Order method for orbital optimization by Werner nonlinear optimization is fluctuating, This is no default value when using werner opt, please set this keyword to activate it. This is useless when you use quasi to MO opt.
Localmc
- Use Local MCSCF method for orbital optimization by top-down least-change method or block diagonalization of first-order reduced density matrix from MRCIS calculation by link traint, drt and mrci modules. Default is the former by the following keyword "Ltopdown", if you want to use the latter please set keyword "Lmcnmo".
Notice: Local MCSCF method only supports to the nonsymmetric system by keyword 'nosym'. Notice: which needs previously to calculate Localmo program at least once to calculate dipole moment, Notice: or use fragment Local SCF by pFLMO to form pLMO.
Locpflmo
- Use $BDFTASK.pflmo as least-change initial LMOs if this file exists.
Locflmo
- Use $BDFTASK.flmo as least-change initial LMOs if this file exists.
Ltopdown
- Use top-down least-change for Local MCSCF method with optimized CMO after CASSCF started from pLMO by previous orbital localization SCF or other initial LMO. This method will provide approximate LMO which can be refined by the following Localmo program with MCORB, which will be optimized faster than without this least-change local MCSCF, particularly for the virtual space localization. This is default local mcscf method.
NoLmocls
- No localization of doubly space of MCSCF when top-down least-change is used, default is localizing this space.
NoLmoact
- No localization of active space of MCSCF when top-down least-change is used, default is localizing this space.
NoLmovir
- No localization of virtual space of MCSCF when top-down least-change is used, default is localizing this space.
Lmcnmo
- Use Local MCSCF method for orbital optimization which needs to calculate MRCIS by link traint, drt and mrci modules. The idea is decoupling of MRCIS first-order reduced density matrix by block diagonalization of it.
Seleci
- Calculate Selected CI with set CSF occupation or set Number of Selected CSF occupations to zero so that i.e. *.select1 and *.select2 on WORKDIR folder can be used to set CSF occupation for different spin and space symmetries. Line 1: Set Number of Selected CSF occupations (Nref), active MO number to do Selected CI, and excitation number. Line 2 to Line Nref+1: set occupation (2,1,0) respectively to double, single and zero occupation.
Example:
SELEREF 3 4 2 2200 2110 2020
Example:
SELEREF 0 0 2 ! read from file select1 or select2 with maximum 2 electron excitation
SortAct
- Line 1: Set Number of sort pairs . Line 2: set MO indexes which need to sort to active space one by one. Line 3: set MO indexes which need to sort out active space one by one.
Example:
Sortact 3 10 15 20 # this means that MO 10 <=> 12; 15 <=> 13; 20 <=> 14 12 13 14 # the 10, 15, 20 MOs are sorted to active space while 12, 13, 14 are sorted out, respectively.
Enesort
- reorder initial MOs by orbital energies. Default = .false.
NoProperty
- No property calculations to keep CASSCF optimized MOs and no nature or quasi-canonical MOs are generated. Default is .false.
Nature
- Print Nature molecular orbitals, This is default.
Notice: Nature can not be used on Local MCSCF calculation.
Qcmo
- Print average canonical molecular orbitals.
StateMO
- set state number for print state-specfic MO, default: StateMO = 0 to print state-average MO.
MO2AO
- Print SCF molecular orbitals with Non-orthogonal AO to molden format file, when this keyword is used only print molden file without MCSCF calculation.
AOintSort
- This keyword means that we do resort AOints so that Nint=Nij*Nkl. When this keyword is set, AOINTs are twist than original savng form. Default is false.
IntCre
- This keyword can change memory for AOINT saving. maxint=int(maxint*intcre). Default maxint is 268435456.
NoGrad
- Do not save orbital Hessian to disk, which is used for analytical gradients, default is without this keyword.
iCAS
- imposed CAS by MOM/SVD/Hungary check inactive, active and virtual spaces. Default is MOM, Users need to set keyword 'Hungary' or 'SVD' to employ alternative Hungary or Kuhn-Munkres (KM) algorithm and Singular Value Decomposition.
Actadd
- The active orbital number will be enlarged automatically when use this keyword with the combination of iCAS or SVD to check active space. Default = .false.
MOM
- imposed CAS by MOM check inactive, active and virtual spaces.
SVD
- imposed CAS by SVD check inactive, active and virtual spaces.
Hungary
- imposed CAS by Hungary or Kuhn-Munkres (KM) algorithm, which is the alternative method of MOM.
Parameter keywords
Conv
- Threshold of CI optimization and orbital gradient, respectively. Default : 1.d-8, 1.d-4
Example:
Conv 1.d-8 1.d-4
Macit
- Maximum step of Macro iteration. Default : 50
Example:
Micit
- Maximum step of Micro iteration. Default : 20 for exact second-order method (Werner); 20 for approximate second-order method (Quasi).
Example:
Mocit
- set the iterative step of micro-iteration of iCAS.
CIiter
- Maximum step of CI Davidson iterations. Default : 200
Example:
Ucutoff
- threshold of Uki*Ulj of MO trans in internal orbital optimization. Default : 1.d-8. This parameter will greater influence MO trans efficiency in internal orbital optimization. In general, when the parameter is set to zero. the MO trans will be slower than full four-index MO trans and waste computational time unnecessarily.
Example:
Maxassign
- set maxcycle of the optimal assignment by Hungary algorithm, default is 100.
NODE
- Maximum DRT node number. The default value is 300000.
Example:
WEI
- Maximum DRT WEI number. The default value is 1000000.
Example:
PLOOP
- Maximum partial LOOP number. The default value is 1000000.
Example:
NREF
- Maximum Ref number. The default value is 10000.
Example:
NVFF
- Maximum two electron integral number of active space. The default value is 10000000.
Example:
THRESHMAC
- Threshold of CI optimization. Default : 1.d-8
Example:
THRESORB
- Threshold of orbital gradient. Default : 1.d-4
Example:
THRESCUT
- Threshold of SVD value to measure the match degree of the last and current MOs. If the SVD value is smaller than this threshold, the corresponding MO will be sorted out the subspace automatically. Default : 0.8
Example:
THRESICAS
- Threshold of using iCAS. Only if |E(n)-E(n+1)| is larger than this threshold, iCAS is working. Default : 1.d-4
Example:
CMIN
- Threshold of UGA-CI and iCI CSFs cutoff. Default : 1.d-4
Example:
ACTMIN
- Threshold of iCI Jacobi rotation of MOs within active space. Default : 1.d-6
Example:
ENEONLY
- MCSCF converges only if Threshold of CI optimization is achieved. Default : .false.
ORBONLY
- MCSCF converges only if Threshold of orbital gradient is achieved. Default : .false.
GORBMAX
- Threshold of maximal orbital gradient. Default : 1.d-4
Example:
CSFCRI
- Threshold of CI coefficient which will be printed to $WORKDIR/BDFTASK.selecsf* after MCSCF optimization. Default : 5.d-4
PRTCRI
- Threshold of CI coefficient which will be printed to output file after MCSCF optimization. Default : 0.05
PRTITER
- print each macro-iteration MOs to molden file and format file mciter. Default : .false.
Example
SOCCAS-SCF
Here is an example using SOCAS-SCF to calculate the I atom.
$COMPASS Title I 2P Basis ANO-RCC-VQZP Geometry I 0.0 0.0 0.0 End geometry Group C(i) saorb $END $XUANYUAN scalar heff 3 soint hsoc 2 # 2 1e+MF2e, 0 1e. $END # 1s^22s^22p^63s^23p^63d^104s^24p^64d^105s^25p^7 $SCF RHF Occupied 15 12 Charge -1 iprtmo 2 $END $mcscf close 14 9 active 1 3 # 3s3p actel 7 Charge 0 Spin 2 symmetry 2 roots 3 3 1 2 3 1 1 1 soccas dumpsocint QUASI MACIT 10 $end