mirror of
https://github.com/QuantumPackage/qp2.git
synced 2024-08-14 16:28:29 +02:00
126 lines
3.3 KiB
Fortran
126 lines
3.3 KiB
Fortran
|
|
BEGIN_PROVIDER[double precision, core_mos_in_r_array, (n_core_orb,n_points_final_grid)]
|
|
&BEGIN_PROVIDER[double precision, core_mos_in_r_array_transp,(n_points_final_grid,n_core_orb)]
|
|
implicit none
|
|
BEGIN_DOC
|
|
! all COREE MOs on the grid points, arranged in two different ways
|
|
END_DOC
|
|
integer :: i,j,k
|
|
do i = 1, n_core_orb
|
|
j = list_core(i)
|
|
do k = 1, n_points_final_grid
|
|
core_mos_in_r_array_transp(k,i) = mos_in_r_array_transp(k,j)
|
|
enddo
|
|
enddo
|
|
|
|
do k = 1, n_points_final_grid
|
|
do i = 1, n_core_orb
|
|
core_mos_in_r_array(i,k) = core_mos_in_r_array_transp(k,i)
|
|
enddo
|
|
enddo
|
|
|
|
END_PROVIDER
|
|
|
|
|
|
BEGIN_PROVIDER[double precision, inact_mos_in_r_array, (n_inact_orb,n_points_final_grid)]
|
|
&BEGIN_PROVIDER[double precision, inact_mos_in_r_array_transp,(n_points_final_grid,n_inact_orb)]
|
|
implicit none
|
|
BEGIN_DOC
|
|
! all INACTIVE MOs on the grid points, arranged in two different ways
|
|
END_DOC
|
|
integer :: i,j,k
|
|
do i = 1, n_inact_orb
|
|
j = list_inact(i)
|
|
do k = 1, n_points_final_grid
|
|
inact_mos_in_r_array_transp(k,i) = mos_in_r_array_transp(k,j)
|
|
enddo
|
|
enddo
|
|
|
|
do k = 1, n_points_final_grid
|
|
do i = 1, n_inact_orb
|
|
inact_mos_in_r_array(i,k) = inact_mos_in_r_array_transp(k,i)
|
|
enddo
|
|
enddo
|
|
|
|
END_PROVIDER
|
|
|
|
BEGIN_PROVIDER[double precision, act_mos_in_r_array, (n_act_orb,n_points_final_grid)]
|
|
&BEGIN_PROVIDER[double precision, act_mos_in_r_array_transp,(n_points_final_grid,n_act_orb)]
|
|
implicit none
|
|
BEGIN_DOC
|
|
! all ACTIVE MOs on the grid points, arranged in two different ways
|
|
END_DOC
|
|
integer :: i,j,k
|
|
do i = 1, n_act_orb
|
|
j = list_act(i)
|
|
do k = 1, n_points_final_grid
|
|
act_mos_in_r_array_transp(k,i) = mos_in_r_array_transp(k,j)
|
|
enddo
|
|
enddo
|
|
|
|
do k = 1, n_points_final_grid
|
|
do i = 1, n_act_orb
|
|
act_mos_in_r_array(i,k) = act_mos_in_r_array_transp(k,i)
|
|
enddo
|
|
enddo
|
|
|
|
END_PROVIDER
|
|
|
|
|
|
BEGIN_PROVIDER[double precision, virt_mos_in_r_array, (n_virt_orb,n_points_final_grid)]
|
|
&BEGIN_PROVIDER[double precision, virt_mos_in_r_array_transp,(n_points_final_grid,n_virt_orb)]
|
|
implicit none
|
|
BEGIN_DOC
|
|
! all VIRTUAL MOs on the grid points, arranged in two different ways
|
|
END_DOC
|
|
integer :: i,j,k
|
|
do i = 1, n_virt_orb
|
|
j = list_virt(i)
|
|
do k = 1, n_points_final_grid
|
|
virt_mos_in_r_array_transp(k,i) = mos_in_r_array_transp(k,j)
|
|
enddo
|
|
enddo
|
|
|
|
do k = 1, n_points_final_grid
|
|
do i = 1, n_virt_orb
|
|
virt_mos_in_r_array(i,k) = virt_mos_in_r_array_transp(k,i)
|
|
enddo
|
|
enddo
|
|
|
|
END_PROVIDER
|
|
|
|
BEGIN_PROVIDER[double precision, core_inact_act_mos_in_r_array, (n_core_inact_act_orb,n_points_final_grid)]
|
|
&BEGIN_PROVIDER[double precision, core_inact_act_mos_in_r_array_transp,(n_points_final_grid,n_core_inact_act_orb)]
|
|
implicit none
|
|
integer :: i,j,k
|
|
do i = 1, n_core_inact_act_orb
|
|
j = list_core_inact_act(i)
|
|
do k = 1, n_points_final_grid
|
|
core_inact_act_mos_in_r_array_transp(k,i) = mos_in_r_array_transp(k,j)
|
|
enddo
|
|
enddo
|
|
|
|
do k = 1, n_points_final_grid
|
|
do i = 1, n_core_inact_act_orb
|
|
core_inact_act_mos_in_r_array(i,k) = core_inact_act_mos_in_r_array_transp(k,i)
|
|
enddo
|
|
enddo
|
|
|
|
END_PROVIDER
|
|
|
|
BEGIN_PROVIDER[double precision, core_inact_act_mos_grad_in_r_array, (3,n_core_inact_act_orb,n_points_final_grid)]
|
|
implicit none
|
|
integer :: i,j,k,l
|
|
do i = 1, n_core_inact_act_orb
|
|
j = list_core_inact_act(i)
|
|
do k = 1, n_points_final_grid
|
|
do l = 1, 3
|
|
core_inact_act_mos_grad_in_r_array(l,i,k) = mos_grad_in_r_array(j,k,l)
|
|
enddo
|
|
enddo
|
|
enddo
|
|
|
|
END_PROVIDER
|
|
|
|
|