10
0
mirror of https://github.com/QuantumPackage/qp2.git synced 2024-12-23 04:43:45 +01:00

provider open shell

This commit is contained in:
Yann Damour 2023-03-13 14:03:54 +01:00
parent 0682ee18ab
commit f0d9b37678
2 changed files with 22 additions and 0 deletions

View File

@ -305,6 +305,7 @@ END_PROVIDER
BEGIN_PROVIDER [integer, cc_list_occ_spin, (cc_nO_m,2)] BEGIN_PROVIDER [integer, cc_list_occ_spin, (cc_nO_m,2)]
&BEGIN_PROVIDER [integer, cc_list_vir_spin, (cc_nV_m,2)] &BEGIN_PROVIDER [integer, cc_list_vir_spin, (cc_nV_m,2)]
&BEGIN_PROVIDER [logical, cc_ref_is_open_shell]
implicit none implicit none
@ -312,6 +313,16 @@ BEGIN_PROVIDER [integer, cc_list_occ_spin, (cc_nO_m,2)]
! List of occupied and virtual spin orbitals without core and deleted ones ! List of occupied and virtual spin orbitals without core and deleted ones
END_DOC END_DOC
integer :: i
call extract_list_orb_spin(psi_det(1,1,cc_ref),cc_nO_m,cc_nV_m,cc_list_occ_spin,cc_list_vir_spin) call extract_list_orb_spin(psi_det(1,1,cc_ref),cc_nO_m,cc_nV_m,cc_list_occ_spin,cc_list_vir_spin)
cc_ref_is_open_shell = .False.
do i = 1, cc_nO_m
if (cc_list_occ_spin(i,1) /= cc_list_occ_spin(i,2)) then
cc_ref_is_open_shell = .True.
endif
enddo
END_PROVIDER END_PROVIDER

View File

@ -317,6 +317,7 @@ END_PROVIDER
#+BEGIN_SRC f90 :comments org :tangle occupancy.irp.f #+BEGIN_SRC f90 :comments org :tangle occupancy.irp.f
BEGIN_PROVIDER [integer, cc_list_occ_spin, (cc_nO_m,2)] BEGIN_PROVIDER [integer, cc_list_occ_spin, (cc_nO_m,2)]
&BEGIN_PROVIDER [integer, cc_list_vir_spin, (cc_nV_m,2)] &BEGIN_PROVIDER [integer, cc_list_vir_spin, (cc_nV_m,2)]
&BEGIN_PROVIDER [logical, cc_ref_is_open_shell]
implicit none implicit none
@ -324,7 +325,17 @@ END_PROVIDER
! List of occupied and virtual spin orbitals without core and deleted ones ! List of occupied and virtual spin orbitals without core and deleted ones
END_DOC END_DOC
integer :: i
call extract_list_orb_spin(psi_det(1,1,cc_ref),cc_nO_m,cc_nV_m,cc_list_occ_spin,cc_list_vir_spin) call extract_list_orb_spin(psi_det(1,1,cc_ref),cc_nO_m,cc_nV_m,cc_list_occ_spin,cc_list_vir_spin)
cc_ref_is_open_shell = .False.
do i = 1, cc_nO_m
if (cc_list_occ_spin(i,1) /= cc_list_occ_spin(i,2)) then
cc_ref_is_open_shell = .True.
endif
enddo
END_PROVIDER END_PROVIDER
#+end_src #+end_src