Skip to main content
Glama

dem_flow_submit

Simulate sphere discharge from a flat-bottomed hopper through a central orifice with the YADE DEM engine and measure steady mass-flow rate, returning a Beverloo oracle for exponent checks.

Instructions

Discharge spheres from a flat-bottomed hopper box through a central orifice with the REAL YADE discrete-element engine and measure the steady mass-flow rate — gated against granular_screen('beverloo') (flow ∝ outlet^2.5). Submit two outlet_m sizes and feed the (outlet, flow) pair to granular_screen('beverloo_exponent') to check the Beverloo 2.5 exponent (vs the Torricelli 2.0 of a draining fluid). YADE is GPL-3.0 and is run ONLY in a subprocess; runs OFF the MCP channel via a background job.

box_m is the [Lx, Ly, Lz] hopper box (m; default [0.10, 0.10, 0.20]); outlet_m the central orifice diameter; settle_steps/flow_steps the DEM step budgets. Returns {job_id, status, cache_hit, oracle}; the job result carries the Beverloo oracle PLUS {mass_flow_kg_s, n_discharged, discharge_time_s, positions:[...]}. Absent YADE: {ok:false, reason, install, oracle}.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
box_mNo
densityNo
outlet_mNo
radius_mNo
young_paNo
n_spheresNo
flow_stepsNo
friction_degNo
settle_stepsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden and discloses critical behavior: YADE is GPL-3.0, runs ONLY in a subprocess, and executes off the MCP channel as a background job. It also describes the return shape ({job_id, status, cache_hit, oracle}), the job result payload, and the failure mode when YADE is absent, giving an agent rich operational context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but front-loads the core purpose, then moves through workflow, parameters, and returns in a logical order. It is somewhat long and contains minor redundancy around the Beverloo exponent, but no sentence is purely filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex asynchronous DEM simulation with no annotations and no output schema, the description covers purpose, workflow, subprocess/installation constraints, return values, and failure behavior. It falls short on fully explaining five input parameters, but the critical operational context needed to invoke and interpret the tool is present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 9 parameters, so the description must compensate, but it only clarifies box_m format, outlet_m meaning, and settle_steps/flow_steps budgets. It leaves density, radius_m, young_pa, n_spheres, and friction_deg completely undocumented, forcing the agent to guess their physical meaning and units.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: discharging spheres from a hopper through an orifice with the YADE DEM engine to measure steady mass-flow rate. It distinguishes itself from the sibling granular_screen by naming the Beverloo gate and the exact follow-up tool, so an agent can identify its role immediately.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly says to submit two outlet_m sizes and feed the resulting (outlet, flow) pair into granular_screen('beverloo_exponent') to validate the exponent. This gives clear workflow context and a named alternative, though it does not state when not to use this tool or list all prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools