9
1
mirror of https://github.com/QuantumPackage/qp2.git synced 2024-07-11 13:43:34 +02:00

IO TC normal ordering added

This commit is contained in:
Abdallah Ammar 2023-05-26 08:10:18 +02:00
parent 42c4d6ad56
commit 86b4845412
2 changed files with 90 additions and 63 deletions

View File

@ -1,3 +1,6 @@
! ---
BEGIN_PROVIDER [ double precision, normal_two_body_bi_orth, (mo_num, mo_num, mo_num, mo_num)]
BEGIN_DOC
@ -16,6 +19,17 @@ BEGIN_PROVIDER [ double precision, normal_two_body_bi_orth, (mo_num, mo_num, mo_
double precision :: hthree_aba,hthree_aaa,hthree_aab
double precision :: wall0,wall1
print*,' Providing normal_two_body_bi_orth ...'
call wall_time(wall0)
if(read_tc_norm_ord) then
open(unit=11, form="unformatted", file=trim(ezfio_filename)//'/work/normal_two_body_bi_orth', action="read")
read(11) normal_two_body_bi_orth
close(11)
else
PROVIDE N_int
allocate( occ(N_int*bit_kind_size,2) )
@ -32,8 +46,6 @@ BEGIN_PROVIDER [ double precision, normal_two_body_bi_orth, (mo_num, mo_num, mo_
endif
normal_two_body_bi_orth = 0.d0
print*,'Providing normal_two_body_bi_orth ...'
call wall_time(wall0)
!$OMP PARALLEL &
!$OMP DEFAULT (NONE) &
@ -83,11 +95,20 @@ BEGIN_PROVIDER [ double precision, normal_two_body_bi_orth, (mo_num, mo_num, mo_
!$OMP END DO
!$OMP END PARALLEL
call wall_time(wall1)
print*,'Wall time for normal_two_body_bi_orth ',wall1-wall0
deallocate( occ )
deallocate( key_i_core )
endif
if(write_tc_norm_ord.and.mpi_master) then
open(unit=11, form="unformatted", file=trim(ezfio_filename)//'/work/normal_two_body_bi_orth', action="write")
call ezfio_set_work_empty(.False.)
write(11) normal_two_body_bi_orth
close(11)
call ezfio_set_tc_keywords_io_tc_integ('Read')
endif
call wall_time(wall1)
print*,' Wall time for normal_two_body_bi_orth ', wall1-wall0
END_PROVIDER

View File

@ -202,6 +202,12 @@ doc: Read/Write integrals int2_grad1_u12_ao, tc_grad_square_ao and tc_grad_and_l
interface: ezfio,provider,ocaml
default: None
[io_tc_norm_ord]
type: Disk_access
doc: Read/Write normal_two_body_bi_orth from/to disk [ Write | Read | None ]
interface: ezfio,provider,ocaml
default: None
[debug_tc_pt2]
type: integer
doc: If :: 1 then you compute the TC-PT2 the old way, :: 2 then you check with the new version but without three-body