10
0
mirror of https://github.com/LCPQ/quantum_package synced 2024-12-22 12:23:48 +01:00

Amazing new things

This commit is contained in:
Anthony Scemama 2017-01-18 16:06:23 +01:00
parent ffe7eb1fae
commit 9ef173e058
8 changed files with 28 additions and 6 deletions

View File

@ -42,9 +42,13 @@ subroutine ZMQ_selection(N_in, pt2)
endif endif
!$OMP END PARALLEL !$OMP END PARALLEL
call end_parallel_job(zmq_to_qp_run_socket, 'selection') call end_parallel_job(zmq_to_qp_run_socket, 'selection')
do i=1,N_states
print *, 'E+PT2(', i, ') = ', ci_electronic_energy(i) + pt2(i)
enddo
if (N_in > 0) then if (N_in > 0) then
call fill_H_apply_buffer_no_selection(b%cur,b%det,N_int,0) !!! PAS DE ROBIN call fill_H_apply_buffer_no_selection(b%cur,b%det,N_int,0) !!! PAS DE ROBIN
call copy_H_apply_buffer_to_wf() call copy_H_apply_buffer_to_wf()
call save_wavefunction
endif endif
end subroutine end subroutine

View File

@ -28,7 +28,7 @@ subroutine run
threshold_selectors = 1.d0 threshold_selectors = 1.d0
threshold_generators = 1d0 threshold_generators = 1d0
relative_error = 1.d-3 relative_error = 1.d-6
call ZMQ_pt2(pt2, relative_error) call ZMQ_pt2(pt2, relative_error)
print *, 'Final step' print *, 'Final step'
print *, 'N_det = ', N_det print *, 'N_det = ', N_det

View File

@ -151,7 +151,8 @@ subroutine pt2_collector(b, tbc, comb, Ncomb, computed, pt2_detail, sumabove, su
integer, allocatable :: task_id(:) integer, allocatable :: task_id(:)
integer :: done, Nindex integer :: done, Nindex
integer, allocatable :: index(:) integer, allocatable :: index(:)
double precision :: time, time0, timeLast double precision, save :: time0 = -1.d0
double precision :: time, timeLast
double precision, external :: omp_get_wtime double precision, external :: omp_get_wtime
integer :: tooth, firstTBDcomb, orgTBDcomb integer :: tooth, firstTBDcomb, orgTBDcomb
integer, allocatable :: parts_to_get(:) integer, allocatable :: parts_to_get(:)
@ -175,7 +176,9 @@ subroutine pt2_collector(b, tbc, comb, Ncomb, computed, pt2_detail, sumabove, su
allocate(val(b%N), det(N_int, 2, b%N), task_id(N_det), index(N_det)) allocate(val(b%N), det(N_int, 2, b%N), task_id(N_det), index(N_det))
done = 0 done = 0
more = 1 more = 1
time0 = omp_get_wtime() if (time0 < 0.d0) then
time0 = omp_get_wtime()
endif
timeLast = time0 timeLast = time0
pullLoop : do while (more == 1) pullLoop : do while (more == 1)

View File

@ -78,6 +78,9 @@ program fci_zmq
Nmin = N_det Nmin = N_det
else else
Nmax = N_det Nmax = N_det
psi_coef_ref = psi_coef
psi_det_ref = psi_det
TOUCH psi_det psi_coef
endif endif
N_det = Nmin + (Nmax-Nmin)/2 N_det = Nmin + (Nmax-Nmin)/2
print *, '-----' print *, '-----'
@ -85,6 +88,7 @@ program fci_zmq
print *, 'Ratio : ', ratio, ' ~ ', var_pt2_ratio print *, 'Ratio : ', ratio, ' ~ ', var_pt2_ratio
print *, 'N_det = ', N_det print *, 'N_det = ', N_det
print *, 'E = ', CI_energy(1) print *, 'E = ', CI_energy(1)
call save_wavefunction
enddo enddo
call ZMQ_selection(0, pt2) call ZMQ_selection(0, pt2)
print *, '------' print *, '------'

View File

@ -1,6 +1,6 @@
! DO NOT MODIFY BY HAND ! DO NOT MODIFY BY HAND
! Created by $QP_ROOT/scripts/ezfio_interface/ei_handler.py ! Created by $QP_ROOT/scripts/ezfio_interface/ei_handler.py
! from file /home/scemama/quantum_package/src/mrcc_selected/EZFIO.cfg ! from file /ccc/work/cont003/gen1738/scemama/quantum_package/src/mrcc_selected/EZFIO.cfg
BEGIN_PROVIDER [ double precision, thresh_dressed_ci ] BEGIN_PROVIDER [ double precision, thresh_dressed_ci ]

View File

@ -28,3 +28,9 @@ doc: If true, disk space is used to store the vectors
default: False default: False
interface: ezfio,provider,ocaml interface: ezfio,provider,ocaml
[distributed_davidson]
type: logical
doc: If true, use the distributed algorithm
default: False
interface: ezfio,provider,ocaml

View File

@ -223,8 +223,11 @@ subroutine davidson_diag_hjj_sjj(dets_in,u_in,H_jj,S2_jj,energies,dim_in,sze,N_s
! ----------------------------------------- ! -----------------------------------------
! call H_S2_u_0_nstates_zmq(W(1,shift+1),S(1,shift+1),U(1,shift+1),H_jj,S2_jj,sze,dets_in,Nint,N_st_diag,sze_8) if (distributed_davidson) then
call H_S2_u_0_nstates(W(1,shift+1),S(1,shift+1),U(1,shift+1),H_jj,S2_jj,sze,dets_in,Nint,N_st_diag,sze_8) call H_S2_u_0_nstates_zmq(W(1,shift+1),S(1,shift+1),U(1,shift+1),H_jj,S2_jj,sze,dets_in,Nint,N_st_diag,sze_8)
else
call H_S2_u_0_nstates(W(1,shift+1),S(1,shift+1),U(1,shift+1),H_jj,S2_jj,sze,dets_in,Nint,N_st_diag,sze_8)
endif
! Compute h_kl = <u_k | W_l> = <u_k| H |u_l> ! Compute h_kl = <u_k | W_l> = <u_k| H |u_l>

View File

@ -35,6 +35,8 @@ BEGIN_PROVIDER [ logical, mo_bielec_integrals_in_map ]
call map_load_from_disk(trim(ezfio_filename)//'/work/mo_ints',mo_integrals_map) call map_load_from_disk(trim(ezfio_filename)//'/work/mo_ints',mo_integrals_map)
print*, 'MO integrals provided' print*, 'MO integrals provided'
return return
else
PROVIDE ao_bielec_integrals_in_map
endif endif
if(no_vvvv_integrals)then if(no_vvvv_integrals)then