2023-07-02 21:49:25 +02:00
|
|
|
|
|
|
|
! ---
|
|
|
|
|
2023-02-07 17:07:49 +01:00
|
|
|
program tc_bi_ortho_prop
|
2023-07-02 21:49:25 +02:00
|
|
|
|
2023-02-07 17:07:49 +01:00
|
|
|
BEGIN_DOC
|
2023-07-02 21:49:25 +02:00
|
|
|
! TODO : Put the documentation of the program here
|
2023-02-07 17:07:49 +01:00
|
|
|
END_DOC
|
2023-07-02 21:49:25 +02:00
|
|
|
|
|
|
|
implicit none
|
|
|
|
|
2023-02-07 17:07:49 +01:00
|
|
|
print *, 'Hello world'
|
2023-07-02 21:49:25 +02:00
|
|
|
|
2023-02-07 17:07:49 +01:00
|
|
|
my_grid_becke = .True.
|
2023-07-02 21:49:25 +02:00
|
|
|
PROVIDE tc_grid1_a tc_grid1_r
|
|
|
|
my_n_pt_r_grid = tc_grid1_r
|
|
|
|
my_n_pt_a_grid = tc_grid1_a
|
|
|
|
touch my_grid_becke my_n_pt_r_grid my_n_pt_a_grid
|
|
|
|
|
2023-02-07 17:07:49 +01:00
|
|
|
read_wf = .True.
|
|
|
|
touch read_wf
|
2023-07-02 21:49:25 +02:00
|
|
|
|
|
|
|
!call routine_diag
|
|
|
|
call test
|
|
|
|
|
2023-02-07 17:07:49 +01:00
|
|
|
end
|
|
|
|
|
2023-07-02 21:49:25 +02:00
|
|
|
! ---
|
|
|
|
|
2023-02-07 17:07:49 +01:00
|
|
|
subroutine test
|
|
|
|
implicit none
|
|
|
|
integer :: i
|
|
|
|
print*,'TC Dipole components'
|
|
|
|
do i= 1, 3
|
|
|
|
print*,tc_bi_ortho_dipole(i,1)
|
|
|
|
enddo
|
2023-10-03 20:04:34 +02:00
|
|
|
integer, allocatable :: occ(:,:)
|
|
|
|
integer :: n_occ_ab(2)
|
|
|
|
allocate(occ(N_int*bit_kind_size,2))
|
|
|
|
call bitstring_to_list_ab(ref_bitmask, occ, n_occ_ab, N_int)
|
|
|
|
integer :: ispin,j,jorb
|
|
|
|
double precision :: accu
|
|
|
|
accu = 0.d0
|
|
|
|
do ispin=1, 2
|
|
|
|
do i = 1, n_occ_ab(ispin)
|
|
|
|
jorb = occ(i,ispin)
|
|
|
|
accu += mo_bi_orth_bipole_z(jorb,jorb)
|
|
|
|
enddo
|
|
|
|
enddo
|
|
|
|
print*,'accu = ',accu
|
|
|
|
|
2023-02-07 17:07:49 +01:00
|
|
|
end
|