mirror of
https://gitlab.com/scemama/qmcchem.git
synced 2024-08-29 22:33:41 +02:00
Fixed BeH with pseudos
This commit is contained in:
parent
1e9b94374f
commit
3c0d404661
@ -100,9 +100,7 @@ END_SHELL
|
|||||||
block_weight = 0.d0
|
block_weight = 0.d0
|
||||||
|
|
||||||
real, external :: accep_rate
|
real, external :: accep_rate
|
||||||
double precision :: delta, thr
|
double precision :: delta
|
||||||
|
|
||||||
thr = 2.d0/time_step_sq
|
|
||||||
|
|
||||||
logical :: first_loop
|
logical :: first_loop
|
||||||
first_loop = .True.
|
first_loop = .True.
|
||||||
@ -160,6 +158,11 @@ END_SHELL
|
|||||||
srmc_weight(i_walk) = 2.d0-dexp(dtime_step*delta)
|
srmc_weight(i_walk) = 2.d0-dexp(dtime_step*delta)
|
||||||
endif
|
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
|
! if (accepted) then
|
||||||
! ! Compute correction to past weights
|
! ! Compute correction to past weights
|
||||||
@ -186,7 +189,7 @@ END_SHELL
|
|||||||
! endif
|
! 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,1) += p*time_step
|
||||||
elec_coord(elec_num+1,2) = E_loc
|
elec_coord(elec_num+1,2) = E_loc
|
||||||
elec_coord(elec_num+1,3) = srmc_weight(i_walk) * srmc_pop_weight_mult
|
elec_coord(elec_num+1,3) = srmc_weight(i_walk) * srmc_pop_weight_mult
|
||||||
@ -261,6 +264,13 @@ END_SHELL
|
|||||||
srmc_projection_step = 1
|
srmc_projection_step = 1
|
||||||
endif
|
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
|
! Eventually, recompute the weight of the population
|
||||||
if (srmc_projection_step == 1) then
|
if (srmc_projection_step == 1) then
|
||||||
srmc_pop_weight_mult = 1.d0
|
srmc_pop_weight_mult = 1.d0
|
||||||
|
Loading…
Reference in New Issue
Block a user