granular op• Datenarten: scalar × scalar × scalar → scalar
• Aufruf: import fullseye as fs; fs.ledger.spoon_tilt_critical(phi_deg: 'float', L: 'float', h0: 'float', lip: 'str' = 'wall') -> 'float' (die Implementierung direkt: import granular; granular.spoon_tilt_critical(phi_deg: 'float', L: 'float', h0: 'float', lip: 'str' = 'wall') -> 'float'; aus dem Register: opsdrive.get("spoon_tilt_critical"))
Neigung θ_c [Grad], bei der Pulver aus einem Löffel zu rieseln beginnt (2-D-Querschnitt, quasistatisch, ohne Wandreibung — eigene Herleitung).
Modell: Bodenlänge L (von der Lippe bis zur Rückwand; die Rückwand steht senkrecht zum Boden), in horizontaler Lage eben bis zur Tiefe h0 aufgehäuftes Pulver. Senken der Lippe kippt den Boden um θ. Die freie Oberfläche des Pulvers kann sich gegenüber der Horizontalen nur bis φ (Schüttwinkel) aufrichten, daher ist die Böschung durch die Lippe vom Boden aus gesehen φ − θ.
• lip="wall" (Standard: die Öffnung hat einen Rand und ist anfangs eben bis zur Öffnung gefüllt, Anfangsfläche L h0): Der haltbare Querschnitt ist A(θ) = ½ L² tan(φ − θ) (Keil zwischen Boden und Oberfläche). Die Neigung, ab der mehr als L h0 nicht mehr gehalten werden kann, ist θ_c = φ − atan(2 h0 / L) (mit atan2). Je voller, desto früher läuft es über; für h0 → 0 gilt θ_c → φ, bei θ = φ kommt alles heraus. Ist 2 h0 / L ≥ tan φ, kann es schon horizontal nicht gehalten werden (gibt 0 zurück).
• lip="open" (Gefäß ohne Wand an der Öffnung): Die Vorderseite ist von Anfang an eine Böschung im Schüttwinkel, daher läuft es ab θ = 0⁺ über —— gibt immer 0 zurück.
★Bis 2026-10-05 war die Keilneigung für wall als tan φ − tan θ geschrieben (Kleinwinkelnäherung, θ_c = atan(tan φ − 2 h0 / L)). Bei θ = 10 Grad und φ = 30 Grad war die Keilneigung um 10 % zu groß, und bei L 50 mm und h0 5 mm ergab sich θ_c = 20.67 Grad (exakt 18.69 Grad). Raises ValueError: φ außerhalb von (0, 90), L / h0 ≤ 0, lip weder wall noch open.
• Katalog der Beispieldaten (Download-URLs / Lizenzen) — 2-D nutzt skimage.data (BSD/Public Domain) plus synthetische Bilder, 3-D nennt Download-URLs echter Datenquellen (Stanford, PDS, …).
• Herkunft und Literatur der Operatoren — die Quellen der Forschung/Verfahren, auf denen diese Operatorfamilie beruht.
• Der kanonische Algorithmus (Autor, Jahr) und seine Anwendungen stehen im Familienleitfaden oben.
• poc_granular_heap_repose — py -3.11 examples/poc_granular_heap_repose.py
scalar als Eingabe)spin_from_marker_sequence · carla_transform_matrix · carla_pose_to_world · carla_camera_pose · carla_xy_yaw · carla_scene_load · town_chain · osm_parse
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. Diese Notiz wird von tools/opdocs.py md erzeugt (nicht von Hand bearbeiten).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.