Learn R Programming

spatstat.core (version 2.3-1)

LennardJones: The Lennard-Jones Potential

Description

Creates the Lennard-Jones pairwise interaction structure which can then be fitted to point pattern data.

Usage

LennardJones(sigma0=NA)

Arguments

sigma0

Optional. Initial estimate of the parameter \(\sigma\). A positive number.

Value

An object of class "interact" describing the Lennard-Jones interpoint interaction structure.

Rescaling

To avoid numerical instability, the interpoint distances d are rescaled when fitting the model.

Distances are rescaled by dividing by sigma0. In the formula for \(v(d)\) above, the interpoint distance \(d\) will be replaced by d/sigma0.

The rescaling happens automatically by default. If the argument sigma0 is missing or NA (the default), then sigma0 is taken to be the minimum nearest-neighbour distance in the data point pattern (in the call to ppm).

If the argument sigma0 is given, it should be a positive number, and it should be a rough estimate of the parameter \(\sigma\).

The ``canonical regular parameters'' estimated by ppm are \(\theta_1 = 4 \epsilon (\sigma/\sigma_0)^{12}\) and \(\theta_2 = 4 \epsilon (\sigma/\sigma_0)^6\).

Warnings and Errors

Fitting the Lennard-Jones model is extremely unstable, because of the strong dependence between the functions \(d^{-12}\) and \(d^{-6}\). The fitting algorithm often fails to converge. Try increasing the number of iterations of the GLM fitting algorithm, by setting gcontrol=list(maxit=1e3) in the call to ppm.

Errors are likely to occur if this model is fitted to a point pattern dataset which does not exhibit both short-range inhibition and medium-range attraction between points. The values of the parameters \(\sigma\) and \(\epsilon\) may be NA (because the fitted canonical parameters have opposite sign, which usually occurs when the pattern is completely random).

An absence of warnings does not mean that the fitted model is sensible. A negative value of \(\epsilon\) may be obtained (usually when the pattern is strongly clustered); this does not correspond to a valid point process model, but the software does not issue a warning.

Details

In a pairwise interaction point process with the Lennard-Jones pair potential (Lennard-Jones, 1924) each pair of points in the point pattern, a distance \(d\) apart, contributes a factor $$ v(d) = \exp \left\{ - 4\epsilon \left[ \left( \frac{\sigma}{d} \right)^{12} - \left( \frac{\sigma}{d} \right)^6 \right] \right\} $$ to the probability density, where \(\sigma\) and \(\epsilon\) are positive parameters to be estimated.

See Examples for a plot of this expression.

This potential causes very strong inhibition between points at short range, and attraction between points at medium range. The parameter \(\sigma\) is called the characteristic diameter and controls the scale of interaction. The parameter \(\epsilon\) is called the well depth and determines the strength of attraction. The potential switches from inhibition to attraction at \(d=\sigma\). The maximum value of the pair potential is \(\exp(\epsilon)\) occuring at distance \(d = 2^{1/6} \sigma\). Interaction is usually considered to be negligible for distances \(d > 2.5 \sigma \max\{1,\epsilon^{1/6}\}\).

This potential is used to model interactions between uncharged molecules in statistical physics.

The function ppm(), which fits point process models to point pattern data, requires an argument of class "interact" describing the interpoint interaction structure of the model to be fitted. The appropriate description of the Lennard-Jones pairwise interaction is yielded by the function LennardJones(). See the examples below.

References

Lennard-Jones, J.E. (1924) On the determination of molecular fields. Proc Royal Soc London A 106, 463--477.

See Also

ppm, pairwise.family, ppm.object

Examples

Run this code
# NOT RUN {
   badfit <- ppm(cells ~1, LennardJones(), rbord=0.1)
   badfit

   fit <- ppm(unmark(longleaf) ~1, LennardJones(), rbord=1)
   fit
   plot(fitin(fit))
   # Note the Longleaf Pines coordinates are rounded to the nearest decimetre
   # (multiple of 0.1 metres) so the apparent inhibition may be an artefact
# }

Run the code above in your browser using DataLab