Skip to content

phase_jump_detection_3D

PhaseJumpDetection3D

Bases: RotorDetection

Implements phase jump method of rotor detection on 3D irregular meshes.

Given sorted neighbor rings, calculates the amount of odd phasejumps in each ring and classifies these points as Phase Singularity points. Phasejumps are defined as differences in neighboring phases larger than a threshold. Based on: doi: 10.3414/me0427

include_nan = False instance-attribute

neighbor_rings = None instance-attribute

__init__(phases)

calc_neighbor_rings(coords, edges, radius)

Indices of clockwise sorted points on ring i < n_rings around node j < N. Shape of each array is (N, n_ring_points).

detect()

Calculate phase singularities defined as loops containing a summed phase difference between neighboring points, restricted to [-pi, pi], equal to ±2kpi where k != 0.

Returns:

Type Description
DataFrame

pd.DataFrame: Dataframe with columns: - "t_ind": Time index. - "node_ind": Node index. - "direction": Singularity direction. - "ring_nodes": Nodes on the ring. - "ring_radius": Radius of the ring. - "phase_index": Index of phase singularity.

set_include_nan(include_nan=True)

Include NaN phase differences in the calculation. Defaults to False.

set_neighbor_rings(neighbor_rings)