cratepy.online.crom.asca.InfinitesimalRegressionSCS¶
- class InfinitesimalRegressionSCS(strain_formulation, problem_type, material_properties_old, inc_strain_mf, inc_stress_mf, is_symmetrized=False)[source]¶
Bases:
ReferenceMaterialOptimizer
Infinitesimal strains format regression-based self-consistent scheme.
Mimization problem:
\[\left\{ \lambda^{0}_{n+1}, \, \mu^{0}_{n+1} \right\} = \underset{ \left\{ \lambda ', \, \, \mu ' \right\} }{ \mathrm{argmin}} \, || \Delta \boldsymbol{\sigma}_{n+1} - \boldsymbol{\mathsf{D}}^{e, \, 0}_{n+1}(\lambda ',\mu ') : \Delta \boldsymbol{\varepsilon}_{n+1} ||^{2}\]where \(\lambda^{0}\) and \(\mu^{0}\) are the elastic Lamé parameters, \(\Delta \boldsymbol{\sigma}\) is the homogenized incremental Cauchy stress tensor, \(\boldsymbol{\mathsf{D}}^{e,\,0}\) is the reference material elastic tangent modulus, \(\Delta \boldsymbol{\varepsilon}\) is the homogenized incremental infinitesimal strain tensor, and \(n+1\) denotes the current increment.
Solution:
\[\begin{split}\begin{bmatrix} \lambda^{0}_{m+1} \\[10pt] \mu^{0}_{m+1} \end{bmatrix} = \begin{bmatrix} \text{tr} \, \left[ \boldsymbol{I} \right] \, \text{tr} \, \left[ \Delta \boldsymbol{\varepsilon}_{m+1} \right] & 2 \, \text{tr} \, \left[ \Delta \boldsymbol{\varepsilon}_{m+1} \right] \\[10pt] \text{tr} \, \left[ \Delta \boldsymbol{\varepsilon}_{m+1} \right]^{2} & 2 \Delta \boldsymbol{\varepsilon}_{m+1} : \Delta \boldsymbol{\varepsilon}_{m+1} \end{bmatrix}^{-1} \begin{bmatrix} \, \text{tr} \, \left[ \Delta \boldsymbol{\sigma}_{m+1} \right] \\[10pt] \Delta \boldsymbol{\sigma}_{m+1}: \Delta \boldsymbol{\varepsilon}_{m+1} \end{bmatrix} \, .\end{split}\]Constructor.
- 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).
material_properties_old (dict) – Last loading increment converged elastic reference material properties (key, str) values (item, {int, float, bool}).
inc_strain_mf (numpy.ndarray (1d)) – Incremental homogenized strain (matricial form).
inc_stress_mf (numpy.ndarray (1d)) – Incremental homogenized stress (matricial form).
is_symmetrized (bool, default=False) – True if a symmetric alternative stress-strain conjugate pair is adopted in the finite strains regression-based self-consistent scheme, False otherwise.
List of Public Methods
Compute elastic reference material properties.
Methods
- __init__(strain_formulation, problem_type, material_properties_old, inc_strain_mf, inc_stress_mf, is_symmetrized=False)[source]¶
Constructor.
- 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).
material_properties_old (dict) – Last loading increment converged elastic reference material properties (key, str) values (item, {int, float, bool}).
inc_strain_mf (numpy.ndarray (1d)) – Incremental homogenized strain (matricial form).
inc_stress_mf (numpy.ndarray (1d)) – Incremental homogenized stress (matricial form).
is_symmetrized (bool, default=False) – True if a symmetric alternative stress-strain conjugate pair is adopted in the finite strains regression-based self-consistent scheme, False otherwise.