The result module

These classes are were the results of the analyses are stored.

Classes:
BaseResult

Base class for storing results data.

FDDResult

Class for storing Frequency Domain Decomposition (FDD) results data.

EFDDResult

Class for storing results data from Enhanced Frequency Domain Decomposition (EFDD) and Frequency Spatial Domain Decomposition (FSDD).

SSIResult

Class for storing results data from Stochastic Subspace Identification (SSI) methods.

pLSCFResult

Class for storing results data from the poly-reference Least Square Complex Frequency (pLSCF) method.

MsPoserResult

Base class for MultiSetup Poser result data.

ClusteringResult

Class to store clustering results and related metadata.

Warning

The module is designed to be used as part of the pyOMA2 package and relies on its internal data structures and algorithms.

This module provides classes for handling and storing various types of results data related to the pyOMA2 module.

class pyoma2.algorithms.data.result.BaseResult(*, Fn: ndarray[tuple[Any, ...], dtype[float64]] | None = None, Phi: ndarray[tuple[Any, ...], dtype[float64]] | None = None)[source]

Bases: BaseModel

Base class for storing results data.

Fn

Array of natural frequencies obtained from modal analysis.

Type:

numpy.NDArray

Phi

Array of mode shape vectors obtained from modal analysis.

Type:

numpy.NDArray

class pyoma2.algorithms.data.result.ClusteringResult(*, Fn: ndarray[tuple[Any, ...], dtype[float64]] | None = None, Phi: ndarray[tuple[Any, ...], dtype[float64]] | None = None, Xi: ndarray[tuple[Any, ...], dtype[float64]] | None = None, Fn_fl: ndarray[tuple[Any, ...], dtype[float64]] | None = None, Xi_fl: ndarray[tuple[Any, ...], dtype[float64]] | None = None, Phi_fl: ndarray[tuple[Any, ...], dtype[float64]] | None = None, Fn_std_fl: ndarray[tuple[Any, ...], dtype[float64]] | None = None, Xi_std_fl: ndarray[tuple[Any, ...], dtype[float64]] | None = None, Phi_std_fl: ndarray[tuple[Any, ...], dtype[float64]] | None = None, order_fl: ndarray[tuple[Any, ...], dtype[int64]] | None = None, labels: ndarray[tuple[Any, ...], dtype[int64]] | None = None, dtot: ndarray[tuple[Any, ...], dtype[float64]] | None = None, medoid_distances: ndarray[tuple[Any, ...], dtype[float64]] | None = None, order_out: ndarray[tuple[Any, ...], dtype[int64]] | None = None, Fn_std: ndarray[tuple[Any, ...], dtype[float64]] | None = None, Xi_std: ndarray[tuple[Any, ...], dtype[float64]] | None = None, Phi_std: ndarray[tuple[Any, ...], dtype[float64]] | None = None)[source]

Bases: BaseResult

Class to store clustering results and related metadata.

Fn

Natural frequencies of the modes.

Type:

ndarray of shape (n_modes,)

Xi

Damping ratios of the modes.

Type:

ndarray of shape (n_modes,)

Phi

Mode shapes.

Type:

ndarray of shape (n_channels, n_modes)

Fn_fl

Flattened array of natural frequencies from clustering.

Type:

ndarray of shape (n_samples,)

Xi_fl

Flattened array of damping ratios from clustering.

Type:

ndarray of shape (n_samples,)

Phi_fl

Flattened array of mode shapes from clustering.

Type:

ndarray of shape (n_samples, n_channels)

Fn_std_fl

Standard deviation of natural frequencies.

Type:

ndarray of shape (n_samples,), optional

Xi_std_fl

Standard deviation of damping ratios.

Type:

ndarray of shape (n_samples,), optional

Phi_std_fl

Standard deviation of mode shapes.

Type:

ndarray of shape (n_samples, n_channels), optional

order_fl

Orders corresponding to the flattened data.

Type:

ndarray of shape (n_samples,)

labels

Cluster labels for each sample.

Type:

ndarray of shape (n_samples,)

dtot

Pairwise distance matrix.

Type:

ndarray of shape (n_samples, n_samples)

medoid_distances

Distance of each sample to its cluster medoid.

Type:

ndarray of shape (n_clusters,)

order_out

Final order values of the selected modes.

Type:

ndarray of shape (n_modes,), optional

class pyoma2.algorithms.data.result.EFDDResult(*, Fn: ndarray[tuple[Any, ...], dtype[float64]] | None = None, Phi: ndarray[tuple[Any, ...], dtype[float64]] | None = None, freq: ndarray[tuple[Any, ...], dtype[float64]] | None = None, Sy: ndarray[tuple[Any, ...], dtype[float64]] | None = None, S_val: ndarray[tuple[Any, ...], dtype[float64]] | None = None, S_vec: ndarray[tuple[Any, ...], dtype[float64]] | None = None, Xi: ndarray[tuple[Any, ...], dtype[float64]] | None = None, forPlot: list | None = None)[source]

Bases: FDDResult

Class for storing results data from Enhanced Frequency Domain Decomposition (EFDD) and Frequency Spatial Domain Decomposition (FSDD).

freq

Array of frequencies.

Type:

numpy.NDArray

Sy

PSD obtained from the analysis.

Type:

numpy.NDArray

S_val

Singular values of the PSD.

Type:

numpy.NDArray

S_vec

Singular vectors of the PSD.

Type:

numpy.NDArray

Xi

Array of damping ratios obtained from modal analysis.

Type:

numpy.NDArray

forPlot

A list to store data for plotting purposes.

Type:

list

class pyoma2.algorithms.data.result.FDDResult(*, Fn: ndarray[tuple[Any, ...], dtype[float64]] | None = None, Phi: ndarray[tuple[Any, ...], dtype[float64]] | None = None, freq: ndarray[tuple[Any, ...], dtype[float64]] | None = None, Sy: ndarray[tuple[Any, ...], dtype[float64]] | None = None, S_val: ndarray[tuple[Any, ...], dtype[float64]] | None = None, S_vec: ndarray[tuple[Any, ...], dtype[float64]] | None = None)[source]

Bases: BaseResult

Class for storing Frequency Domain Decomposition (FDD) results data.

freq

Array of frequencies.

Type:

numpy.NDArray

Sy

PSD obtained from the FDD analysis.

Type:

numpy.NDArray

S_val

Singular values of the PSD.

Type:

numpy.NDArray

S_vec

Singular vectors of the PSD.

Type:

numpy.NDArray

class pyoma2.algorithms.data.result.MsPoserResult(*, Fn: ndarray[tuple[Any, ...], dtype[float64]] = None, Phi: ndarray[tuple[Any, ...], dtype[float64]] = None, Fn_std: ndarray[tuple[Any, ...], dtype[float64]] = None, Xi: ndarray[tuple[Any, ...], dtype[float64]] = None, Xi_std: ndarray[tuple[Any, ...], dtype[float64]] = None)[source]

Bases: BaseResult

Base class for MultiSetup Poser result data.

Phi

Array of mode shape vectors obtained from MultiSetup Poser analysis.

Type:

numpy.NDArray

Fn

Array of natural frequencies obtained from MultiSetup Poser analysis (mean value).

Type:

numpy.NDArray

Fn_std

Standard deviation of natural frequencies between setups.

Type:

numpy.NDArray

Xi

Array of damping ratios obtained from MultiSetup Poser analysis (mean value).

Type:

numpy.NDArray

Xi_std

Standard deviation of damping ratios.

Type:

numpy.NDArray

class pyoma2.algorithms.data.result.SSIResult(*, Fn: ndarray[tuple[Any, ...], dtype[float64]] | None = None, Phi: ndarray[tuple[Any, ...], dtype[float64]] | None = None, Obs: ndarray[tuple[Any, ...], dtype[float64]] | None = None, A: list[numpy.ndarray[tuple[Any, ...], numpy.dtype[numpy.float64]]] | None = None, C: list[numpy.ndarray[tuple[Any, ...], numpy.dtype[numpy.float64]]] | None = None, H: ndarray[tuple[Any, ...], dtype[float64]] | None = None, Lambds: ndarray[tuple[Any, ...], dtype[float64]] | None = None, Fn_poles: ndarray[tuple[Any, ...], dtype[float64]] | None = None, Xi_poles: ndarray[tuple[Any, ...], dtype[float64]] | None = None, Phi_poles: ndarray[tuple[Any, ...], dtype[float64]] | None = None, Lab: ndarray[tuple[Any, ...], dtype[float64]] | None = None, Fn_poles_std: ndarray[tuple[Any, ...], dtype[float64]] | None = None, Xi_poles_std: ndarray[tuple[Any, ...], dtype[float64]] | None = None, Phi_poles_std: ndarray[tuple[Any, ...], dtype[float64]] | None = None, Xi: ndarray[tuple[Any, ...], dtype[float64]] | None = None, Fn_std: ndarray[tuple[Any, ...], dtype[float64]] | None = None, Xi_std: ndarray[tuple[Any, ...], dtype[float64]] | None = None, Phi_std: ndarray[tuple[Any, ...], dtype[float64]] | None = None, order_out: list[int] | int | None = None, clustering_results: dict | None = {})[source]

Bases: BaseResult

Class for storing results data from Stochastic Subspace Identification (SSI) methods.

Obs

Observability matrix obtained from the SSI analysis.

Type:

numpy.NDArray, optional

A

List of system matrices A from the SSI analysis.

Type:

list of numpy.NDArray, optional

C

List of system matrices C from the SSI analysis.

Type:

list of numpy.NDArray, optional

H

Hankel matrix used in SSI analysis.

Type:

numpy.NDArray, optional

Lambds

Array of eigenvalues from the SSI analysis.

Type:

numpy.NDArray, optional

Fn_poles

Array of all natural frequencies.

Type:

numpy.NDArray, optional

Xi_poles

Array of all damping ratios.

Type:

numpy.NDArray, optional

Phi_poles

Array of all mode shape vectors.

Type:

numpy.NDArray, optional

Lab

Array of labels for all the poles.

Type:

numpy.NDArray, optional

Fn_poles_std

Covariance of all natural frequencies.

Type:

numpy.NDArray, optional

Xi_poles_std

Covariance of all damping ratios.

Type:

numpy.NDArray, optional

Phi_poles_std

Covariance of all mode shape vectors.

Type:

numpy.NDArray, optional

Xi

Array of damping ratios.

Type:

numpy.NDArray, optional

order_out

Output order after modal parameter estimation. Can be a list of integers or a single integer.

Type:

Union[list[int], int], optional

Fn_std

Covariance of natural frequencies obtained from the analysis.

Type:

numpy.NDArray, optional

Xi_std

Covariance of damping ratios obtained from the analysis.

Type:

numpy.NDArray, optional

Phi_std

Covariance of mode shape vectors obtained from the analysis.

Type:

numpy.NDArray, optional

class pyoma2.algorithms.data.result.pLSCFResult(*, Fn: ndarray[tuple[Any, ...], dtype[float64]] | None = None, Phi: ndarray[tuple[Any, ...], dtype[float64]] | None = None, freq: ndarray[tuple[Any, ...], dtype[float64]] | None = None, Sy: ndarray[tuple[Any, ...], dtype[float64]] | None = None, Ad: list[numpy.ndarray[tuple[Any, ...], numpy.dtype[numpy.float64]]] | None = None, Bn: list[numpy.ndarray[tuple[Any, ...], numpy.dtype[numpy.float64]]] | None = None, Fn_poles: ndarray[tuple[Any, ...], dtype[float64]] | None = None, Xi_poles: ndarray[tuple[Any, ...], dtype[float64]] | None = None, Phi_poles: ndarray[tuple[Any, ...], dtype[float64]] | None = None, Lab: ndarray[tuple[Any, ...], dtype[float64]] | None = None, Xi: ndarray[tuple[Any, ...], dtype[float64]] | None = None, order_out: list[int] | int | None = None)[source]

Bases: BaseResult

Class for storing results data from the poly-reference Least Square Complex Frequency (pLSCF) method.

freq

Array of frequencies.

Type:

numpy.NDArray

Sy

PSD obtained from the analysis.

Type:

numpy.NDArray

Ad

Denominator polynomial coefficients from pLSCF analysis.

Type:

list of numpy.NDArray

Bn

Numerator polynomial coefficients from pLSCF analysis.

Type:

list of numpy.NDArray

Fn_poles

Array of identified natural frequencies (poles) from pLSCF analysis.

Type:

numpy.NDArray

xi_poles

Array of damping ratios corresponding to identified poles.

Type:

numpy.NDArray

Phi_poles

Array of mode shape vectors corresponding to identified poles.

Type:

numpy.NDArray

Lab

Array of labels for the identified poles.

Type:

numpy.NDArray

Xi

Array of damping ratios obtained after modal parameter estimation.

Type:

numpy.NDArray

order_out

Output order after modal parameter estimation. Can be a list of integers, or a single integer.

Type:

Union[list[int], int]