This answer to Basics of numerical energy minimization techniques used in molecular dynamics? mentions

conjugate gradients, BFGS for energy minimization


Metropolis Monte Carlo (and the) the FIRE algorithm

for dynamical simulations.

While the metropolis method has the potential to discover many adjacent minima depending on how high of a temperature it starts with and how rapidly it cools (annealing schedule) the others will tend to find minima near where they are initialized and not necessarily find the global minimum.

Question: What are the basics of configuration initialization strategies used in molecular dynamics simulations? Is this an art based on intuition and a "feel" for the problem? Does one first start with a project budget (e.g. "I've got three months to get results and \$10,000 to spend on supercomputer time") and sprinkle it randomly over initial configuration space?

Of course different types of problems may require very different strategies and all answers are welcome. But for what I'm doing the questions below describes my plan to make a basic molecular dynamics calculation using a Python script rather than a canned, self-contained program.

  • 2
    $\begingroup$ Please don't do annealing with Metropolis Monte Carlo to find the minimum, it isn't the 90's anymore. I think fad is thankfully fading. Same with in MD. Start at your temperature of interest, and end there. $\endgroup$
    – B. Kelly
    Mar 3, 2022 at 23:08
  • 2
    $\begingroup$ in general, you either randomly insert particles, or place them on a lattice. See Frenkel & Smit, or Allen & Tildesly. Or, you use software to "pack" them in, like Packmol $\endgroup$
    – B. Kelly
    Mar 3, 2022 at 23:09
  • 1
    $\begingroup$ @B.Kelly "it isn't the 90's anymore" Ha! Everything I know today I learned in the 90's or in Stack Exchange, and luckily the latter is increasing almost as fast as the former is fading $\endgroup$
    – uhoh
    Mar 3, 2022 at 23:10
  • 1
    $\begingroup$ Gromacs has a nice "insert-molecules" algorithm that inserts your molecule in, checks if any van der waal radii are overlapping and if not leaves it. if overlapping, tries at a different center-of-mass location. I believe it puts a random rotation on it when picking a spot as well. Placing on a lattice is the simplest. You can make your box quite big, so that molecules don't overlap when placed in lattice position, then use NPT to shrink the box, or if it is a small change, you can even just scale it then energy minimize, or monte carlo $\endgroup$
    – B. Kelly
    Mar 3, 2022 at 23:13
  • 1
    $\begingroup$ For crystals, Frenkel & smit may not be of as much help. The lattice routine I mention is more for prepping a liquid. I would be the wrong person to ask for solids, but I would check out leandro.iqm.unicamp.br/m3g/packmol/home.shtml. even packmol may not help all that much for a crystal. $\endgroup$
    – B. Kelly
    Mar 3, 2022 at 23:22


Browse other questions tagged .