Morse potential¶
This module implements the (distorted) Morse potential,
for the interaction between two particles of species and . This form of the potential contains a distortion parameter , which is also denoted as in the literature. The original Morse potential is obtained for and is conveniently written as
The potential minimum is at . The inverse length is also referred to as stiffness parameter.

class
halmd.mdsim.potentials.pair.
morse
(args)¶ Construct Morse potential.
Parameters:  args (table) – keyword arguments
 args.epsilon (table) – matrix with elements (default:
1
)  args.sigma (table) – matrix with elements (default:
1
)  args.r_min (table) – position of the potential well (equilibrium distance)
 args.distortion (table) – distortion parameter (default:
1
)  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”. Ifmemory
is not specified, the memory location is selected according to the compute device.Note
The keyword
minimum
has been deprecated since version 1.1.0. Please user_min
instead. For backwards compatibility, values passed viaminimum
are converted tor_min
, i.e., multiplied bysigma
.
epsilon
¶ Matrix with elements .

sigma
¶ Matrix with elements .

r_min
¶ Matrix with equilibrium distance in simulation units.

r_min_sigma
¶ Matrix with elements .

distortion
¶ Matrix with elements .

r_cut
¶  Matrix with cutoff radius in simulation units.This attribute is only available after truncation of the potential (see below).

r_cut_sigma
¶  Matrix with elements .This attribute is only available after truncation of the potential (see below).

description
¶ Name of potential for profiler.

memory
¶ Device where the particle memory resides.

truncate
(args)¶ Truncate potential. See Potential truncations for available truncations.
Parameters:  args (table) – keyword argument
 args[1] (string) – name of truncation type
 cutoff (table) – matrix with elements
 args.* (any) – additional arguments depend on the truncation type
Returns: truncated potential
Example:
potential = potential:truncate({"smooth_r4", cutoff = 5, h = 0.05})

modify
(args)¶ Apply potential modification. See Potential modifications for available modifications.
Parameters:  args (table) – keyword argument
 args[1] (string) – name of modification type
 args.* (any) – additional arguments depend on the modification type
Returns: modified potential
Example:
potential = potential:modify({"hard_core", radius = 0.5})