jaxdem.topology#

Derived logical rigid-body topology.

The simulation state keeps particle-shaped rigid-body fields for fast contact kernels. This module provides a padded, body-indexed view without changing the serialized jaxdem.State pytree.

Functions

body_topology(clump_id, fixed)

Derive a padded logical-body view from particle-shaped state fields.

Classes

BodyTopology(member_to_body, representative, ...)

Particle-to-body mapping with at most N padded body slots.

class jaxdem.topology.BodyTopology(member_to_body: Array, representative: Array, valid: Array, fixed: Array, member_count: Array)#

Bases: object

Particle-to-body mapping with at most N padded body slots.

member_to_body: Array#
representative: Array#
valid: Array#
fixed: Array#
member_count: Array#
gather_members(body_values: Array) → Array[source]#

Replicate body-slot values onto their particle members.

gather_representatives(member_values: Array) → Array[source]#

Read one value per body from its representative member.

jaxdem.topology.body_topology(clump_id: Array, fixed: Array) → BodyTopology[source]#

Derive a padded logical-body view from particle-shaped state fields.