cratepy.clustering.clusteringdata.StrainConcentrationTensor

class StrainConcentrationTensor[source]

Bases: FeatureAlgorithm

Fourth-order elastic strain concentration tensor.

The fourth-order elastic strain concentration tensor is defined in terms of the elastic infinitesimal strain tensor (infinitesimal strains) or the elastic material logarithmic strain tensor (finite strains) as shown below. Note that both strain tensors are symmetric and admit the reduced matricial form (Kelvin notation).

  • Infinitesimal strains: Fourth-order local elastic strain concentration tensor based on the elastic infinitesimal strain tensor.

    \[\boldsymbol{\varepsilon}_{\mu}^{e}(\boldsymbol{Y}) = \boldsymbol{\mathsf{H}}^{e}(\boldsymbol{Y}): \boldsymbol{\varepsilon}^{e} (\boldsymbol{X}) \, , \quad \forall \boldsymbol{Y} \in \Omega_{\mu,\,0} \, ,\]

    where \(\boldsymbol{\mathsf{H}}^{e}\) is the fourth-order local elastic strain concentration tensor, \(\boldsymbol{\varepsilon}_{\mu}^{e}\) is the microscale elastic infinitesimal strain tensor, \(\boldsymbol{\varepsilon}^{e}\) is the macroscale elastic infinitesimal strain tensor, \(\boldsymbol{Y}\) is a point of the microscale reference configuration (\(\Omega_{\mu,\,0}\)), and \(\boldsymbol{X}\) is a point of the macroscale reference configuration (\(\Omega_{0}\)).

  • Finite strains: Fourth-order local elastic strain concentration tensor based on the elastic material logarithmic strain tensor.

    \[\boldsymbol{E}_{\mu}^{e}(\boldsymbol{Y}) = \boldsymbol{\mathsf{H}}^{e}(\boldsymbol{Y}): \boldsymbol{E}^{e} (\boldsymbol{X}) \, , \quad \forall \boldsymbol{Y} \in \Omega_{\mu,\,0} \, ,\]

    where \(\boldsymbol{\mathsf{H}}^{e}\) is the fourth-order local elastic strain concentration tensor, \(\boldsymbol{E}_{\mu}^{e}\) is the microscale elastic material logarithmic strain tensor, \(\boldsymbol{E}^{e}\) is the macroscale elastic material logarithmic strain tensor, \(\boldsymbol{Y}\) is a point of the microscale reference configuration (\(\Omega_{\mu,\,0}\)), and \(\boldsymbol{X}\) is a point of the macroscale reference configuration (\(\Omega_{0}\)).

get_feature_data_matrix(self, strain_formulation, problem_type, rve_dims, n_voxels_dims, rve_response)[source]

Compute data matrix associated to clustering feature.

Constructor.

List of Public Methods

get_feature_data_matrix

Compute data matrix associated to clustering feature.

Methods

__init__()[source]

Constructor.

get_feature_data_matrix(strain_formulation, problem_type, rve_dims, n_voxels_dims, rve_response)[source]

Compute data matrix associated to clustering feature.

Parameters:
  • strain_formulation ({'infinitesimal', 'finite'}) – Problem strain formulation.

  • problem_type (int) – Problem type: 2D plane strain (1), 2D plane stress (2), 2D axisymmetric (3) and 3D (4).

  • rve_dims (list[float]) – RVE size in each dimension.

  • n_voxels_dims (list[int]) – Number of voxels in each dimension of the regular grid (spatial discretization of the RVE).

  • rve_response (numpy.ndarray (2d)) – RVE elastic response for one or more macroscale loadings (numpy.ndarray of shape (n_voxels, n_strain_comps)), where each macroscale loading is associated with a set of independent strain components.

Returns:

data_matrix – Clustering feature data matrix (numpy.ndarray of shape (n_voxels, n_feature_dim)).

Return type:

numpy.ndarray (2d)