QuantumChemistry
ActiveSpaceSCF
A configuration interaction (CI) method, operating on a subset of optimized orbitals known as the active space
Calling Sequence Description Outputs
Options References Examples
Calling Sequence
ActiveSpaceSCF(molecule, active, options)
Parameters
molecule
-
list of lists; each list has 4 elements, the string of an atom's symbol and atom's x, y, and z coordinates
active
equation of the form active = [nelectrons, nact] or {set of active orbitals}
options
(optional) equation(s) of the form option = value where option is one of state, symmetry, unit, max_memory, natorb, conv_tol, nuclear_gradient, return_rdm, populations, canonicalization, initial_mo, fcisolver_conv_tol, fcisolver_davidson_only, fcisolver_level_shift, fcisolver_lindep, fcisolver_max_cycle, fcisolver_max_space, fcisolver_nroots, fcisolver_pspace_size, ci_response_space, conv_tol_grad, max_cycle_macro, max_cycle_micro, max_cycle_micro_inner, max_stepsize, ah_conv_tol, ah_level_shift, ah_lindep, ah_max_cycle, ah_start_cycle, ah_start_tol, conv_tol_hf, diis_hf, diis_space_hf, diis_start_cycle_hf, direct_scf_hf, direct_scf_tol_hf, level_shift_hf, max_cycle_hf, max_memory_scf_hf, nuclear_gradient_hf, populations_hf
Description
ActiveSpaceSCF, also known as complete-active-space configuration interaction (CASSCF), performs a full configuration interaction (FCI) calculation with a subset of the molecular orbitals (MOs) known as the active orbitals. Molecular orbitals are selected to be active if they are expected to contribute significantly to the molecule's electron correlation. The remaining inactive orbitals are treated as either fully occupied or fully unoccupied, and hence, they do not contribute to the description of the electron correlation. In contrast to ActiveSpaceCI (CASCI), ActiveSpaceSCF optimizes the active orbitals through iterative rotations between the active and inactive orbitals to minimize the energy.
The active keyword argument must be provided to perform an active-space calculation. The active keyword can be assigned to a list of two elements [N,r] containing the number N of active electrons and the number r of active orbitals or a set containing the indices of the molecular orbitals to be treated as active. If the active keyword is not assigned, then all of the molecular orbitals are considered active, and a FCI calculation is performed.
The state keyword can be assigned a nonnegative integer to compute the energy and properties of a ground or excited state. If the state keyword is assigned to 0 (default), then the ground state is computed; if the state keyword is assigned to a positive integer n, then the nth excited state is computed. Calculations are affected by the spin keyword whose default is 0.
Outputs
The table of following contents:
te_tot
float -- total electronic energy of the system
te_corr
float -- the difference between the CASSCF energy and the Hartree-Fock energy
tmo_coeff
Matrix -- coefficients expressing natural molecular orbitals (columns) in terms of atomic orbitals (rows)
When the option return_rdm is set to "none", the canonical molecular orbitals are returned.
tmo_coeff_canonical
Matrix -- coefficients expressing canonical molecular orbitals (columns) in terms of atomic orbitals (rows)
tmo_occ
Vector -- molecular (natural) orbital occupations
tmo_energy
Vector -- energies of the molecular orbitals
taolabels
Vector -- string label for each atomic orbital consisting of the atomic symbol and the orbital name
tactive_orbitals
list -- list of integers and/or integer ranges indicating the molecular orbitals that are active for correlation
tconverged
integer -- 1 or 0, indicating whether the calculation is converged or not
tci_coeff
Matrix -- a matrix of CI coefficients whose rows represent α-spin coefficient indices and columns represent β-spin coefficient indices
trdm1
Matrix -- one-particle reduced density matrix (1-RDM) in molecular-orbital (MO) representation
trdm2
Matrix -- two-particle reduced density matrix (2-RDM) in molecular-orbital (MO) representation
tdipole
Vector -- dipole moment according to its x, y and z components
tpopulations
Matrix -- atomic-orbital populations
tcharges
Vector -- atomic charges from the populations
tnuclear_gradient
Matrix -- analytical nuclear gradient
tspin_squared
integer -- expectation value of the total spin S squared (= S(S+1))
Options
basis = string -- name of the basis set. See Basis for a list of available basis sets. Default is "sto-3g".
spin = nonnegint -- twice the total spin S (= 2S). Default is 0.
charge = nonnegint -- net charge of the molecule. Default is 0.
symmetry = posint/boolean -- is the Schoenflies symbol of the abelian point-group symmetry which can be one of the following: D2h, C2h, C2v, D2, Cs, Ci, C2, C1. true finds the appropriate symmetry while false (default) does not use symmetry.
state = nonnegint -- sets the electronic state to be computed. Default is 0, which is the ground state.
unit = string -- "Angstrom" or "Bohr". Default is "Angstrom".
max_memory = posint -- allowed memory in MB. Default is 4000.
ghost = list of lists -- each list has the string of an atom's symbol and the atom's x, y, and z coordinates. See Ghost Atoms.
natorb = boolean -- whether to restore the natural orbital during CASSCF optimization. Default is false.
conv_tol = float -- converge threshold. Default is 10−10.
nuclear_gradient = boolean -- option to return the analytical nuclear gradient if available. Default is false.
return_rdm = string -- options to return the 1-RDM and/or 2-RDM: "none", "rdm1", "rdm1_and_rdm2". Default is "rdm1".
populations = string -- atomic-orbital population analysis: "Mulliken" and "Mulliken/meta-Lowdin". Default is "Mulliken".
canonicalization = boolean -- whether to canonicalize orbitals. Default is true.
initial_mo = list -- initial molecular orbitals (MOs) as a list: [ t[mo_coeff], t[mo_symmetry] ] where t[mo_coeff] is the Matrix of MOs (columns) in terms of atomic orbitals (rows) and t[mo_symmetry] is the Vector of MO symmetries (see HartreeFock output).
fcisolver_conv_tol = float -- converge threshold. Default is 10−18.
fcisolver_davidson_only = boolean -- use the Davidson diagonalization method to find the ground-state eigenvalues.
fcisolver_level_shift = float -- level shift for the Davidson diagonalization. Default is 10−3.
fcisolver_lindep = float -- linear dependence threshold for AH solver. Default is 10−10.
fcisolver_max_cycle = posint -- max number of iterations. Default is 50.
fcisolver_max_space = posint -- space size to hold trial vectors. Default is 12.
fcisolver_nroots = posint -- number of eigenvalues to be computed. When nroots >1, it affects shape of the return value.
fcisolver_pspace_size = posint -- size of Hamiltonian to improve Davidson preconditioner. Default is 50.
ci_response_space = int -- subspace size to solve the CI vector response. Default is 3.
conv_tol_grad = float -- converge threshold for CI gradients and orbital rotation gradients. Default is 10−4.
max_cycle_macro = int -- max number of macro iterations. Default is 50.
max_cycle_micro = int -- max number of micro iterations in each macro iteration. Default is 3.
max_cycle_micro_inner = int -- max number of orbital rotation steps. Default is 4.
max_stepsize = float -- the step size for orbital rotation. Default is 0.03.
ah_conv_tol = float -- converge threshold for AH solver. Default is 10−12.
ah_level_shift = float -- level shift for the Davidson diagonalization in AH solver. Default is 10−8.
ah_lindep, = float -- linear dependence threshold for AH solver. Default is. Default is 10−14.
ah_max_cycle = posint -- max number of iterations. Default is 30.
ah_start_cycle = int -- the orbital rotation is started at this cycle without completely solving the AH problem. Default is 2.
ah_start_tol = float -- the orbital rotation is started at this tolerance without completely solving the AH problem. Default is 0.2.
Attributes for Hartree Fock:
conv_tol_hf = float -- converge threshold. Default is 10−10.
diis_hf = boolean -- whether to employ diis. Default is true.
diis_space_hf = posint -- diis's space size. By default, 8 Fock matrices and error vectors are stored.
diis_start_cycle_hf = posint -- the step to start diis. Default is 1.
direct_scf_hf = boolean -- direct SCF in which integrals are recomputed is used by default.
direct_scf_tol_hf = float -- direct SCF cutoff threshold. Default is 10−13.
level_shift_hf = float/int -- level shift (in au) for virtual space. Default is 0.
max_cycle_hf = posint -- max number of iterations. Default is 50.
max_memory_scf_hf = posint -- allowed memory in MB. Default is 4000.
nuclear_gradient_hf = boolean -- option to return the analytical nuclear gradient. Default is false.
populations_hf = string -- atomic-orbital population analysis: "Mulliken" and "Mulliken/meta-Lowdin". Default is "Mulliken".
References
B. O. Roos, P. R. Taylor, and P. E.M. Siegbahn, Chem. Phys. 48, 157-173 (1980). "A complete active space SCF method (CASSCF) using a density matrix formulated super-CI approach"
H.‐J. Werner and P. J. Knowles, J. Chem. Phys. 82, 5053 (1985). "A second order multiconfiguration SCF procedure with optimum convergence"
R. Shepard, Adv. Chem. Phys. 69, 63 (1987). "The multiconfiguration self-consistent field method"
B. O. Roos, Adv. Chem. Phys. 69, 399 (1987). "The complete active space self-consistent field method and its applications in electronic structure calculations"
T. Helgaker, P. Jorgensen, and J. Olsen, Molecular Electronic-Structure Theory (John Wiley & Sons, New York, 2000).
Examples
withQuantumChemistry:
An active space SCF calculation of the hydrogen fluoride HF molecule
molecule ≔ H,0,0,0,F,0,0,0.95;
molecule≔H,0,0,0,F,0,0,0.95000000
output_hf≔ActiveSpaceSCF⁡molecule,active=6,4,basis=dz
See Also
QuantumChemistry ActiveSpaceCI FullCI Variational2RDM ContractedSchrodinger
Download Help Document