jaxdem.utils.jamming#
Jamming routines. https://doi.org/10.1103/PhysRevE.68.011306.
Functions
|
Find the nearest jammed state for a given state and system. |
- jaxdem.utils.jamming.bisection_jam(state: State, system: System, n_minimization_steps: int = 1000000, pe_tol: float = 1e-16, pe_diff_tol: float = 1e-16, n_jamming_steps: int = 10000, packing_fraction_tolerance: float = 1e-10, packing_fraction_increment: float = 0.001) tuple[State, System, jax.Array, jax.Array][source]#
Find the nearest jammed state for a given state and system. Uses bisection search with state reversion.
- Parameters:
state (State) – The state to jam.
system (System) – The system to jam.
n_minimization_steps (int, optional) – The number of steps to take in the minimization. Should be large. Typically 1e6.
pe_tol (float, optional) – The tolerance for the potential energy. Should be very small. Typically 1e-16.
pe_diff_tol (float, optional) – The tolerance for the difference in potential energy across subsequent steps. Should be very small. Typically 1e-16.
n_jamming_steps (int, optional) – The number of steps in the jamming loop. Typically 1e3.
packing_fraction_tolerance (float, optional) – The tolerance for the packing fraction to determine convergence. Typically 1e-10
packing_fraction_increment (float, optional) – The initial increment for the packing fraction. Typically 1e-3. Larger increments make it faster in the unjammed region, but makes minimization of the earliest detected jammed states take much longer.
- Returns:
The jammed state/system plus final packing fraction and potential energy.
- Return type: