Configurational-Bias Monte Carlo Thijs J.H. Vlugt Professor and Chair Engineering Thermodynamics Delft University of Technology Delft, The Netherlands t.j.h.vlugt@tudelft.nl January 10, 2011
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [1] Random Sampling versus Metropolis Sampling (1) N interacting particles in volume V at temperature T vector representing positions of all particles in the system: r N total energy: U(r N ) statistical weight of configuration r N is exp[ βu(r N )] with β = 1/(k B T )
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [2] Random Sampling versus Metropolis Sampling (2) N interacting particles in volume V at temperature T pair interactions u(r ij ) U(r N ) = Q(N, V, T ) = N 1 N u(r ij ) u(r ij ) = i=1 j=i+1 i<j 1 Λ 3N dr N exp [ βu(r N ) ] N! F (N, V, T ) = k B T ln Q(N, V, T )
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [3] Random Sampling versus Metropolis Sampling (3) Computing the ensemble average of a certain quantity A(r N ) Random Sampling of r N : A = lim n n i=1 A(rN i ) exp [ βu(r N i )] n i=1 exp [ βu(r N i )] Usually this leads to A = 0 / 0 =??? Metropolis sampling; generate n configurations r N with probability proportional to exp [ βu(r N i )], therefore: A = lim n n i=1 A(rN i ) n
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [4] Simulation Technique (1) What is the ratio of red wine/white wine in the Netherlands?
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [5] Simulation Technique (2) Bottoms up
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [6] Simulation Technique (3)
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [7] Simulation Technique (4)
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [8] Simulation Technique (5)
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [9] Simulation Technique (6) Bottoms up Shoe shop Liquor store
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [10] Metropolis Monte Carlo (1) How to generate configurations r i with a probability proportional to N (r i ) = exp[ βu(r i )]??? N. Metropolis, A.W. Rosenbluth, M.N. Rosenbluth. A.H. Teller and E. Teller, Equation of State Calculations by Fast Computing Machines, J. Chem. Phys., 1953, 21, 1087-1092.
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [11] Metropolis Monte Carlo (2) Whatever our rule is to move from one state to the next, the equilibrium distribution should not be destroyed
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [12] Move from the old state (o) to a new state (n) and back new 5 old new 1 new 2 new 4 new 3 N (o) n leaving state o = entering state o [α(o n)acc(o n)] = n [N (n)α(n o)acc(n o)] N (i) : probability to be in state i (here: proportional to exp[ βu(r i )]) α(x y) : probability to attempt move from state x to state y acc(x y): probability to accept move from state x to state y
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [13] Detailed Balance (1) Requirement (balance): N (o) n [α(o n)acc(o n)] = n [N (n)α(n o)acc(n o)] Detailed balance: much stronger condition N (o)α(o n)acc(o n) = N (n)α(n o)acc(n o) for every pair o,n new 1 new 5 new 2 old new 4 new 3
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [14] Detailed Balance (2) N (o)α(o n)acc(o n) = N (n)α(n o)acc(n o) α(x y); probability to select move from x to y acc(x y); probability to accept move from x to y often (but not always); α(o n) = α(n o) Therefore (note that U = U(n) U(o)): acc(o n) acc(n o) = α(n o) exp[ βu(n)] α(o n) exp[ βu(o)] = α(n o) α(o n) exp[ β U] In case that α(o n) = α(n o) acc(o n) acc(n o) = exp[ β U]
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [15] Metropolis Acceptance Rule General: acc(o n) acc(n o) = X Choice made by Metropolis (note: infinite number of other possibilities) acc(o n) = min(1, X) Note than min(a, b) = a if a < b and b otherwise always accept when X 1 when X < 1, generate uniformly distributed random number between 0 and 1 and accept or reject according to acc(o n)
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [16] Monte Carlo Casino
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [17] Smart Monte Carlo: α(o n) α(n o) Not a random displacement r uniformly from [ δ, δ], but instead r = r(new) r(old) = A F + δr F A δr : force on particle : constant : taken from Gaussian distribution with width 2A so P (δr) exp[ (δr 2 )/4A] P (r new ) exp [ (r new (r old + A F (o))) 2 ] 4A α(o n) exp [ α(n o) = [ exp ] ( r A F (o))2 4A ( r+a F (n))2 4A ]
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [18] Chain Molecules
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [19] Self-Avoiding Walk on a Cubic Lattice 3D lattice; 6 lattice directions only 1 monomer per lattice site (otherwise U = ) interactions only when r ij = 1 and i j > 1
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [20] Simple Model for Protein Folding 20 by 20 interaction matrix ij YPDLTKWHAMEAGKIRFSVPDACLNGEGIRQVTLSN (E. Jarkova, T.J.H. Vlugt, N.K. Lee, J. Chem. Phys., 2005, 122, 114904) b) z (b) 20 15 10 5 0 prot1 prot2 prot3 prot4 0 2 4 6 8 10 Force (k B T/b) (dz) 2 6 5 4 3 2 1 0 0 2 4 6 8 10 Force (k B T/b)
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [21] Number of Configurations without Overlap Random Chains: R = lim n n i=1 R i exp[ βu i ] n i=1 exp[ βu i] Fraction of chains without overlap decreases exponentially as a function of chainlength (N) N total (= 6 N 1 ) without overlap fraction no overlap 2 6 6 1 6 7776 3534 0.454 8 279936 81390 0.290 10 10077696 1853886 0.183 12 362797056 41934150 0.115 13 2176782336 198842742 0.091 14 13060694016 943974510 0.072 15 78364164096 4468911678 0.057 16 470184984576 21175146054 0.045 50 1.3 10 5
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [22] Rosenbluth Sampling (1) 1. Place first monomer at a random position 2. For the next monomer (i), generate k trial directions (j = 1, 2,, k) each with energy u ij 3. Select trial direction j with a probability P j = exp[ βu ij ] k j=1 exp[ βu ij] 4. Continue with step 2 until the complete chain is grown (N monomers)
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [23] Rosenbluth Sampling (2) P j = exp[ βu ij ] k j=1 exp[ βu ij]
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [24] Rosenbluth Sampling (3) Probability to choose trial direction j for the i th monomer P j = exp[ βu ij ] k j=1 exp[ βu ij] Probability to grow this chain (N monomers, k trial directions) P chain = N P j (i) = i=1 N i=1 exp[ βu ij (i)] k j=1 exp[ βu ij] = exp[ βu chain] W chain N i=1
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [25] Rosenbluth Sampling (4) Probability to grow this chain (N monomers, k trial directions) P chain = N i=1 exp[ βu ij (i)] k j=1 exp[ βu ij] = exp[ βu chain] W chain N i=1 Therefore, weightfactor for each chain i is the Rosenbluth factor W i : R Boltzmann = lim n n i=1 W i R i n i=1 W i The unweighted distribution is called the Rosenbluth distribution: R Rosenbluth = lim n n i=1 R i n Of course: R Rosenbluth R Boltzmann
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [26] Intermezzo: Ensemble Averages at Different Temperatures Ensemble averages at β can (in principle) be computed from simulations at β: U β = = dr N U(r N ) exp[ βu(r N )] drn exp[ βu(r N )] dr N U(r N ) exp[ β U(r N )] exp[(β β) U(r N )] drn exp[ β U(r N )] exp[(β β) U(r N )] = = U(r N ) exp[(β β) U(r N )] β exp[(β β) U(r N )] β U(r N ) exp[ β U(r N )] β exp[ β U(r N )] β Useful or not???
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [27] Rosenbluth Distribution Differs from Boltzmann Distribution Probability distribution for the end-to-end distance r N = 10 N = 100 0.4 0.3 Rosenbluth distribution Boltzmann distribution 0.1 0.08 Rosenbluth distribution Boltzmann distribution 0.06 P(r) 0.2 P(r) 0.04 0.1 0.02 0 0 2 4 6 r 0 0 5 10 15 20 25 30 r
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [28] Distribution of Rosenbluth Weights 0 2 N=50 N=100 N=200 N=300 ln(p(w)) 4 6 8 10 45 35 25 15 5 ln(w) Of course, Probability(W = 0) 0 (not shown in this figure)
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [29] Pruned-Enriched Rosenbluth Method (1) Grassberger (1997); grow chains using Rosenbluth Method: W = 6 j=1 exp [ βu 2j ] 6 N i=3 5 j=1 exp [ βu ij ] 5 = N i=3 5 j=1 exp [ βu ij ] 5 Two additional elements: Enriching If W > W max during the construction of the chain, k copies of the chain are generated, each with a weight of W/k. This is a deterministic process. The growth of those k chains is continued. Pruning If W < W min during the construction of a chain, with a probability of 1/2 the chain is pruned resulting in W = 0. If the chain survives, the Rosenbluth weight is multiplied by 2 and the growth of the chain is continued.
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [30] Pruned-Enriched Rosenbluth Method (2) enriching successful pruning unsuccessful pruning
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [31] Pruned-Enriched Rosenbluth Method (3) Example: N = 200, k = 2, βµ ex = ln W = 12.14 0.4 0.3 RR W min = 20 W max = 5 W min = 15 W max = 5 p(ln(w)) 0.2 0.1 0 40 30 20 10 0 ln(w)
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [32] Pruned-Enriched Rosenbluth Method (4) βµ ex = ln W, Ann. Rev. of Phys. Chem. 1999, 50, 377-411
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [33] Static versus Dynamic Monte Carlo Static Monte Carlo create single chain conformations, and use correct weight factor (random insertion, Rosenbluth scheme, PERM) to compute single chain averages single chain only; no Markov chain Dynamic Monte Carlo create Markov chain, accept/reject new configuration, acceptance rules should obey detailed balance multi-chain system, usable for all ensembles (e.g. Gibbs, µv T ) Configurational-Bias Monte Carlo (CBMC), Recoil Growth (RG), Dynamic PERM (DPERM)
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [34] Random Insertion of Chains is Useless Chain Length Probability without overlaps 1 10 2 2 10 4 3 10 6 8 10 16
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [35] Configurational-Bias Monte Carlo Generate configurations using the Rosenbluth scheme Accept/Reject these configurations in such a way that detailed balance is obeyed Split potential energy into bonded (bond-stretching, bending, torsion) and non-bonded (i.e. Lennard-Jones and/or Coulombic) interactions Generate (k) trial positions according to bonded interactions (unbranched chain: l, θ, φ are independent) U bonded = U stretch (l) + U bend (θ) + U tors (φ) P (l) dl l 2 exp[ βu(l)] P (θ) dθ sin(θ) exp[ βu(θ)] P (φ) dφ exp[ βu(φ)]
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [36] Generate Trial Configurations: Linear Alkane φ θ CH 3 CH 2 CH 2 l CH3 u(l) = (k l /2) (l l 0 ) 2 u(θ) = (k θ /2) (θ θ 0 ) 2 u(φ) = 5 c i cos i (φ) i=0 P (l) dl l 2 exp[ βu(l)] P (θ) dθ sin(θ) exp[ βu(θ)] P (φ) dφ exp[ βu(φ)]
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [37] Generate a Random Number from a Distribution (1) F (y) = y 0 p(y )dy
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [38] Generate a Random Number from a Distribution (2) F (y) = y 0 f(y )dy f(x) > p(x)
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [39] Generate a Random Number from a Distribution (3) subroutine bend-tors lready=.false do while (.not.lready) call ransphere(dx,dy,dz) x = xold + dx y = yold + dy z = zold + dz call bend(ubend,x,y,z) call tors(utors,x,y,z) if(ranf().lt.exp(-beta*(ubend+utors))) + lready=.true enddo generate appropriate θ and φ random vector on unit sphere monomer position bending energy torsion energy accept or reject
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [40] CBMC Algorithm Generate a trial configuration using the Rosenbluth scheme. k trial segments {b} k = {b 1 b k }, each trial segment is generated according to P (b) exp[ βu bonded (b)] Compute non-bonded energy, select configuration i with a probability P (b i ) = exp[ βu non b (b i )] k j=1 exp[ βu non b(b j )] = exp[ βu non b(b i )] w l Continue until chain is grown, W (n) = n l=1 w l Similar procedure for old configuration, generate k 1 trial positions (trial position 1 is the old configuration itself), leading to W (o) Accept/reject according to acc(o n) = min(1, W (n)/w (o))
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [41] Super-Detailed Balance (1) Same chain can be grow for different sets of trial directions...
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [42] Super-Detailed Balance (2) Flux of configurations K(o n) = b n b o K(o n b n b o ) K(n o) = b n b o K(n o b n b o ) Detailed balance requires K(o n) = K(n o) Possible solution (super-detailed balance): K(o n b n b o ) = K(n o b n b o ) for each b n b o.
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [43] Super-Detailed Balance (3) As Detailed balance for each set b n b o : K(o n b n b o ) = N(o) α(o n b n b o ) acc(o n b n b o ) = exp[ βu(o)] C exp[ βu bonded (n)] exp[ βu non b (n)] W (n) P (b n b o ) acc(o n b n b o ) K(n o b n b o ) = exp[ βu(n)] C exp[ βu bonded (o)] exp[ βu non b (o)] W (o) P (b n b o ) acc(n o b n b o ) therefore U = u non b + u bonded acc(o n) acc(n o) = W (n) W (o)
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [44] Branched Molecules (1) b1 c2 c1 b2 P (b 1, b 2 ) exp[ β[u bend (c 1, c 2, b 1 )] + u bend (c 1, c 2, b 2 )] + u bend (b 1, c 2, b 2 )]]
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [45] Branched Molecules (2) Use CBMC to generate internal configurations: Generate n t random trial positions and select one (i) with a probability P int (i) = exp[ βu bonded (i)] nt j=1 exp[ βu bonded(j)] = exp[ βu bonded(i)] W int (n) Repeat until k trial orientations are found; these are fed into CBMC leading to W (n) Repeat procedure for old configuration, leading to W int (o) and W (o). Accept or reject according to acc(o n) = min ( 1, W (n) W int ) (n) W (o) W int (o)
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [46] Significant Speedup: Dual-Cutoff CBMC 1.0 0.8 η 0.6 0.4 0.2 0.0 0.0 5.0 10.0 15.0 r cut */[A o ] Grow chain with approximate (cheaper) potential; W Correct for difference later (δu, difference real and approximate potential for selected configuration) acc(o n) = min ( 1, W (n) W (o) ) exp[ β[δu(n) δu(o)]]
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [47] Application 1: Adsorption of Alkanes in MFI-type zeolite (1) Zeolites: microporous channel structure crystalline, SiO 2 building blocks substitution of Si 4+ by Al 3+ and a cation (Na + or H + ) typical poresize: 4 12Å synthetic and natural; >190 framework types
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [48] Application 1: Adsorption of Alkanes in MFI-type zeolite (2) y x z straight channels (y direction), zig-zag channels (xz plane) and intersections
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [49] Application 1: Adsorption of Alkanes in MFI-type zeolite (3) Grand-canonical (µvt) ensemble; number of particles (N) fluctuates system is coupled to particle reservoir at chemical potential µ and temperature T, statistical weight V N exp[βµn βu(r N )]/ ( Λ 3N N! ) trial moves to exchange particles between zeolite and reservoir (using CBMC) equilibrium: µ gas = µ zeolite ; measure average N for given µ and β µt
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [50] Application 1: Adsorption of Alkanes in MFI-type zeolite (4) 2.0 butane exp. butane sim. isobutane exp. isobutane sim. N/[mmol/g] 1.0 n C 4 0.0 10 4 10 2 10 0 10 2 p/[kpa] i C 4 Vlugt et al, J. Am. Chem. Soc., 1998, 120, 5599
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [51] Application 1: Adsorption of Alkanes in MFI-type zeolite (5) n-c 4, low loading i-c 4, low loading i-c 4, high loading Vlugt et al, J. Am. Chem. Soc., 1998, 120, 5599
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [52] Application 1: Adsorption of Alkanes in MFI-type zeolite (6) Research Octane Number (RON) >100 25 73 92
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [53] Application 1: Adsorption of Alkanes in MFI-type zeolite (7) Flux n C 6 i C 6 selectivity pure 179 136 1.3 50%-50% 46 1.9 24 Experiments by J. Falconer, Univ. Colorado
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [54] Application 1: Adsorption of Alkanes in MFI-type zeolite (8) 8 n-c 6 6 (a) Pure component isotherms 4 3MP Loading, θ /[molecules per unit cell] 2 0 8 7 6 5 4 (b) 50-50 mixture of C 6 isomers at 362 K, n-c 6 CBMC simulations DSL model fits 3 2 1 3MP 0 10-01 10 00 10 01 10 02 10 03 10 04 10 05 10 06 Partial pressure, pi /[Pa]
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [55] Application 1: Adsorption of Alkanes in MFI-type zeolite (9) blue = branched (i-c 6 ) red = linear (n-c 6 )
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [56] Application 2: Adsorption of CO 2 in Na + containing zeolites Sofia Calero et al., J. Phys. Chem. C, 2009, 113, 8814-8820
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [57] Application 3: Gibbs Ensemble Monte Carlo (1) Heptane (n-c 7 ) 550 Experimental data Scaling relations Simulations T/[K] 450 350 0.0 0.2 0.4 0.6 ρ/[g/cm 3 ] B. Smit, S. Karaborni, and J.I. Siepmann, J. Chem. Phys. 102, 2126 (1995)
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [58] Application 3: Gibbs Ensemble Monte Carlo (2) 1000 900 simulations experiments 0.24 T c [K] 800 700 600 500 ρ c [gram/cm 3 ] 0.22 0.20 simulations experiments (1) experiments (2) 400 1 10 100 N c 0.18 1 10 100 N c B. Smit, S. Karaborni, and J.I. Siepmann, J. Chem. Phys. 102, 2126 (1995)
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [59] Application 4: GCMC Histogram Reweighting J.J. Potoff et al., J. Phys. Chem. B, 2009, 113, pp 14725-14731
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [60] Efficiency of CBMC k: number of trial directions a: probability that trial direction has a favorable energy growth can continue as long as at least 1 trial direction is favorable generate chain of length N successfully P success = (1 (1 a) k ) N = exp[ cn] increasing k means increasing CPU time.
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [61] Dead-End Alley
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [62] Recoil Growth: Avoiding Dead-End Alley
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [63] Recoil Growth Algorithm (1) Place first bead at random position Position (i) can be open or closed depending on the environment (energy u i ); here we use p open = min(1, exp[ βu i ]) and toss a coin. If open, continue with next segment If closed, try another trial direction up to a maximum of k If all k directions are closed, retract by one step Maximum retraction length: l max l + 1 l: recoil length, l max : maximum length obtained during the growth of the chain Computed weight W (n) and repeat procedure for old configuration Accept or reject using acc(o n) = min(1, W (n)/w (o))
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [64] Recoil Growth Algorithm (2) Example for k = 2 and l = 3 E F C I H D B A G O
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [65] Super Detailed Balance In general, Therefore, N(o) α(o n) acc(o n) = N(n) α(n o) acc(n o) What about α(o n)? Generate a tree t n. acc(o n) = min ( 1, exp[ β U] ) α(n o) α(o n) Decide which parts of the tree are open or closed (O n ). Make a random walk on the tree (rw n )
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [66] Random Walk on a Tree (k = 2, l = 3) open closed
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [67] Super-Detailed Balance K(o n t n t o O n O o ) = K(n o t n t o O n O o ) α(o n t n t o O n O o ) = P (t n )P (O n t n )P (rw n t n O n ) P (t o rw o )P (O o t o rw o ) α(n o t n t o O n O o ) = P (t o )P (O o t o )P (rw o t o O o ) P (O n t n ) P (O n t n rw n ) = P (rw n t n O n ) = P (t n rw n )P (O n t n rw n ) n i=1 p i 1 n i=1 m i n i=1 acc(o n) = min 1, exp[ β U] m i (n) p i (n) n i=1 m i (o) p i (o)
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [68] Computing the Weight (k = 2, l = 3) E D F B A C G H I E D F B O A C m =2 1 m =1 2 G H I O
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [69] Efficiency of RG Compared to CBMC 1 0.8 CBMC RG; l max =1 RG; l max =2 RG; l max =5 η 0.6 0.4 0.2 0 0 2 4 6 8 k
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [70] Other Methods Continuous Fractional Component Monte Carlo system contains N molecules and one fractional molecule interactions of the fractional molecule are described by order parameter λ include trial-moves to change λ fractional molecule can become a real molecule or disappear Maginn, J. Chem. Theory Comput., 2007, 3, 451-1463 Wormhole move create an artificial hole in the system use reptation steps to gradually insert the chain accept/reject individual reptation steps move is completed when the whole chain is transferred through the hole Houdayer, Journal of Chemical Physics, 2002, 116, 1783-1787
Configurational-Bias Monte Carlo Thijs J.H. Vlugt [71] The End Questions??