Complete active space self-consistent field (CASSCF)¶
Description¶
CASSCF simultaneously optimizes the orbital coefficients and the CI coefficients of all the possible determinants generated from the active space. The state-averaging scheme can be used for calculating excited states. When reference wavefunctions are given as a input to a CASSCF calculation, a Hartree–Fock calculation is performed by default prior to CASSCF. For the Hartree–Fock options, see the SCF section.
A two-step second-order algorithm is implemented in BAGEL. At each macroiteration, the CI coefficient is optimized by FCI calculations and the orbitals are updated. Microiterations are used for iteratively solving augmented Hessian problems for orbital updates.
The CASSCF algorithm in BAGEL is very robust. If it fails to converge, it is highly likely that your active space is wrong, or your guess orbitals are wrong.
Title: casscf
Keywords¶
nstate
nact
nclosed
active
charge
nspin
algorithm
second
: second-order algorithm.noopt
: no orbital optimization.second
fci_algorithm
knowles
, handy
, kh
: Knowles–Handy Algorithm.harrison
, zarrabian
, hz
: Harrison–Zarrabian Algorithm.parallel
, dist
: Parallel FCI algorithm.parallel
(when the number of active orbital is larger than 9 and number of process is larger than 8), knowles
(otherwise)thresh
thresh_micro
conv_ignore
restart_cas
natocc
canonical
maxiter
maxiter_micro
maxiter_fci
maxiter
Example¶
Two-state CASSCF calculation of benzene. The active space of (6e,6o), which comprises three \(\pi\) and three \(\pi^*\) orbitals, is used.
Sample input¶
{ "bagel" : [
{
"title" : "molecule",
"basis" : "svp",
"df_basis" : "svp-jkfit",
"geometry" : [
{ "atom" : "C", "xyz" : [ -0.079002, 2.543870, 0.000000 ] },
{ "atom" : "C", "xyz" : [ 2.557470, 2.543870, 0.000000 ] },
{ "atom" : "C", "xyz" : [ 3.875630, 4.826190, 0.000000 ] },
{ "atom" : "C", "xyz" : [ 2.557250, 7.109950, -0.002266 ] },
{ "atom" : "C", "xyz" : [ -0.078588, 7.109800, -0.003171 ] },
{ "atom" : "C", "xyz" : [ -1.396870, 4.826620, -0.001289 ] },
{ "atom" : "H", "xyz" : [ -1.117900, 0.744245, 0.000850 ] },
{ "atom" : "H", "xyz" : [ 3.595900, 0.743875, 0.002485 ] },
{ "atom" : "H", "xyz" : [ 5.953730, 4.826340, 0.001198 ] },
{ "atom" : "H", "xyz" : [ 3.596980, 8.909240, -0.002377 ] },
{ "atom" : "H", "xyz" : [ -1.118170, 8.909350, -0.004972 ] },
{ "atom" : "H", "xyz" : [ -3.474820, 4.826960, -0.001629 ] }
]
},
{
"title" : "hf"
},
{
"title" : "casscf",
"nstate" : 2,
"nact" : 6,
"nclosed" : 18,
"active" : [17, 20, 21, 22, 23, 30]
}
]}
the out of which is shown below. Note that the specified active orbitals are printed in the output.
---------------------------
CASSCF calculation
---------------------------
==== Active orbitals : =====
Orbital 17
Orbital 20
Orbital 21
Orbital 22
Orbital 23
Orbital 30
============================
* nstate : 2
* nclosed : 18
* nact : 6
* nvirt : 90
=== CASSCF iteration (svp) ===
* Using the second-order algorithm
0 0 -230.58939332 3.18e-03 0.06
0 1 -230.39960500 0.00e+00 0.06
res : 9.89e-02 lamb: 1.00e+00 eps : -3.06e-02 step: 3.40e-01 0.02
res : 2.13e-02 lamb: 1.00e+00 eps : -3.21e-02 step: 3.56e-01 0.02
res : 2.72e-03 lamb: 1.00e+00 eps : -3.23e-02 step: 3.48e-01 0.02
res : 2.64e-04 lamb: 1.00e+00 eps : -3.23e-02 step: 3.49e-01 0.03
res : 3.09e-05 lamb: 1.00e+00 eps : -3.23e-02 step: 3.49e-01 0.04
1 0 -230.60443140 3.79e-04 0.37
1 1 -230.42264578 0.00e+00 0.37
res : 1.06e-02 lamb: 1.00e+00 eps : -3.62e-04 step: 3.57e-02 0.02
res : 2.13e-03 lamb: 1.00e+00 eps : -3.81e-04 step: 3.76e-02 0.02
res : 3.31e-04 lamb: 1.00e+00 eps : -3.82e-04 step: 3.69e-02 0.02
res : 4.53e-05 lamb: 1.00e+00 eps : -3.82e-04 step: 3.69e-02 0.03
res : 4.21e-06 lamb: 1.00e+00 eps : -3.82e-04 step: 3.69e-02 0.04
res : 5.33e-07 lamb: 1.00e+00 eps : -3.82e-04 step: 3.69e-02 0.02
2 0 -230.60501843 1.17e-05 0.36
2 1 -230.42244692 0.00e+00 0.36
res : 2.38e-04 lamb: 1.00e+00 eps : -1.11e-07 step: 2.86e-04 0.02
res : 3.75e-05 lamb: 1.00e+00 eps : -1.21e-07 step: 3.32e-04 0.02
res : 8.19e-06 lamb: 1.00e+00 eps : -1.21e-07 step: 3.41e-04 0.02
res : 1.11e-06 lamb: 1.00e+00 eps : -1.21e-07 step: 3.41e-04 0.03
res : 8.72e-08 lamb: 1.00e+00 eps : -1.21e-07 step: 3.41e-04 0.02
res : 2.97e-08 lamb: 1.00e+00 eps : -1.21e-07 step: 3.41e-04 0.03
3 0 -230.60502169 3.97e-07 0.36
3 1 -230.42244379 0.00e+00 0.36
res : 6.62e-06 lamb: 1.00e+00 eps : -1.91e-10 step: 1.92e-05 0.02
res : 1.37e-06 lamb: 1.00e+00 eps : -1.98e-10 step: 1.91e-05 0.02
res : 2.63e-07 lamb: 1.00e+00 eps : -1.99e-10 step: 1.82e-05 0.02
res : 4.76e-08 lamb: 1.00e+00 eps : -1.99e-10 step: 1.82e-05 0.03
res : 5.65e-09 lamb: 1.00e+00 eps : -1.99e-10 step: 1.82e-05 0.02
res : 1.68e-09 lamb: 1.00e+00 eps : -1.99e-10 step: 1.82e-05 0.03
4 0 -230.60502176 2.01e-08 0.36
4 1 -230.42244372 0.00e+00 0.36
res : 3.09e-07 lamb: 1.00e+00 eps : -6.58e-13 step: 1.33e-06 0.03
res : 7.14e-08 lamb: 1.00e+00 eps : -6.74e-13 step: 1.33e-06 0.03
res : 1.28e-08 lamb: 1.00e+00 eps : -6.76e-13 step: 1.28e-06 0.04
res : 2.75e-09 lamb: 1.00e+00 eps : -6.76e-13 step: 1.28e-06 0.02
5 0 -230.60502177 1.21e-09 0.33
5 1 -230.42244372 0.00e+00 0.33
* Second-order optimization converged. *
References¶
The second-order orbital optimization is implemented with an assistance of Takeshi Yanai (Institute for Molecular Science, Japan).