tud_lbm.io.analysis.accelerations.regime_classification

Classify a droplet run into pinning / viscous / inertial / unknown.

Built on top of 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

Regime

Centralized regime labels used by acceleration-based classification.

RegimeResult

Outcome of regime classification for one run.

Functions

is_pinned(→ bool)

True when the centroid excursion is below half the initial radius.

classify_regime(→ RegimeResult)

Classify a run as pinning, viscous, inertial, or unknown.

Module Contents

class tud_lbm.io.analysis.accelerations.regime_classification.Regime[source]

Bases: enum.StrEnum

Centralized regime labels used by acceleration-based classification.

PINNING = 'Pinning'[source]
DISSIPATIVE = 'Dissipative'[source]
INERTIAL = 'Inertial'[source]
UNKNOWN = 'unknown'[source]
class tud_lbm.io.analysis.accelerations.regime_classification.RegimeResult[source]

Bases: NamedTuple

Outcome of regime classification for one run.

regime: Regime[source]
slope: float | None[source]
is_pinned: bool[source]
window: tuple[int, int] | None[source]
tud_lbm.io.analysis.accelerations.regime_classification.is_pinned(cm_x: numpy.ndarray, r_zero: float) bool[source]

True when the centroid excursion is below half the initial radius.

tud_lbm.io.analysis.accelerations.regime_classification.classify_regime(cm_x: numpy.ndarray, r_zero: float, accel_result: tud_lbm.io.analysis.accelerations.acceleration_analysis.AccelerationResult) RegimeResult[source]

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.