mirror of
https://gitlab.com/scemama/qmcchem.git
synced 2024-12-21 20:03:31 +01:00
Fixed BeH with pseudos
This commit is contained in:
parent
1e9b94374f
commit
3c0d404661
@ -100,9 +100,7 @@ END_SHELL
|
||||
block_weight = 0.d0
|
||||
|
||||
real, external :: accep_rate
|
||||
double precision :: delta, thr
|
||||
|
||||
thr = 2.d0/time_step_sq
|
||||
double precision :: delta
|
||||
|
||||
logical :: first_loop
|
||||
first_loop = .True.
|
||||
@ -160,6 +158,11 @@ END_SHELL
|
||||
srmc_weight(i_walk) = 2.d0-dexp(dtime_step*delta)
|
||||
endif
|
||||
|
||||
! Trick to avoid holes in DMC PES.
|
||||
if (dabs(delta/E_ref) * time_step_sq > p ) then
|
||||
srmc_weight(i_walk) = 1.d-1
|
||||
endif
|
||||
|
||||
|
||||
! if (accepted) then
|
||||
! ! Compute correction to past weights
|
||||
@ -186,7 +189,7 @@ END_SHELL
|
||||
! endif
|
||||
|
||||
|
||||
if ( (psi_value * psi_value_save(i_walk) >= 0.d0).and.(srmc_weight(i_walk) > 1.d-4) ) then
|
||||
if ( psi_value * psi_value_save(i_walk) >= 0.d0 ) then
|
||||
elec_coord(elec_num+1,1) += p*time_step
|
||||
elec_coord(elec_num+1,2) = E_loc
|
||||
elec_coord(elec_num+1,3) = srmc_weight(i_walk) * srmc_pop_weight_mult
|
||||
@ -261,6 +264,13 @@ END_SHELL
|
||||
srmc_projection_step = 1
|
||||
endif
|
||||
|
||||
if (srmc_pop_weight_mult > 1.d0/time_step_sq) then
|
||||
srmc_pop_weight_mult = 1.d0
|
||||
endif
|
||||
if (srmc_pop_weight_mult < time_step_sq) then
|
||||
srmc_pop_weight_mult = 1.d0
|
||||
endif
|
||||
|
||||
! Eventually, recompute the weight of the population
|
||||
if (srmc_projection_step == 1) then
|
||||
srmc_pop_weight_mult = 1.d0
|
||||
|
Loading…
Reference in New Issue
Block a user