10
0
mirror of https://github.com/QuantumPackage/qp2.git synced 2024-12-23 12:55:37 +01:00
QuantumPackage/plugins/local/extra_basis_int/extra_basis_int.irp.f

125 lines
2.6 KiB
Fortran
Raw Normal View History

2024-12-04 15:58:59 +01:00
program extra_basis_int
implicit none
BEGIN_DOC
! TODO : Put the documentation of the program here
END_DOC
2024-12-06 14:55:44 +01:00
! call test_overlap
2024-12-06 15:05:47 +01:00
! call routine_test_pot_ne
2024-12-06 15:47:48 +01:00
! call routine_test_pot_ne_mixed
! call routine_pot_ne_extra
! call routine_test_pot_ne_mixed
! call routine_pot_ne
call routine_test_pot_ne_extra_mixed
2024-12-06 14:55:44 +01:00
end
subroutine test_overlap
implicit none
integer :: i,j
do i = 1, ao_extra_num
do j = 1, ao_extra_num
write(33,*)ao_extra_overlap(j,i)
enddo
enddo
end
subroutine test_overlap_mixed
implicit none
integer :: i,j
double precision, allocatable :: ao_mixed_overlap(:,:)
allocate(ao_mixed_overlap(ao_extra_num,ao_num))
call get_ao_mixed_overlap(extra_nucl_coord,ao_mixed_overlap)
do i = 1, ao_extra_num
do j = 1, ao_num
write(33,*)dabs(ao_extra_overlap_mixed(j,i)-ao_mixed_overlap(i,j))
write(*,*)ao_extra_overlap_mixed(j,i),ao_mixed_overlap(i,j),dabs(ao_extra_overlap_mixed(j,i)-ao_mixed_overlap(i,j))
enddo
enddo
end
subroutine routine_test_pot_ne
implicit none
integer :: i,j
double precision :: integral, C_center(3), mu_in
double precision :: NAI_pol_mult_erf_ao_extra
C_center(1) = 0.1d0
C_center(2) = -0.3d0
C_center(3) = 0.8d0
mu_in = 1.d10
do i = 1, ao_extra_num
do j = 1, ao_extra_num
integral = NAI_pol_mult_erf_ao_extra(i, j, mu_in, C_center)
write(33,*)j,i,integral
enddo
enddo
2024-12-04 15:58:59 +01:00
end
2024-12-06 15:05:47 +01:00
2024-12-06 15:47:48 +01:00
subroutine routine_test_pot_mixed
2024-12-06 15:05:47 +01:00
implicit none
integer :: i,j
double precision :: integral, C_center(3), mu_in
double precision :: NAI_pol_mult_erf_ao_extra_mixed
C_center(1) = 0.1d0
C_center(2) = -0.3d0
C_center(3) = 0.8d0
mu_in = 1.d10
do j = 1, ao_num
do i = 1, ao_extra_num
integral = NAI_pol_mult_erf_ao_extra_mixed(i, j, mu_in, C_center)
write(33,*)integral
enddo
enddo
end
2024-12-06 15:47:48 +01:00
subroutine routine_pot_ne_extra
implicit none
integer :: i,j
double precision :: v_extra_nucl_extra_ao
do i = 1, ao_extra_num
do j = 1, ao_extra_num
write(33,*)v_extra_nucl_extra_ao(i,j)
enddo
enddo
end
subroutine routine_pot_ne
implicit none
integer :: i,j
double precision :: v_nucl_extra_ao
do i = 1, ao_extra_num
do j = 1, ao_extra_num
write(33,*)v_nucl_extra_ao(i,j)
enddo
enddo
end
subroutine routine_test_pot_ne_mixed
implicit none
integer :: i,j
double precision :: integral,v_extra_nucl_mixed_ao
do j = 1, ao_num
do i = 1, ao_extra_num
integral = v_extra_nucl_mixed_ao(i,j)
write(33,*)integral
enddo
enddo
end
subroutine routine_test_pot_ne_extra_mixed
implicit none
integer :: i,j
double precision :: integral,v_nucl_mixed_ao
do j = 1, ao_num
do i = 1, ao_extra_num
integral = v_nucl_mixed_ao(i,j)
write(33,*)integral
enddo
enddo
end