Configuration for MCSCF/CASSCF method
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| real(kind=dp), | public | :: | ci_convergence | = | 1.0e-8_dp |
CI energy threshold |
|
| real(kind=dp), | public | :: | imaginary_shift | = | 0.0_dp |
Imaginary shift for intruder states |
|
| real(kind=dp), | public | :: | ipea_shift | = | 0.25_dp |
IPEA shift for CASPT2 |
|
| integer, | public | :: | max_macro_iter | = | 100 |
Maximum orbital optimization iterations |
|
| integer, | public | :: | max_micro_iter | = | 50 |
Maximum CI iterations per macro |
|
| integer, | public | :: | n_active_electrons | = | 0 |
Number of active electrons |
|
| integer, | public | :: | n_active_orbitals | = | 0 |
Number of active orbitals |
|
| integer, | public | :: | n_inactive_orbitals | = | -1 |
Inactive orbitals (-1 = auto from nelec) |
|
| integer, | public | :: | n_states | = | 1 |
Number of states for SA-CASSCF |
|
| real(kind=dp), | public | :: | orbital_convergence | = | 1.0e-6_dp |
Orbital gradient threshold |
|
| character(len=16), | public | :: | pt2_type | = | 'nevpt2' |
PT2 flavor: “caspt2”, “nevpt2” |
|
| real(kind=dp), | public, | allocatable | :: | state_weights(:) |
State weights (must sum to 1) |
||
| logical, | public | :: | use_pt2 | = | .false. |
Apply CASPT2/NEVPT2 after CASSCF |
type :: mcscf_config_t !! Configuration for MCSCF/CASSCF method ! Active space definition integer :: n_active_electrons = 0 !! Number of active electrons integer :: n_active_orbitals = 0 !! Number of active orbitals integer :: n_inactive_orbitals = -1 !! Inactive orbitals (-1 = auto from nelec) ! State averaging integer :: n_states = 1 !! Number of states for SA-CASSCF real(dp), allocatable :: state_weights(:) !! State weights (must sum to 1) ! Convergence integer :: max_macro_iter = 100 !! Maximum orbital optimization iterations integer :: max_micro_iter = 50 !! Maximum CI iterations per macro real(dp) :: orbital_convergence = 1.0e-6_dp !! Orbital gradient threshold real(dp) :: ci_convergence = 1.0e-8_dp !! CI energy threshold ! Perturbative corrections logical :: use_pt2 = .false. !! Apply CASPT2/NEVPT2 after CASSCF character(len=16) :: pt2_type = 'nevpt2' !! PT2 flavor: "caspt2", "nevpt2" real(dp) :: ipea_shift = 0.25_dp !! IPEA shift for CASPT2 real(dp) :: imaginary_shift = 0.0_dp !! Imaginary shift for intruder states end type mcscf_config_t