Learn R Programming

spatstat (version 1.11-4)

LennardJones: The Lennard-Jones Potential

Description

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

Usage

LennardJones()

Arguments

Value

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

Details

In a pairwise interaction point process with the Lennard-Jones pair potential, each pair of points in the point pattern, a distance $d$ apart, contributes a factor $$\exp \left{ - \left( \frac{\sigma}{d} \right)^{12} + \tau \left( \frac{\sigma}{d} \right)^6 \right}$$ to the probability density, where $\sigma$ and $\tau$ 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. Roughly speaking, $\sigma$ controls the scale of both types of interaction, and $\tau$ determines the strength of attraction. The potential switches from inhibition to attraction at $d=\sigma/\tau^{1/6}$. Maximum attraction occurs at distance $d = (\frac 2 \tau)^{1/6} \sigma$ and the maximum achieved is $\exp(\tau^2/4)$. Interaction is negligible for distances $d > 2 \sigma \max{1,\tau^{1/6}}$.

This potential is used (in a slightly different parameterisation) 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. The ``canonical regular parameters'' estimated by ppm are $\theta_1 = \sigma^{12}$ and $\theta_2 = \tau \sigma^6$.

See Also

ppm, pairwise.family, ppm.object

Examples

Run this code
X <- rpoispp(100)
   ppm(X, ~1, LennardJones(), correction="translate")
   # Typically yields very small values for theta_1, theta_2
   # so the values of sigma, tau may not be sensible
##########
   # How to plot the pair potential function (exponentiated)
   plotLJ <- function(sigma, tau) {
        dmax <- 2 * sigma * max(1, tau)^(1/6)
        d <- seq(dmax * 0.0001, dmax, length=1000)
        plot(d, exp(- (sigma/d)^12 + tau * (sigma/d)^6), type="l",
                ylab="Lennard-Jones",
                main=substitute(list(sigma==s, tau==t),
                     list(s=sigma,t=tau)))
        abline(h=1, lty=2)
   }
   plotLJ(1,1)

Run the code above in your browser using DataLab