phasefield
PhaseField
Container for phase field data derived from LATs or signals on a mesh.
Attributes:
| Name | Type | Description |
|---|---|---|
points |
ndarray
|
3D coordinates of the mesh points. |
faces |
ndarray
|
connectivity array. Faces must contain padding indicating the number of points in the face. For example, the two faces [10, 11, 12] and [20, 21, 22, 23] will be represented as [3, 10, 11, 12, 4, 20, 21, 22, 23]. |
phases |
ndarray
|
Phase values for each point and time step. |
time_axis |
ndarray
|
Time points corresponding to the phases. |
face_masks |
ndarray
|
Boolean mask per face and time step. |
edge_ids = self._build_edge_ids()
instance-attribute
face_masks = np.full((self.n_faces, phases.shape[1]), True)
instance-attribute
faces = faces
instance-attribute
phase_diffs = self._build_face_phase_diffs()
instance-attribute
phases = phases
instance-attribute
points = points
instance-attribute
time_axis = np.arange(phases.shape[-1]) if time_axis is None else time_axis
instance-attribute
__init__(points, faces, phases, time_axis=None)
Initialize the phase field.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
points |
ndarray
|
3D coordinates of the mesh points (M, 3). |
required |
faces |
ndarray
|
connectivity array. Faces must contain padding indicating the number of points in the face. For example, the two faces [10, 11, 12] and [20, 21, 22, 23] will be represented as [3, 10, 11, 12, 4, 20, 21, 22, 23]. |
required |
phases |
ndarray
|
Phase values for each point and time step. |
required |
time_axis |
array
|
Time points corresponding to the phases. |
None
|
copy()
Create a copy of the PhaseField object.
from_lats(points, faces, lats, start=None, stop=None, dt=1.0)
classmethod
Generate a sawtooth phase map from local activation times (LATs).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
points |
ndarray
|
3D coordinates of the mesh points (M, 3). |
required |
faces |
ndarray
|
connectivity array. Faces must contain padding indicating the number of points in the face. For example, the two faces [10, 11, 12] and [20, 21, 22, 23] will be represented as [3, 10, 11, 12, 4, 20, 21, 22, 23]. |
required |
lats |
ndarray
|
Array of LATs (shape: n_points, n_cycles). |
required |
start |
float | None
|
Start time. Defaults to None. |
None
|
stop |
float | None
|
Stop time. Defaults to None. |
None
|
dt |
float
|
Time step. Defaults to 1.0. |
1.0
|
Returns:
| Name | Type | Description |
|---|---|---|
PhaseField |
PhaseField
|
Constructed phase field object. |
from_periodic_lat(points, faces, initial_lats, period, num_of_period=3, start=None, stop=None, dt=1.0)
classmethod
Construct a PhaseField by extrapolating a single LAT value periodically.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
points |
ndarray
|
3D coordinates of the mesh points (M, 3). |
required |
faces |
ndarray
|
connectivity array. Faces must contain padding indicating the number of points in the face. For example, the two faces [10, 11, 12] and [20, 21, 22, 23] will be represented as [3, 10, 11, 12, 4, 20, 21, 22, 23]. |
required |
initial_lats |
ndarray
|
Array of LATs (shape: n_points,). |
required |
period |
float
|
LAT repetition period. |
required |
num_of_period |
int
|
Number of repeated periods. Defaults to 3. |
3
|
start |
float | None
|
Start time. Defaults to None. |
None
|
stop |
float | None
|
Stop time. Defaults to None. |
None
|
dt |
float
|
Time step. Defaults to 1.0. |
1.0
|
Returns:
| Name | Type | Description |
|---|---|---|
PhaseField |
PhaseField
|
Constructed phase field object. |
from_signals(points, faces, signals, start=None, stop=None, dt=1.0)
classmethod
Generate a Hilbert-transform-based phase map from signals.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
points |
ndarray
|
3D coordinates of the mesh points (M, 3). |
required |
faces |
ndarray
|
connectivity array. Faces must contain padding indicating the number of points in the face. For example, the two faces [10, 11, 12] and [20, 21, 22, 23] will be represented as [3, 10, 11, 12, 4, 20, 21, 22, 23]. |
required |
signals |
ndarray
|
Signal matrix (shape: n_points, n_timesteps). |
required |
start |
float | None
|
Start time. Defaults to None. |
None
|
stop |
float | None
|
Stop time. Defaults to None. |
None
|
dt |
float
|
Time step. Defaults to 1.0. |
1.0
|
Returns:
| Name | Type | Description |
|---|---|---|
PhaseField |
PhaseField
|
Constructed phase field object. |
orientate()
Reorder faces to insure consistent orientation across polygon neighbors.