second-order SCF module
pair of molecular orbitals
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | public | :: | mo1 | ||||
integer, | public | :: | mo2 |
fills the structure indep_mo_pairs containing pairs of mos forming independent SCF optimization parameters
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(param), | intent(in) | :: | p | |||
type(wf_data), | intent(in) | :: | f | |||
type(indep_mo_pair), | intent(out), | allocatable | :: | pairs(:) | ||
integer, | intent(in), | optional | :: | irrep(:) |
rotates orbital pairs by given angle theta
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=long), | intent(in) | :: | theta(:) | |||
type(indep_mo_pair), | intent(in) | :: | pairs(:) | |||
real(kind=long), | intent(out) | :: | c(:,:) |
Broyden-Fletcher-Goldfarb-Shanno (BFGS) method to approximate the inverse hessian by previous step and this step gradient and previous step gradient, and previous estimated hessian
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=long), | intent(in) | :: | old_step(:) | |||
real(kind=long), | intent(in) | :: | gradient(:) | |||
real(kind=long), | intent(in) | :: | old_gradient(:) | |||
real(kind=long), | intent(in) | :: | old_inv_hessian(:,:) | |||
real(kind=long), | intent(out) | :: | inv_hessian(size(old_inv_hessian,1),size(old_inv_hessian,1)) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=long), | intent(in) | :: | h(:,:) |
fock matrix or hamiltoninan |
||
real(kind=long), | intent(inout) | :: | lc(:,:) |
mo coefficients |
||
type(indep_mo_pair), | intent(in) | :: | pairs(:) |
pair structure |
||
real(kind=long), | intent(inout) | :: | theta(:) |
rotation angles |
||
real(kind=long), | intent(inout) | :: | gradient(:) |
gradients |
||
real(kind=long), | intent(inout) | :: | inv_hessian(:,:) |
inv_hessian |