jaxdem.forces.lennardjones#
Classes
|
Lennard-Jones (LJ) 12-6 interaction with a per-pair cutoff and energy shift. |
- class jaxdem.forces.lennardjones.LennardJones(laws: Tuple[ForceModel, ...] = ())[source]#
Bases:
ForceModelLennard-Jones (LJ) 12-6 interaction with a per-pair cutoff and energy shift.
- Uses material-pair parameter:
epsilon_eff[mi, mj]
The length scale \(\sigma_{ij}\) is derived from particle radii (like spring.py):
\[\sigma_{ij} = R_i + R_j\]Potential (for \(r < r_c = 2.5 \sigma_{ij}\)):
\[U(r) = 4 \epsilon \left[\left(\frac{\sigma}{r}\right)^{12} - \left(\frac{\sigma}{r}\right)^6 \right] - U(r_c)\]else:
\[U(r) = 0\]Force (for \(r < r_c\)):
\[\mathbf{F} = 24 \epsilon \left(2 \left(\frac{\sigma}{r}\right)^{12} - \left(\frac{\sigma}{r}\right)^6\right) \frac{1}{r^2}\, \mathbf{r}_{ij}\]- RC_FACTOR: ClassVar[float] = 2.5#
- static force(i: int, j: int, pos: jax.Array, state: State, system: System) Tuple[jax.Array, jax.Array][source][source]#
- static energy(i: int, j: int, pos: jax.Array, state: State, system: System) jax.Array[source][source]#
- property required_material_properties: Tuple[str, ...][source]#
A static tuple of strings specifying the material properties required by this force model.
These properties (e.g., ‘young_eff’, ‘restitution’, …) must be present in the
System.mat_tablefor the model to function correctly. This is used for validation.