lect16
lect16
1
2024/12/26
2
2024/12/26
3
2024/12/26
Metropolis Sampling
The limitations of random sampling can be avoided by
generating configurations that make a large contribution to
the thermodynamic average. This is the philosophy behind
Metropolis sampling.
4
2024/12/26
( ) = exp(−D ( ) / ) … … (∗)
= min[1 , exp(−b D ) ]
5
2024/12/26
Detailed NVT-Ensemble
Algorithm
Part 1 loop cycle 1 ... maxCycle
Detailed NVT-Ensemble
Algorithm
Part 2.3 Apply Metropolis acceptance criterion:
if (D < 0 or exp(−b D )³ ())
rxatom rxTrial //accept move
ryatom ryTrial
rzatom rzTrial
Eatom ETrial
E E + DE
numAccept numAccept + 1
end if
end atom loop
6
2024/12/26
Detailed NVT-Ensemble
Algorithm
Part 2.4 Update periodically the maximum displacement:
if (mod(cycle, updateCycle) = 0)
acceptRatio numAccept/(cycle * atomMax)
if (acceptRatio > 0.5)
dMax 1.05 * dMax
else
dMax 0.95 * dMax
end if
end if
end cycle loop
Detailed NVT-Ensemble
Algorithm (contd)
Typically, a Monte Carlo simulation is performed in cycles
(Part 1). During each cycle, a displacement is attempted for
every atom (Part 2). The atom to be displaced can be chosen
randomly or alternatively, each atom can be considered in
turn as illustrated above. It is also possible to displace every
atom and apply the acceptance criterion to the combined
move.
7
2024/12/26
Detailed NVT-Ensemble
Algorithm (contd)
This change in energy is evaluated and the Metropolis
acceptance (Algorithm Part 2.3) rule is applied. If the move is
accepted, the atom’s coordinates, the atom’s energy and the
total energy (E) are updated.
Detailed NVT-Ensemble
Algorithm (contd)
In part 2.4, the value of dMax is adjusted at intervals
specified by updateCycle. If acceptRatio > 0.5, the value
of dMax is increased, whereas it is decreased if
acceptRatio < 0.5.
8
2024/12/26
9
2024/12/26
1
= −
10