mirror of
https://github.com/LCPQ/quantum_package
synced 2024-12-25 13:53:49 +01:00
Merge branch 'master' of github.com:scemama/quantum_package
This commit is contained in:
commit
62f60d049b
@ -21,8 +21,10 @@ program fci_zmq
|
|||||||
threshold_davidson = threshold_davidson_in * 100.d0
|
threshold_davidson = threshold_davidson_in * 100.d0
|
||||||
SOFT_TOUCH threshold_davidson
|
SOFT_TOUCH threshold_davidson
|
||||||
|
|
||||||
call diagonalize_CI
|
if (N_det < N_states) then
|
||||||
call save_wavefunction
|
call diagonalize_CI
|
||||||
|
call save_wavefunction
|
||||||
|
endif
|
||||||
|
|
||||||
call ezfio_has_hartree_fock_energy(has)
|
call ezfio_has_hartree_fock_energy(has)
|
||||||
if (has) then
|
if (has) then
|
||||||
|
@ -17,14 +17,9 @@ END_PROVIDER
|
|||||||
e = elec_num - n_core_orb * 2
|
e = elec_num - n_core_orb * 2
|
||||||
pt2_n_tasks_max = 1 + min((e*(e-1))/2, int(dsqrt(dble(N_det_generators)))/10)
|
pt2_n_tasks_max = 1 + min((e*(e-1))/2, int(dsqrt(dble(N_det_generators)))/10)
|
||||||
do i=1,N_det_generators
|
do i=1,N_det_generators
|
||||||
if (maxval(dabs(psi_coef_sorted_gen(i,1:N_states))) > 0.01d0) then
|
pt2_F(i) = 1 + dble(pt2_n_tasks_max)*maxval(dsqrt(dabs(psi_coef_sorted_gen(i,1:N_states))))
|
||||||
pt2_F(i) = pt2_n_tasks_max
|
|
||||||
else
|
|
||||||
pt2_F(i) = 1
|
|
||||||
endif
|
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
|
|
||||||
if(N_det_generators < 128) then
|
if(N_det_generators < 128) then
|
||||||
pt2_minDetInFirstTeeth = 1
|
pt2_minDetInFirstTeeth = 1
|
||||||
pt2_N_teeth = 1
|
pt2_N_teeth = 1
|
||||||
|
@ -129,8 +129,11 @@ subroutine davidson_slave_work(zmq_to_qp_run_socket, zmq_socket_push, N_st, sze,
|
|||||||
endif
|
endif
|
||||||
if(task_id == 0) exit
|
if(task_id == 0) exit
|
||||||
read (msg,*) imin, imax, ishift, istep
|
read (msg,*) imin, imax, ishift, istep
|
||||||
v_t = 0.d0
|
integer :: k
|
||||||
s_t = 0.d0
|
do k=imin,imax
|
||||||
|
v_t(:,k) = 0.d0
|
||||||
|
s_t(:,k) = 0.d0
|
||||||
|
enddo
|
||||||
call H_S2_u_0_nstates_openmp_work(v_t,s_t,u_t,N_st,N_det,imin,imax,ishift,istep)
|
call H_S2_u_0_nstates_openmp_work(v_t,s_t,u_t,N_st,N_det,imin,imax,ishift,istep)
|
||||||
if (task_done_to_taskserver(zmq_to_qp_run_socket,worker_id,task_id) == -1) then
|
if (task_done_to_taskserver(zmq_to_qp_run_socket,worker_id,task_id) == -1) then
|
||||||
print *, irp_here, 'Unable to send task_done'
|
print *, irp_here, 'Unable to send task_done'
|
||||||
@ -362,7 +365,7 @@ subroutine H_S2_u_0_nstates_zmq(v_0,s_0,u_0,N_st,sze)
|
|||||||
ishift=0
|
ishift=0
|
||||||
imin=1
|
imin=1
|
||||||
N_det_inv = 1.d0/dble(N_det)
|
N_det_inv = 1.d0/dble(N_det)
|
||||||
max_workload = 50000.d0
|
max_workload = 10000.d0
|
||||||
do imax=1,N_det
|
do imax=1,N_det
|
||||||
w = w + 1.d0
|
w = w + 1.d0
|
||||||
if (w > max_workload) then
|
if (w > max_workload) then
|
||||||
|
Loading…
Reference in New Issue
Block a user