jaxdem.forces.wca_shifted#

Contact-start, force-shifted Weeks-Chandler-Andersen repulsion.

Classes

WCAShifted([laws])

Contact-start, force-shifted WCA/LJ repulsion.

class jaxdem.forces.wca_shifted.WCAShifted(laws: tuple[ForceModel, ...] = ())#

Bases: ForceModel

Contact-start, force-shifted WCA/LJ repulsion.

The interaction starts at contact:

  • cutoff at \(r_c = \sigma_{ij}\) where \(\sigma_{ij} = R_i + R_j\)

  • \(U(r_c) = 0\)

  • \(F(r_c) = 0\) (force-shifted; smooth turn-on at contact)

The model reads the material-pair parameter epsilon_eff[mi, mj].

search_radii(state: State, system: System) → jax.Array[source]#

Conservative search extent for this law’s finite interaction range.

static force(i: int, j: int, pos: jax.Array, state: State, system: System, history: jax.Array, *, advance_history: bool = True, quasistatic: bool = False) → tuple[jax.Array, jax.Array, jax.Array][source]#
static energy(i: int, j: int, pos: jax.Array, state: State, system: System, history: jax.Array) → jax.Array[source]#
property required_material_properties: tuple[str, ...][source]#

Names of the material properties this force model needs.

Each name (for example ‘young_eff’ or ‘restitution’) must be present in System.mat_table. Used for validation.