piv_divergence — PIV field op

• Data kinds: flow2d → image2d

• Call: import fullseye as fs; fs.ledger.piv_divergence(flow, spacing=1.0) (implementation को सीधे call करना हो तो import pivops; pivops.piv_divergence(flow, spacing=1.0), registry से लेना हो तो opspiv.get("piv_divergence"))

उपयोग

divergence d(dy)/dy + d(dx)/dx। incompressible हो तो 0 — स्वतंत्र cross-check के लिए उपयोगी।

Formula: gradient(flow[0], spacing, axis=0) + gradient(flow[1], spacing, axis=1) (numpy.gradient: अंदर central differences, grid के किनारों पर one-sided differences)। flow[0] row दिशा में displacement dy है, flow[1] column दिशा में displacement dx, x = column, y = row। Rows के नीचे की ओर होने पर भी divergence का sign axis orientation पर निर्भर नहीं करता (vorticity piv_vorticity के विपरीत, यह नहीं पलटता)। धनात्मक = source, ऋणात्मक = sink।

• flow: (2, h, w), components (dy, dx) [px/frame] (piv_cross_correlate / piv_multipass का return value)। जब तक h, w >= 2 न हो, इसका differentiation नहीं हो सकता, इसलिए ValueError (जब window इतनी बड़ी हो कि केवल 1 vector हो)। Finiteness जाँची नहीं जाती ―― piv_replace_outliers(method="nan") का NaN 2 पड़ोसी cells तक फैल जाता है।

• spacing: vector spacing [px], एक धनात्मक finite मान। info["step"] दें (default 1.0 पर छोड़ने से unit "1/vector spacing" बन जाती है)।

• Return value: (h, w) float64, unit 1/frame (जब spacing px में हो)। piv_to_velocity से m/s में बदले field और m में spacing के साथ, यह 1/s है।

2-D PIV में out-of-plane velocity component इसे non-zero बनाता है, इसलिए "incompressible, फिर भी divergence बड़ा" out-of-plane flow या outliers (piv_outlier_mask) का संकेत है। piv_velocity_gradient सभी 4 components लौटाता है।

उपयोग की विस्तृत guide

• piv_displacement family guide

संदर्भ (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 करते हैं)

• piv_flow_from_particles — py -3.11 examples/piv_flow_from_particles.py

• poc_what_a_picture_cannot_check — py -3.11 examples/poc_what_a_picture_cannot_check.py

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

piv_cross_correlate · piv_multipass · piv_deform_pass · strain_from_displacement · correlation_quality · speckle_quality

इसी category के (field)

piv_vorticity · piv_flow_magnitude · piv_to_velocity · piv_velocity_gradient · piv_q_criterion · piv_swirling_strength · piv_strain_rate


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

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