jaxdem.domains.free#

Unbounded (free) simulation domain.

Classes

FreeDomain(box_size, inv_box_size, anchor)

A Domain implementation for an unbounded, "free" space.

class jaxdem.domains.free.FreeDomain(box_size: Array, inv_box_size: Array, anchor: Array)#

Bases: Domain

A Domain implementation for an unbounded, “free” space.

A FreeDomain applies no explicit boundary conditions to particles. Particles can move indefinitely in any direction. The “simulation box” only defines the bounding box of the system.

Notes

  • The apply method updates the box_size and anchor attributes to encompass all particles. Some hashing tools require the domain size.

static apply(state: State, system: System) tuple[State, System][source]#

Update the domain anchor and box_size of the System to encompass all particles.

This method does not transform the state.

Parameters:
  • state (State) – The current state of the simulation.

  • system (System) – The current system configuration.

Returns:

The original State object (unchanged) and the System object with updated domain.anchor and domain.box_size.

Return type:

Tuple[State, System]