10
1
mirror of https://gitlab.com/scemama/qmcchem.git synced 2024-06-13 16:55:17 +02:00

New scheme for pseudo explosion

This commit is contained in:
Anthony Scemama 2021-05-14 14:03:34 +02:00
parent 2a68a494c4
commit 8ac9bcb963

View File

@ -252,12 +252,10 @@ BEGIN_PROVIDER [ double precision, E_loc ]
enddo
! Avoid divergence of E_loc and population explosion
if (do_pseudo) then
if (do_pseudo .and. qmc_method == 'DMC' ) then
double precision :: delta_e
! delta_e = E_loc-E_ref
! E_loc = E_ref + erf(delta_e*time_step_sq)/time_step_sq
E_loc = max(2.d0*E_ref, E_loc)
! continue
delta_e = E_loc-E_ref
E_loc = E_ref + delta_e * dexp(-dabs(delta_e)*time_step_sq)
endif
E_loc_min = min(E_loc,E_loc_min)
E_loc_max = max(E_loc,E_loc_max)