Stillinger-Weber

Use this empirical model directly via the Python API:

from graph_pes.models import StillingerWeber
model = StillingerWeber()
model.predict_energy(graph)

# or monatomic water
model = StillingerWeber.monatomic_water()
model.predict_energy(graph)

or within a graph-pes-train configuration file to train a new model.

model:
   +StillingerWeber:
     sigma: 3

Definition

class graph_pes.models.StillingerWeber(
lambda_=21.0,
epsilon=2.1682,
sigma=2.0951,
A=(7.049556277, False),
B=(0.6022245584, False),
a=(1.8, False),
p=(4, False),
q=(0, False),
gamma=(1.2, False),
)[source]

The Stillinger-Weber potential predicts the total energy as a sum over two-body and three-body interactions:

\[E = \epsilon \sum_i \sum_{j>i} \varphi_2(r_{ij}) + \zeta \epsilon \cdot \sum_i \sum_{j \ne i} \sum_{k>j} \varphi_3(r_{ij}, r_{ik}, \theta_{ijk})\]

where:

\[\varphi_2(r) = A \left[ B \left( \frac{\sigma}{r} \right)^p - \left( \frac{\sigma}{r} \right)^q \right] \exp\left( \frac{\sigma}{r-a\sigma} \right)\]
\[\varphi_3(r, s, \theta) = [\cos \theta - \cos \theta_0]^2 \exp\left( \frac{\gamma \sigma}{r - a\sigma} \right) \exp\left( \frac{\gamma \sigma}{s - a\sigma} \right)\]

Default parameters are given for the original Stillinger-Weber potential, and hence are appropriate for modelling Si.

When a parameter expects a tuple[float, bool], the first element is the value of the parameter and the second is a boolean indicating whether the parameter should be trainable.

Parameters:
  • lambda – The weight of the three-body term. Usually in the range 20-25.

  • epsilon (float) – The energy scale.

  • sigma (float) – The energy minimum

  • A (tuple[float, bool]) – The two-body prefactor

  • B (tuple[float, bool]) – The two-body exponent

  • a (tuple[float, bool]) – Sets the cutoff as \(a \sigma\)

  • p (tuple[float, bool]) – The repulsive two-body exponent

  • q (tuple[float, bool]) – The attractive two-body exponent

  • gamma (tuple[float, bool]) – The three-body exponent

classmethod monatomic_water()[source]

The Stillinger-Weber potential for monatomic water with \(\epsilon = 0.268381\), \(\sigma = 2.3925\), and \(\lambda = 23.15\).

This potential expects as input a structure containing just the oxygen atoms.

Return type:

StillingerWeber