Molecular Mechanics

↑ Up

Quantum mechanics is the foundation of modern chemistry and, by extension, all of computational chemistry. It was developed in the 1920s to address several outstanding challenges, including explaining atomic spectra and the wave–particle duality of electrons. A central simplification enabling practical calculations is the Born–Oppenheimer approximation, which separates nuclear and electronic degrees of freedom by exploiting their vastly different timescales. While this makes molecular quantum calculations tractable in principle, the computational cost still grows steeply with system size. Even with modern methods, fully QM simulations of systems (ab initio MD) are limited to at most ~100 atoms and timescales on the order of picoseconds.

Empirical force fields to describe molecular mechanics

To access larger systems and longer timescales, simplified potential energy functions were introduced to approximate quantum mechanical effects. This takes the central idea of the Born-Oppenheimer approximation even further, by effectively integrating out the electronic degrees of freedom, without treating any electrons explicitly. The forces could be calculated classically from the derivate of the potential energy (\(-\frac{dV}{dr}=m\frac{d^2r}{dt^2}\)), and used to propagate the system over a short time step using numerical integration (from acceleration to velocity). For example, chemically-bonded atoms in the low-energy limit can be approximated via a harmonic potential:
\(V_{bond}(r) = \frac{k}{2}(r-r_0)^2\)

{
  "data": [
    {
      "x": [
        0.2,
        0.25,
        0.3,
        0.35,
        0.39999999999999997,
        0.44999999999999996,
        0.49999999999999994,
        0.5499999999999999,
        0.5999999999999999,
        0.6499999999999999,
        0.7,
        0.7499999999999998,
        0.7999999999999998,
        0.8499999999999999,
        0.8999999999999999,
        0.9499999999999997,
        0.9999999999999998,
        1.0499999999999998,
        1.0999999999999999,
        1.1499999999999997,
        1.1999999999999997,
        1.2499999999999998,
        1.2999999999999996,
        1.3499999999999996,
        1.3999999999999997,
        1.4499999999999997,
        1.4999999999999998,
        1.5499999999999996,
        1.5999999999999996,
        1.6499999999999997,
        1.6999999999999995,
        1.7499999999999996,
        1.7999999999999996,
        1.8499999999999996,
        1.8999999999999997,
        1.9499999999999995,
        1.9999999999999996,
        2.05,
        2.0999999999999996,
        2.1499999999999995,
        2.1999999999999997,
        2.2499999999999996,
        2.3,
        2.3499999999999996,
        2.3999999999999995,
        2.4499999999999997,
        2.4999999999999996,
        2.55,
        2.5999999999999996,
        2.6499999999999995,
        2.6999999999999997,
        2.7499999999999996,
        2.8,
        2.8499999999999996,
        2.8999999999999995,
        2.9499999999999997,
        2.9999999999999996
      ],
      "y": [
        3.2000000000000006,
        2.8125,
        2.4499999999999997,
        2.1125000000000003,
        1.8000000000000005,
        1.5125000000000002,
        1.25,
        1.0125000000000004,
        0.8000000000000006,
        0.6125000000000004,
        0.4500000000000001,
        0.31250000000000056,
        0.20000000000000034,
        0.11250000000000021,
        0.050000000000000086,
        0.012500000000000133,
        2.465190328815662e-31,
        0.01249999999999991,
        0.04999999999999987,
        0.11249999999999953,
        0.19999999999999948,
        0.31249999999999944,
        0.4499999999999988,
        0.6124999999999987,
        0.7999999999999987,
        1.0124999999999988,
        1.249999999999999,
        1.5124999999999977,
        1.799999999999998,
        2.112499999999998,
        2.4499999999999966,
        2.8124999999999964,
        3.1999999999999966,
        3.6124999999999967,
        4.049999999999997,
        4.512499999999996,
        4.999999999999996,
        5.5124999999999975,
        6.049999999999996,
        6.612499999999994,
        7.199999999999997,
        7.812499999999995,
        8.449999999999998,
        9.112499999999995,
        9.799999999999992,
        10.512499999999996,
        11.249999999999993,
        12.012499999999998,
        12.799999999999994,
        13.612499999999992,
        14.449999999999996,
        15.312499999999993,
        16.199999999999996,
        17.112499999999994,
        18.04999999999999,
        19.012499999999996,
        19.999999999999993
      ],
      "mode": "lines",
      "name": "Harmonic",
      "line": {
        "dash": "dash"
      }
    },
    {
      "x": [
        0.2,
        0.25,
        0.3,
        0.35,
        0.39999999999999997,
        0.44999999999999996,
        0.49999999999999994,
        0.5499999999999999,
        0.5999999999999999,
        0.6499999999999999,
        0.7,
        0.7499999999999998,
        0.7999999999999998,
        0.8499999999999999,
        0.8999999999999999,
        0.9499999999999997,
        0.9999999999999998,
        1.0499999999999998,
        1.0999999999999999,
        1.1499999999999997,
        1.1999999999999997,
        1.2499999999999998,
        1.2999999999999996,
        1.3499999999999996,
        1.3999999999999997,
        1.4499999999999997,
        1.4999999999999998,
        1.5499999999999996,
        1.5999999999999996,
        1.6499999999999997,
        1.6999999999999995,
        1.7499999999999996,
        1.7999999999999996,
        1.8499999999999996,
        1.8999999999999997,
        1.9499999999999995,
        1.9999999999999996,
        2.05,
        2.0999999999999996,
        2.1499999999999995,
        2.1999999999999997,
        2.2499999999999996,
        2.3,
        2.3499999999999996,
        2.3999999999999995,
        2.4499999999999997,
        2.4999999999999996,
        2.55,
        2.5999999999999996,
        2.6499999999999995,
        2.6999999999999997,
        2.7499999999999996,
        2.8,
        2.8499999999999996,
        2.8999999999999995,
        2.9499999999999997,
        2.9999999999999996
      ],
      "y": [
        24.826250649268992,
        18.92037868988669,
        14.317590426337112,
        10.74412221838658,
        7.982404193650693,
        5.859658969999924,
        4.238799847186657,
        3.0111661362919615,
        2.0907261008921205,
        1.4094521759591883,
        0.9136324408473736,
        0.5609297348251087,
        0.31803770304634316,
        0.15881335501517874,
        0.06278993155794776,
        0.013993229442176498,
        1.9721522630525295e-31,
        0.01118939890378782,
        0.040148341807826185,
        0.08119951316288826,
        0.1300270814740097,
        0.18338021206818295,
        0.2388384926618895,
        0.29462660119727213,
        0.3494681122516175,
        0.40247038787693645,
        0.45303413495686967,
        0.500782517174938,
        0.5455057518891847,
        0.5871179536867501,
        0.625623649571026,
        0.6610919195153514,
        0.6936365375904834,
        0.7234008246831021,
        0.750546191262005,
        0.7752435615315829,
        0.7976670396726954,
        0.8179893135214807,
        0.8363783980138583,
        0.8529954056457019,
        0.8679930985506483,
        0.8815150301584463,
        0.8936951266224636,
        0.9046575915735269,
        0.9145170440853116,
        0.9233788204722139,
        0.9313393868381113,
        0.9384868220729177,
        0.9449013409852589,
        0.9506558350463754,
        0.9558164142656747,
        0.9604429383903123,
        0.9645895292121025,
        0.9683050585068846,
        0.9716336082080445,
        0.9746149009727479,
        0.9772847004517148
      ],
      "mode": "lines",
      "name": "Morse (more exact)"
    }
  ],
  "layout": {
    "title": "Harmonic vs Morse Potential",
    "xaxis": {
      "title": "r",
      "range": [
        0,
        3
      ],
      "tickvals": [
        1
      ],
      "ticktext": [
        "r\u2080"
      ]
    },
    "yaxis": {
      "title": "V(r)",
      "range": [
        0,
        2
      ],
      "tickvals": [
        1
      ],
      "ticktext": [
        "Dissociation\nEnergy"
      ]
    },
    "legend": {
      "x": 0.65,
      "y": 0.95
    },
    "margin": {
      "t": 50
    }
  }
}

Nonbonded interactions can be modeled using the Lennard Jones potential (“atoms are sticky, but cannot overlap with each othter”). This empirical potential describes two emergent QM effects. Dispersion (London forces): attractive, arising from mutually-induced polarization, decaying approximately as \(\frac{-1}{r^6}\). Pauli repulsion: steep short‐range repulsion due to wavefunction overlap, approximated by the \(\frac{1}{r^{12}}\) term.
\(V_{LJ}(r) = \epsilon\left[\left(\frac{R_{min}}{r}\right)^{12} - 2\left(\frac{R_{min}}{r}\right)^6\right]\)

{
  "data": [
    {
      "x": [
        0.4,
        0.45,
        0.5,
        0.55,
        0.6,
        0.6499999999999999,
        0.7,
        0.75,
        0.7999999999999999,
        0.8499999999999999,
        0.8999999999999999,
        0.9499999999999998,
        0.9999999999999999,
        1.0499999999999998,
        1.0999999999999999,
        1.15,
        1.1999999999999997,
        1.25,
        1.2999999999999998,
        1.3499999999999996,
        1.4,
        1.4499999999999997,
        1.4999999999999996,
        1.5499999999999998,
        1.5999999999999996,
        1.65,
        1.6999999999999997,
        1.7499999999999996,
        1.7999999999999998,
        1.8499999999999996,
        1.8999999999999995,
        1.9499999999999997,
        1.9999999999999996,
        2.05,
        2.0999999999999996,
        2.1499999999999995,
        2.1999999999999997,
        2.2499999999999996,
        2.2999999999999994,
        2.3499999999999996,
        2.3999999999999995,
        2.4499999999999993,
        2.4999999999999996,
        2.5499999999999994,
        2.599999999999999,
        2.6499999999999995,
        2.6999999999999993,
        2.7499999999999996,
        2.7999999999999994,
        2.849999999999999,
        2.8999999999999995,
        2.9499999999999993,
        2.9999999999999996
      ],
      "y": [
        59116.36352539059,
        14261.877855225577,
        3968.0,
        1232.8591662947367,
        416.5267169826944,
        149.2898849718692,
        55.247896304380774,
        20.331980407985085,
        6.9225206971168625,
        1.7273476769187024,
        -0.2226466848456896,
        -0.8701304777779022,
        -1.0,
        -0.9355933750956961,
        -0.8103170423971985,
        -0.6777480416364469,
        -0.5576392985761537,
        -0.455568523264,
        -0.3714304396480155,
        -0.3031009236404709,
        -0.24798203918144396,
        -0.20361327029731216,
        -0.16787564376854655,
        -0.1390245590140728,
        -0.11565657587198089,
        -0.09665622248158587,
        -0.08114200759789533,
        -0.06841873723504434,
        -0.057937958008513146,
        -0.049266192441367346,
        -0.042059880949646924,
        -0.036045804075951114,
        -0.03100585937500004,
        -0.026765244862768385,
        -0.02318328450959738,
        -0.02014629400247487,
        -0.01756201958720049,
        -0.015355290066454348,
        -0.013464605743772612,
        -0.011839452645785661,
        -0.010438179775464991,
        -0.009226314858665761,
        -0.008175222784000008,
        -0.007261032842548036,
        -0.0064637775951676005,
        -0.005766698984923724,
        -0.005155687120121026,
        -0.004618824696947565,
        -0.004146015851208453,
        -0.0037286827347334885,
        -0.0033595166127067242,
        -0.003032273007335086,
        -0.00274160254854255
      ],
      "mode": "lines",
      "name": "Harmonic",
      "line": {
        "dash": "dash"
      }
    }
  ],
  "layout": {
    "title": "Lennard-Jones Potential",
    "xaxis": {
      "title": "r",
      "range": [
        0,
        3
      ],
      "tickvals": [
        1
      ],
      "ticktext": [
        "Rmin"
      ]
    },
    "yaxis": {
      "title": "V(r)",
      "range": [
        -1.1,
        0.1
      ],
      "tickvals": [
        -1,
        0
      ],
      "ticktext": [
        "\u03b5",
        "0"
      ]
    },
    "legend": {
      "x": 0.65,
      "y": 0.95
    },
    "margin": {
      "t": 50
    }
  }
}

The first molecular dynamics (MD) simulation of a Lennard–Jones fluid (liquid argon) was published in 1964 by A. Rahman. The calculation simulated 864 particles and required ~45 s per integration step on the CDC 3600 supercomputer. Specialized empirical force fields were developed for large molecular systems, such as proteins, and more efficient computers and codes enabled calculations of the dynamics of thousands of particles to the nanosecond timescale. By the 90s, force fields such as CHARMM were optimized to agree with crystallographic and NMR data about protein structure and dynamics (crystallogrpahic \(\beta\)-factors, NMR J-couplings, NOEs).

Select Milestones