jaxdem.colliders.sweep_and_prune#
Sweep and prune \(O(N log N)\) collider implementation.
Functions
|
|
|
|
|
Compute linear spring-like interaction force acting on particle \(i\) due to particle \(j\). |
|
|
Pad odd-dimensional vectors to an even size (Pallas kernel limitation). |
|
|
|
|
Classes
- jaxdem.colliders.sweep_and_prune.pad_to_power2(x: Array) Array[source][source]#
Pad odd-dimensional vectors to an even size (Pallas kernel limitation).
- jaxdem.colliders.sweep_and_prune.sap_kernel_full(state_ref: Any, system_ref: Any, aabb_ref: Array, m_ref: Array, M_ref: Array, HASH_ref: Array, forces_ref: Array) None[source][source]#
- jaxdem.colliders.sweep_and_prune.compute_hash(state: Any, proj_perp: Array, aabb: Array, shift: Array) Array[source][source]#
- jaxdem.colliders.sweep_and_prune.compute_virtual_shift(m: Array, M: Array, HASH: Array) Tuple[Array, Array][source][source]#
- jaxdem.colliders.sweep_and_prune.sort(state: State, iota: jax.Array, m: jax.Array, M: jax.Array) Tuple[State, jax.Array, jax.Array, jax.Array][source][source]#
- jaxdem.colliders.sweep_and_prune.force(i: int, j: int, state: State, system: System) Tuple[jax.Array, jax.Array][source][source]#
Compute linear spring-like interaction force acting on particle \(i\) due to particle \(j\).
Returns zero when \(i = j\).
- class jaxdem.colliders.sweep_and_prune.SweepAndPrune[source]#
Bases:
Collider
- jaxdem.colliders.sweep_and_prune.SweeAPrune#
alias of
SweepAndPrune