tud_lbm.io.analysis.accelerations.regime_classification ======================================================= .. py:module:: tud_lbm.io.analysis.accelerations.regime_classification .. autoapi-nested-parse:: Classify a droplet run into pinning / viscous / inertial / unknown. Built on top of :mod:`tud_lbm.io.analysis.accelerations.acceleration_analysis`: pinning is decided directly from the centroid excursion, while viscous/inertial/unknown are decided from the sign of the Ca(t) slope within the acceleration-derived slope window. Classes ------- .. autoapisummary:: tud_lbm.io.analysis.accelerations.regime_classification.Regime tud_lbm.io.analysis.accelerations.regime_classification.RegimeResult Functions --------- .. autoapisummary:: tud_lbm.io.analysis.accelerations.regime_classification.is_pinned tud_lbm.io.analysis.accelerations.regime_classification.classify_regime Module Contents --------------- .. py:class:: Regime Bases: :py:obj:`enum.StrEnum` Centralized regime labels used by acceleration-based classification. .. py:attribute:: PINNING :value: 'Pinning' .. py:attribute:: DISSIPATIVE :value: 'Dissipative' .. py:attribute:: INERTIAL :value: 'Inertial' .. py:attribute:: UNKNOWN :value: 'unknown' .. py:class:: RegimeResult Bases: :py:obj:`NamedTuple` Outcome of regime classification for one run. .. py:attribute:: regime :type: Regime .. py:attribute:: slope :type: float | None .. py:attribute:: is_pinned :type: bool .. py:attribute:: window :type: tuple[int, int] | None .. py:function:: is_pinned(cm_x: numpy.ndarray, r_zero: float) -> bool True when the centroid excursion is below half the initial radius. .. py:function:: classify_regime(cm_x: numpy.ndarray, r_zero: float, accel_result: tud_lbm.io.analysis.accelerations.acceleration_analysis.AccelerationResult) -> RegimeResult Classify a run as pinning, viscous, inertial, or unknown. Pinning takes priority and does not require acceleration data. Otherwise, the slope of ``Ca`` vs iteration is fit within the acceleration-derived slope window: negative slope is viscous, non-negative is inertial. No usable window (no clean peak pair, or fewer than two points) is unknown.