cratepy.online.crom.asca.assemble_cit

assemble_cit(strain_formulation, problem_type, mat_prop_ref, material_phases, phase_n_clusters, phase_clusters, cit_1_mf, cit_2_mf, cit_0_freq_mf)[source]

Assemble global cluster interaction matrix.

Update the cluster interaction tensors by taking into account the material properties of the reference material and assemble them in the global cluster interaction matrix.

The dependency on the material properties of the reference material stems from the definition of the Green operator as shown below.

Infinitesimal strains:

\[\breve{\mathbf{\Phi}}^{0} (\boldsymbol{\zeta}) = c_{1}(\lambda^{0}, \mu^{0}) \, \breve{\mathbf{\Phi}}^{0}_{1} + c_{2}(\lambda^{0}, \mu^{0}) \, \breve{\mathbf{\Phi}}^{0}_{2} \, ,\]
\[c_{1}(\lambda^{0}, \mu^{0}) = \dfrac{1}{4 \mu^{0}} \, , \qquad c_{2}(\lambda^{0}, \mu^{0}) = \dfrac{\lambda^{0} + \mu^{0}}{\mu^{0}(\lambda^{0} + 2 \mu^{0})}\]

where \(\breve{\mathbf{\Phi}}^{0}_{1}\) and \(\breve{\mathbf{\Phi}}^{0}_{2}\) are the first and second fourth-order Green operator material independent terms, respectively, and \((\lambda^{0}, \mu^{0})\) are the reference elastic (isotropic) material Lamé parameters.


Finite strains:

\[\breve{\mathbf{\Phi}}^{0} (\boldsymbol{\zeta}) = c_{1}(\lambda^{0}, \mu^{0}) \, \breve{\mathbf{\Phi}}^{0}_{1} + c_{2}(\lambda^{0}, \mu^{0}) \, \breve{\mathbf{\Phi}}^{0}_{2} \, ,\]
\[c_{1}(\lambda^{0}, \mu^{0}) = \dfrac{1}{2 \mu^{0}} \, , \qquad c_{2}(\lambda^{0}, \mu^{0}) = \dfrac{\lambda^{0}}{2 \mu^{0}(\lambda^{0} + 2 \mu^{0})}\]

where \(\breve{\mathbf{\Phi}}^{0}_{1}\) and \(\breve{\mathbf{\Phi}}^{0}_{2}\) are the first and second fourth-order Green operator material independent terms, respectively, and \((\lambda^{0}, \mu^{0})\) are the reference elastic (isotropic) material Lamé parameters.


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).

  • mat_prop_ref (dict) – Reference material properties.

  • material_phases (list[str]) – RVE material phases labels (str).

  • phase_n_clusters (dict) – Number of clusters (item, int) prescribed for each material phase (key, str).

  • phase_clusters (dict) – Clusters labels (item, list[int]) associated to each material phase (key, str).

  • cit_1_mf (dict) – Cluster interaction tensors associated with the first Green operator material independent term. Each tensor is stored in a dictionary (item, dict) for each pair of material phases (key, str), which in turn contains the corresponding matricial form (item, numpy.ndarray) associated to each pair of clusters (key, str).

  • cit_2_mf (dict) – Cluster interaction tensors associated with the second Green operator material independent term. Each tensor is stored in a dictionary (item, dict) for each pair of material phases (key, str), which in turn contains the corresponding matricial form (item, numpy.ndarray) associated to each pair of clusters (key, str).

  • cit_0_freq_mf (dict) – Cluster interaction tensors associated with the zero-frequency Green operator (material independent) term. Each tensor is stored in a dictionary (item, dict) for each pair of material phases (key, str), which in turn contains the corresponding matricial form (item, numpy.ndarray) associated to each pair of clusters (key, str).

Returns:

global_cit_mf – Global cluster interaction matrix. Assembly positions are assigned according to the order of material_phases (1st) and phase_clusters (2nd).

Return type:

numpy.ndarray