Unformatted text preview:

Monte Carlo SimulationDisplacement trialVolume-change trial movesMolecule insertion/deletion trialsMonte Carlo SimulationMonte Carlo simulation is the application of Monte Carlo methods to molecular simulation. The 1/ 2n- convergence properties of the Monte Carlo methods give them great advantage over methodical techniques when applied to the very high-dimensional integrals encountered in statistical mechanics. Moreover, sampling the complex shapes of the important regions of these integrals requires the application of a Markov chain, which is almost always accomplished via the Metropolis scheme or some extension of it.Monte Carlo simulation involves the repeated application of an elementary procedure. First, a trial configuration is generated by making a perturbation to the a configuration of molecules. For example, a randomly selected atom is moved by some small amount fromits present position. Then the ratio of probabilities for the trial and original configurations is computed, and from this quantity a decision is made whether to accept or reject the trial. If the trial is accepted, the new configuration is taken as the next state in the Markov chain, otherwise the original configuration is taken as the next state in the chain. Averages are collected over the many configurations so generated, until the computer resources budgeted to the calculation expire.The power of the Monte Carlo method comes in the great variety perturbations that can be made to generate a trial configuration. The changes need not be physically realistic. One can, for example, take a molecule and change its species identity, say, converting a methane molecule to a water molecule. Such a move would not be made if one were attempting to generate samples in the canonical ensemble, but it might be done in a simulation of the grand-canonical ensemble, where the number of molecules of all types must fluctuate during a simulation. Thus the statistical mechanical ensemble is the first determinant of the types of moves that are attempted in a Monte Carlo simulation. Trials must be attempted that permit the system to sample the relevant microstates of the ensemble.Within the constraints of sampling a given ensemble, one can be very creative in devisingtrials that significantly enhance the statistical quality of the calculation. As we learned in our study of Markov processes, it is advantageous to keep the system moving, and to avoid repeatedly visiting the same states over and over. It is also good to get a wide sampling of all possible configurations, and not to localize the sampling to a small corner of configuration space. Without cleverly constructed trial moves, it can be very difficult to encourage the system to explore a wide range of configurations. Good trial moves willtransport the system in a single step from one configuration to another that is significantlydifferent. A lot of progress in Monte Carlo simulation over the past decade has been made through the development of trial moves that work well in sampling complex fluids.Most Monte Carlo simulations employ several types of trial moves to generate new configurations. For example, one trial may displace an atom, while another trial may rotate an entire molecule. At each elementary MC step, a decision is first made regardingwhich type of trial will be attempted. To satisfy detailed balance, this decision must be made via a random selection. Clearly, if an atom displacement trial is always followedby a molecule rotation trial, then the transition probability is zero for reversing either of these moves in the subsequent step. The same may be said about the selection of the atom or molecule that is moved: if it is done in sequence (a trial and acceptance decision is made for one atom after another, following some predetermined order), there is no chance of reversing any of the moves in a subsequent step. Perhaps even worse, this prescription gives transition probabilities that depend on the (recent) history of the process, so the chain is not Markov. If instead all decisions are made probabilistically, so that for example there is a ½ probability of making either an atom move or molecule rotation in each elementary step, then the process is indeed Markov and detailed balance can be satisfied. While it is true that it is not necessary to satisfy detailed balance to generate the correct limiting distribution (ref Deem), our preference is to not invite problems and to use the stochastic approach to trial selection.In our molecular simulation API, the type of simulation performed (MC versus MD) is specified by the Integrator. We have a class, IntegratorMC, that conducts Monte Carlo simulations. As just discussed, it repeated selects a trial move with some fixed pre-determined probability, and it executes the trial. However, this class is very general in that it contains no details about what perturbation is attempted in the trial. This information is coded into a separate MCMove class. Different subclasses of MCMove attempt different types of trials. At the outset of the simulation, the types of trials to be attempted are specified by adding instances of the corresponding MCMove subclasses to the IntegratorMC. Each MCMove subclass has associated with it a “frequency” value that indicates how likely it is to be selected as the trial for any given MC step. These values are used as unnormalized probabilities for selecting a trial. For example, instancesof the MCMoveAtom and MCRotateMolecule classes may each have a frequency of 1, which means that at any point in the simulation they are equally likely to be selected as the next trial. There may be a third type of move, say MCMoveMolecule, having a frequency set (for example) to 2, which means that it is twice as likely of being selected as either of the other moves. Then for any elementary MC step, the likelihood of selecting an atom displacement, a molecule rotation, or a molecule displacement is in the ratio of 1:1:2, or probabilities of ¼, ¼, and ½, respectively.Here’s the basic code that performs the MC trial move. This is a method in the class IntegratorMC, and it is called repeatedly by the run method defined in the Integrator superclass. The frequencyTotal field is computed as the sum of the unnormalized frequencies assigned to each MCMove. The MCMoves are arranged in a linked list, so they can be iterated by calling the nextMove method present in


View Full Document

UB CE 530 - Monte Carlo Simulation

Download Monte Carlo Simulation
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Monte Carlo Simulation and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Monte Carlo Simulation 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?