quantum_package/plugins/Properties/give_mos_at_r.irp.f

36 lines
867 B
Fortran

subroutine give_all_act_mos_at_r(r,mos_array)
implicit none
double precision, intent(in) :: r(3)
double precision, intent(out) :: mos_array(n_act_orb)
double precision :: aos_array(ao_num),accu
integer :: i,j,iorb
!print*,'n_act_orb = ',n_act_orb
call give_all_aos_at_r(r,aos_array)
do i = 1, n_act_orb
iorb = list_act(i)
accu = 0.d0
do j = 1, ao_num
accu += mo_coef(j,iorb) * aos_array(j)
enddo
mos_array(i) = accu
enddo
end
subroutine give_all_core_mos_at_r(r,mos_array)
implicit none
double precision, intent(in) :: r(3)
double precision, intent(out) :: mos_array(n_core_orb)
double precision :: aos_array(ao_num),accu
integer :: i,j,iorb
call give_all_aos_at_r(r,aos_array)
do i = 1, n_core_orb
iorb = list_core(i)
accu = 0.d0
do j = 1, ao_num
accu += mo_coef(j,iorb) * aos_array(j)
enddo
mos_array(i) = accu
enddo
end