jax_md_mod.custom_energy.stillinger_weber_energy#
- stillinger_weber_energy(dr, d_vect, mask=None, a=7.049556277, b=0.6022245584, p=4, lam=21.0, epsilon=2.16826, gamma=1.2, sigma=2.0951, cutoff=3.77118, three_body_strength=1.0)[source]#
Computes the stiling weber potential.
The Stillinger-Weber (SW) potential [1] is commonly used to model silicon and similar systems. This function uses the default SW parameters from the original paper. The SW potential was originally proposed to model diamond in the diamond crystal phase and the liquid phase, and is known to give unphysical amorphous configurations [2] [3]. For this reason, we provide a three_body_strength parameter. Changing this number to $1.5$ or $2.0$ has been known to produce more physical amorphous phase, preventing most atoms from having more than four nearest neighbors. Note that this function currently assumes nearest-image-convention.
References
- Parameters:
dr – A ndarray of pairwise distances between particles
d_vect – An ndarray of pairwise displacements between particles
a – A scalar that determines the scale of two-body term
b – Factor for radial power term
p – Power in radial interaction
lam – A scalar that determines the scale of the three-body term
epsilon – A scalar that sets the energy scale
gamma – Exponential scale in three-body term
sigma – A scalar that sets the length scale
cutoff – Cut-off value defined as sigma * a
three_body_strength – A scalar that determines the relative strength of the angular interaction
mask – ndarray of size dr masking non-existing neighbors in neighborlist (if applicable)
- Returns:
The Stilinger-Weber energy for a snapshot.