Open
Conversation
Validates 2D hopper mass flow rate against the Beverloo correlation: W = C * rho_bulk * sqrt(g) * (D - k*d)^(3/2) * depth Includes multi-stage simulation (fill → settle → discharge), particle count tracking, and a sweep script for multiple orifice widths (5d, 8d, 12d, 16d). Python scripts provide quantitative validation (PASS/FAIL) and publication-quality comparison plots. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Use per-particle KE threshold (1e-7 J) instead of total KE (1e-6 J) to avoid scaling issues with particle count - Reduce particles from 3000 to 800 and steps from 6M to 600k total for ~5 min runtime across all orifice widths - Lower restitution from 0.5 to 0.3 for faster energy dissipation - Reduce container height from 120mm to 80mm to match fewer particles - Change orifice sweep to 3 widths (6d, 10d, 15d) for good Beverloo fit - Use packing fraction phi=0.58 in Beverloo formula (rho_bulk, not rho_particle) - Set tolerance to 50% (appropriate for ~800-particle DEM systems) - Record particle count every 200 steps (was 500) for better statistics - Default orifice changed to 10d (was 8d) - Update README with corrected physics and setup description Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
examples/bench_beverloo_hopper/— a self-contained benchmark that validates hopper mass flow rate against the 2D Beverloo correlation:W = C * rho_bulk * sqrt(g) * (D - k*d)^(3/2) * depthrun_sweep.sh) tests 4 orifice widths (5d, 8d, 12d, 16d) against theoryvalidate.py) gives PASS/FAIL per orifice width (±30% tolerance)plot.py) comparing W vs (D−k·d) on log-log axesTest plan
cargo build --example bench_beverloo_hopper --no-default-featurescompilescargo test --no-default-features --workspaceall tests passcargo run --release --example bench_beverloo_hopper --no-default-features -- examples/bench_beverloo_hopper/config.tomlbash examples/bench_beverloo_hopper/run_sweep.shpython3 examples/bench_beverloo_hopper/validate.py🤖 Generated with Claude Code