dem_pack_submit
Submit a YADE discrete-element simulation to settle monodisperse spheres under gravity, measuring the random close-packing fraction and returning a job ID for background polling.
Instructions
Pour N monodisperse spheres into a box and settle them under gravity with the REAL YADE discrete-element engine, then measure the random close-packing fraction φ of the settled bed — gated against granular_screen('packing') (RCP band 0.60–0.66, well below the crystalline 0.7405). YADE is GPL-3.0 and is run ONLY in a subprocess (the parent never imports it — same arm's-length isolation as the GPL Elmer/OpenFOAM binaries). Runs OFF the MCP channel via a background job, so a multi-second settle never blocks the worker.
box_m is the [Lx, Ly] floor footprint (m; default [0.06, 0.06]); the column
height is sized to hold n_spheres. friction_deg is the inter-particle
friction angle; young_pa the contact modulus; density the grain density.
Returns {job_id, status, cache_hit, oracle} (poll job_status / job_result);
the job result carries the oracle band PLUS the measured {packing_fraction,
in_band, n_settled, settled_height_m, mean_coordination, positions:[[x,y,z,r]]}.
Absent YADE: {ok:false, reason, install, oracle}.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| box_m | No | ||
| steps | No | ||
| density | No | ||
| radius_m | No | ||
| young_pa | No | ||
| n_spheres | No | ||
| friction_deg | No |