Harmonic

The Harmonic potential is a simple and widely used model for bonded interactions in molecular simulations. It represents a linear spring-like force between two particles, providing a quadratic energy penalty for deviations from the equilibrium bond length.

\[U = \frac{1}{2}K(r-r_0)^2\]

where:

  • \(K\) is the spring constant

  • \(r\) is the current distance between the bonded particles

  • \(r_0\) is the equilibrium distance

The Harmonic potential is suitable for modeling covalent bonds in many molecular systems, especially when bond stretching is expected to be small. It’s computationally efficient and provides a good approximation for small deviations from the equilibrium length.


  • type: Bond2, Harmonic

  • parameters: None

  • data:

    • id_i: int: Id of one particle

    • id_j: int: Id of the other particle

    • K : real: Spring constant \([energy]/[distance]^2\)

    • r0 : real: Equilibrium distance \([distance]\)

Example:

"harmonicBonds":{
  "type":["Bond2","Harmonic"],
  "parameters":{},
  "labels":["id_i", "id_j", "K", "r0"],
  "data":[[0, 1, 100.0, 1.0],
          [1, 2, 100.0, 1.0],
          [2, 3, 100.0, 1.0]]
}

HarmonicCommon_K

Harmonic bonds variant with a common spring constant (K) for all bonds.


  • type: Bond2, HarmonicCommon_K

  • parameters:

    • K: real: Common spring constant for all bonds \([energy]/[distance]^2\)

  • data:

    • id_i: int: Id of one particle

    • id_j: int: Id of the other particle

    • r0 : real: Equilibrium distance \([distance]\)

Example:

"harmonicBondsCommonK":{
  "type":["Bond2","HarmonicCommon_K"],
  "parameters":{"K":100.0},
  "labels":["id_i", "id_j", "r0"],
  "data":[[0, 1, 1.0],
          [1, 2, 1.1],
          [2, 3, 0.9]]
}

HarmonicCommon_K_r0

Harmonic bonds variant with common parameters (K and r0) for all bonds.


  • type: Bond2, HarmonicCommon_K_r0

  • parameters:

    • K : real: Common spring constant for all bonds \([energy]/[distance]^2\)

    • r0: real: Common equilibrium distance for all bonds \([distance]\)

  • data:

    • id_i: int: Id of one particle

    • id_j: int: Id of the other particle

Example:

"harmonicBondsCommonKR0":{
  "type":["Bond2","HarmonicCommon_K_r0"],
  "parameters":{"K":100.0,
                "r0":1.0},
  "labels":["id_i", "id_j"],
  "data":[[0, 1],
          [1, 2],
          [2, 3]]
}