Classical Monte Carlo vs. Molecular Dynamics

Both Classical Monte Carlo (MC) and Classical Molecular Dynamics (MD) simulations are used to perform simulations of ensembles of molecules. These MC calculations are calculating thermodynamic properties via an ensemble average, while the MD simulations are doing so via a time average. For ergodic systems, these two approaches should give the same answer.

Are there scenarios (with ergodic systems) where one method has a particular advantage over the other?

One important difference between Monte Carlo (MC) and Molecular Dynamics (MD) sampling is that to generate the correct distribution, samples in MC need not follow a physically allowed process, all that is required is that the generation process is ergodic. This can be exploited to accelerate MC schemes. The typical example of this is the Ising model, where the physical steps are individual spin flips, but instead we can replace these individual spin flips by flips of clusters of spins, which could for example help accelerate equilibration to a paramagnetic phase from a starting ferromagnetic configuration.

The advantages provided by the scheme described above imply that all information about the actual physical process is lost in MC sampling. This is where MD is more advantageous: in MD you are actually following a physical path, so you can gain information not only about equilibrium configurations, but also about how you physically get there.

The main advantage that MD has is that alot more people have worked on algorithm efficiency. The state of the art codes for MD are really state of the art. Monte Carlo algorithms are fairly primitive in comparison, and many folks just write their own codes.

Monte Carlo is better at sampling because it need not follow Newton's equations of motion. If a molecule is stuck in a potential energy well, it may not change conformation for a long time in MD, but MC could flip the torsion barrier with ease.

A point that I hold dear to my heart is that it isn't that MC and MD yield the same, correct results, for ergodic systems, but rather, MC is always right, and MD is correct for ergodic systems.

A huge advantage for molecular dynamics is that it is easily parallelizable(MC is only trivially parallelizable). Every step in MD, each atom must have its forces computed, and this can be done in parallel. In Monte Carlo, you are generally only moving one particle at a time. The cost per move is lower, but you must wait until one move is done before another particle is moved (you can move multiple particles at a time, but, you end up failing a high % of moves).

Another advantage of molecular dynamics is sampling complex molecules. I know I said MC samples better, but for really large molecules it gets hard to sample, for instance, torsional rotations, since a rotation in the center of the molecule would swing its end points really far out and guaranteed result in a failed move. There are clever algorithms to get around this, but it is ridiculously simple in MD. You have to be very clever in MC.

One thing that is a disadvantage for MD is using barostats and thermostats. Keeping Temperature and/or pressure constant in MC is rediculously simple, and actually very hard in MD. People joke that MD is just solving Newton's equations of motion, which is a first year physics problem. That is only true in the constant energy ensemble. Once you have to keep temperature constant and/or pressure, the algorithms quickly escalate. The simple algorithms rarely yield the rigorously correct ensemble, thus, you need the more complicated ones.

In the end, for simple systems both MC and MD are simple. For simple systems at constant temperature and pressure, MD is harder due to the thermostats and barostats. For complex molecules MD is easier since you don't need complex regrowth/configurational bias/advanced torsion sampling algorithms. I don't know what is harder to truly understand, thermostats/barostats or complex molecule sampling in MC.

IN the current state of the field, the hard brain work is done for us if we use MD. This is not so much the case for MC, and MC algorithms, if they do some of the advanced sampling, are usually written by people who are first scientists, second coders, so they are not all that fast. GROMACS, for instance, is blazing fast, because it has had a team of people working for decades now on making it fast.

I will add some references to this. For instance Jorgensen has found that for complex molecules MC is pound for pound more efficient, but, his program is not free.

• +1. A thorough answer. We need more people participating in the LAMMPS chat room and GROMACS chat room. Mar 30, 2021 at 4:44
• I will start having some questions myself soon, about to embark down solid state :) Mar 30, 2021 at 4:56