Linearly truncated Lennard-Jones potential

This module implements the Lennard-Jones potential with a linear truncation scheme (which is equivalent to a shifted force),

U_\text{LJ}\left(r_{ij}\right) = 4\epsilon_{ij} \left(
  - \left(\frac{\sigma_{ij}}{r_{ij}}\right)^6
  + (r_{ij} - r_c)\cdot F_c

for the interaction between two particles of species i and j. Here, r_c denotes the cutoff distance and F_c = -
U_\text{LJ}\prime(r_c) the force at the cutoff for the untruncated potential.

This linear truncation scheme modifies the potential drastically and at all distances by adding a constant force, and we do not recommend it for future work. It is mainly provided for historical reasons to connect to existing data and publications. Please refer to the local r⁴ truncation scheme for an alternative.


  1. S. K. Das, J. Horbach, K. Binder, M. E. Fisher, and J. V. Sengers, J. Chem. Phys. 125, 024506 (2006)
  2. S. Toxvaerd and J. C. Dyre, J. Chem. Phys. 134, 081102 (2011)
  3. S. Toxvaerd, O. J. Heilmann, and J. C. Dyre, J. Chem. Phys. 136, 224106 (2012)
class halmd.mdsim.potentials.pair.lennard_jones_linear(args)

Construct linearly truncated Lennard-Jones potential.

  • args (table) – keyword arguments
  • args.epsilon (table) – matrix with elements \epsilon_{ij} (default: 1)
  • args.sigma (table) – matrix with elements \sigma_{ij} (default: 1)
  • args.cutoff (table) – matrix with elements r_{\text{c}, ij}
  • args.species (number) – number of particle species (optional)
  • args.memory (string) – select memory location (optional)
  • args.label (string) – instance label (optional)

If the argument species is omitted, it is inferred from the first dimension of the parameter matrices.

If all elements of a matrix are equal, a scalar value may be passed instead which is promoted to a square matrix of size given by the number of particle species.

The supported values for memory are “host” and “gpu”. If memory is not specified, the memory location is selected according to the compute device.


The cutoff is only relevant with halmd.mdsim.forces.pair_trunc.


Matrix with elements \epsilon_{ij}.


Matrix with elements \sigma_{ij}.


Matrix with elements r_{\text{c}, ij} in reduced units.


Matrix with elements r_{\text{c}, ij} in units of \sigma_{ij}.


Name of potential for profiler.


Device where the particle memory resides.