Skip to main content
. 2019 Jun 26;150(24):244112. doi: 10.1063/1.5100521

ALGORITHM 1.

REVO resampler algorithm.

Input: Ensemble of walkers, REVO parameters
Output: Ensemble of resampled walkers
Dist_Matrix = AlltoAll_Dist(walkers);
Vold, {Vi}1n = CalcVariation(weights, Dist_Matrix);
while TRUE do
c = Select the walker with highest Vi where wi > pmin;
m1 = Select the walker with lowest Vi where wi < pmax;
m2 = Select the walker that is closest to m1 where
wm2 + wm1 < pmax and dm2,m1 < dmerge_distance
if c, m1 and m2 are defined then
/*Changes the conformation and weight of walkers*/
Do cloning;
Do merging;
Vnew, {Vi}1n = CalcVariation(weights, Dist_Matrix);
if Vnew > Vold then
Vold = Vnew;
else
Undo cloning and merging step;
break;
else
break;
end