81 REAL(kind=
dp),
INTENT(IN) :: kk, sigma
82 INTEGER,
INTENT(IN) :: ndeg
83 REAL(kind=
dp),
INTENT(IN) :: taut
85 REAL(kind=
dp) :: my_res
87 REAL(kind=
dp) :: factor, resample, reverse, rr
91 IF (taut > 0.1_dp)
THEN
92 factor = exp(-1.0_dp/taut)
96 rr = rng_stream%next()
100 IF ((rr*rr*sigma*(1.0_dp - factor)) > (ndeg*kk*factor) .AND. rr <= 0.0_dp) reverse = -1.0_dp
104 IF (ndeg /= 1) reverse = 1.0_dp
105 resample = kk + (1.0_dp - factor)*(sigma*(sumnoises(ndeg - 1, rng_stream) + rr**2)/real(ndeg, kind=
dp) - kk) &
106 + 2.0_dp*rr*sqrt(kk*sigma/ndeg*(1.0_dp - factor)*factor)
108 resample = max(0.0_dp, resample)
109 my_res = reverse*sqrt(resample/kk)
real(kind=dp) function, public rescaling_factor(kk, sigma, ndeg, taut, rng_stream)
Stochastic velocity rescale, as described in Bussi, Donadio and Parrinello, J. Chem....