spoon_tilt_critical — DRIVE granular op

• Data kinds: scalar × scalar × scalar → scalar

• Call: import fullseye as fs; fs.ledger.spoon_tilt_critical(phi_deg: 'float', L: 'float', h0: 'float', lip: 'str' = 'wall') -> 'float' (implementation को सीधे call करना हो तो import granular; granular.spoon_tilt_critical(phi_deg: 'float', L: 'float', h0: 'float', lip: 'str' = 'wall') -> 'float', registry से लेना हो तो opsdrive.get("spoon_tilt_critical"))

उपयोग

वह tilt θ_c [degrees] जिस पर चम्मच से powder गिरना शुरू होता है (2-D cross-section, quasi-static, दीवार friction के बिना —— अपनी व्युत्पत्ति)।

मॉडल: तल की लंबाई L (होंठ से पिछली दीवार तक; पिछली दीवार तल के लंबवत), क्षैतिज स्थिति में गहराई h0 तक समतल भरा पाउडर। होंठ नीचे करके तल को θ झुकाया जाता है। पाउडर की मुक्त सतह क्षैतिज से केवल φ (विश्राम कोण) तक ही खड़ी हो सकती है, इसलिए होंठ से गुज़रने वाली ढलान तल से देखने पर φ − θ है।

• lip="wall" (डिफ़ॉल्ट: मुँह पर किनारा है, आरंभ में मुँह तक समतल भरा, प्रारंभिक क्षेत्रफल L h0): रोका जा सकने वाला अनुप्रस्थ काट A(θ) = ½ L² tan(φ − θ) (तल और सतह के बीच की फन्नी) है। जिस झुकाव पर L h0 से अधिक रोका नहीं जा सकता वह θ_c = φ − atan(2 h0 / L) है (atan2 से)। जितना अधिक भरा, उतनी जल्दी गिरता है; h0 → 0 पर θ_c → φ, और θ = φ पर सब निकल जाता है। यदि 2 h0 / L ≥ tan φ हो तो क्षैतिज में भी पहले से रोका नहीं जा सकता (0 लौटाता है)।

• lip="open" (मुँह पर दीवार रहित पात्र): सामने का भाग शुरू से ही विश्राम कोण की ढलान है, इसलिए θ = 0⁺ से ही गिरता है —— हमेशा 0 लौटाता है।

★2026-10-05 तक wall की फन्नी का ढाल tan φ − tan θ लिखा गया था (लघु-कोण सन्निकटन, θ_c = atan(tan φ − 2 h0 / L))। θ = 10 डिग्री और φ = 30 डिग्री पर फन्नी का ढाल 10 % अधिक था, और L 50 mm, h0 5 mm पर θ_c 20.67 डिग्री आता था (सटीक 18.69 डिग्री)। Raises ValueError: φ का (0, 90) से बाहर होना, L / h0 ≤ 0, lip का wall / open के अलावा होना।

संदर्भ (sample data, साहित्य)

• Sample data catalog (DL URL / license) — 2-D के लिए skimage.data (BSD/public) + synthetic, 3-D के लिए real data sources (Stanford/PDS आदि) के DL URL।

• Operators का स्रोत और संदर्भ — इस op family के मूल research/methods के स्रोत।

• Algorithm का मानक स्रोत (लेखक, वर्ष) और उपयोग ऊपर की family usage guide में दिए गए हैं।

चलाए जा सकने वाले उदाहरण (verified samples जो सच में यह op call करते हैं)

• poc_granular_heap_repose — py -3.11 examples/poc_granular_heap_repose.py

वे अगले ops जिनसे type जुड़ता है (scalar को input के रूप में लेते हैं)

spin_from_marker_sequence · carla_transform_matrix · carla_pose_to_world · carla_camera_pose · carla_xy_yaw · carla_scene_load · town_chain · osm_parse

इसी category के (granular)

heap_volume_cone · heap_mass · heap_volume_heightmap · beverloo_rate · beverloo_fit · discharge_synth · dispense_mass_from_video · hopper_discharge_rate


*Provenance: granular.py — DRIVE operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.