Table of Contents
Commit 2017-02-24
Yield criteria
I have implemented some (now) classical yield criteria in order to extend the features of Metafor in this field. The new developments include one isotropic and four anisotropic yield functions.
The respective documentation page will be updated (ASAP), where a Reference section with external links to relevant papers will be included.
DruckerPlasticCriterion
Isotropic yield criterion that takes into account $J_2$ and $J_3$, the second and third invariants of the stress deviator. This function lays between the bounds defined by the von Mises and the Tresca yield surfaces.
$$ \left\lbrace 27 \left[(J_2)^{3}-c(J_3)^{2}\right] \right\rbrace ^{1/6} - (\sigma_{vm} + \sigma_{visq} + \sigma_{grainSize} + ...) = 0 $$
CazacuBarlat01OrthoPlasticCriterion
This criterion is based on the generalization of the classical invariants $J_2$ and $J_3$ within the framework of the theory of representation of anisotropic functions. This method is then used to extend the Drucker's yield function to orthotropy as follows.
$$ \left\lbrace 27 \left[(J_2^0)^{3}-c(J_3^0)^{2}\right] \right\rbrace ^{1/6} - (\sigma_{vm} + \sigma_{visq} + \sigma_{grainSize} + ...) = 0 $$
where $J_2^0$ and $J_3^0$ are the generalized second and third invariants of the stress deviator to orthotropy, respectively.
CazacuBarlat04OrthoPlasticCriterion
Extension to orthotropy of the isotropic yield function proposed by the same authors (already in Metafor), which takes into consideration the asymmetry between tension and compression in yielding exhibited by some materials e.g., Al alloys, Ti alloys, Mg alloys.
$$ \sqrt{3}\left[ (J_2^0)^{3/2}-cJ_3^0 \right] ^{1/3} - (\sigma_{vm} + \sigma_{visq} + \sigma_{grainSize} + ...) = 0 $$
where $J_2^0$ and $J_3^0$ are the generalized second and third invariants of the stress deviator to orthotropy, respectively.
YoshidaUemori13J2J3OrthoPlasticCriterion
This criterion corresponds to a 6th-order polynomial type 3D yield function developed by a sum of several components of the CazacuBarlat01OrthoPlasticCriterion
in order to obtain higher flexibility. It is worth to mention that in this case, the extension of the invariants $J_2$ and $J_3$ is performed by means of linear transformations of the stress deviator.
$$ \newcommand{\sbraces}[1]{\left[#1\right]} \newcommand{\cbraces}[1]{\left(#1\right)} \newcommand{\gbraces}[1]{\left\lbrace #1\right\rbrace} \gbraces{\frac{27}{n}\sum^{n}_{m=1}\sbraces{\tilde{J_2}^{(m)}}^3 - \xi_m \sbraces{\tilde{J_3}^{(m)}}^2}^{1/6} - (\sigma_{vm} + \sigma_{visq} + \sigma_{grainSize} + ...) = 0 $$
where $\tilde{J_2}$ and $\tilde{J_2}$ are the generalized second and third invariants of the stress deviator to orthotropy, respectively.
YoshidaUemori13J2OrthoPlasticCriterion
This yield function is a particular case of the YoshidaUemori13J2J3OrthoPlasticCriterion
, which takes into consideration only the $\tilde{J_2}$ extended invariant for its construction.
$$
\newcommand{\sbraces}[1]{\left[#1\right]}
\newcommand{\cbraces}[1]{\left(#1\right)}
\newcommand{\gbraces}[1]{\left\lbrace #1\right\rbrace}
\gbraces{\frac{27}{n}\sum^{n}_{m=1}\sbraces{\tilde{J_2}^{(m)}}^3}^{1/6} - (\sigma_{vm} + \sigma_{visq} + \sigma_{grainSize} + ...) = 0
$$
CazacuBarlat04IsotropicPlasticCriterion
Some corrections were done in the implementation of this criterion along with the addition of a couple of tests (it was in the official version of Metafor but it was not tested in the battery of tests).
$$ \sqrt{3}\left[ (J_2)^{3/2}-cJ_3 \right] ^{1/3} - (\sigma_{vm} + \sigma_{visq} + \sigma_{grainSize} + ...) = 0 $$
Work in progress
- Implementation of analytical computation of the stiffness matrix for the update of the stress tensor.
- Implementation of some other yield functions:
HosfordPlasticCriterion
Barlat2000OrthoPlasticCriterion
(Yld2000-2d)Barlat0413pOrthoPlasticCriterion
(Yld2004-13p)Barlat0418pOrthoPlasticCriterion
(Yld2004-18p)CazacuBarlat06IsotropicPlasticCriterion
CazacuBarlat06OrthoPlasticCriterion
Fichiers ajoutés/supprimés
[a]: mtMaterials\plasticCriteria\CazacuBarlat01OrthoPlasticCriterion.cpp [a]: mtMaterials\plasticCriteria\CazacuBarlat01OrthoPlasticCriterion.h [a]: mtMaterials\plasticCriteria\CazacuBarlat04OrthoPlasticCriterion.cpp [a]: mtMaterials\plasticCriteria\CazacuBarlat04OrthoPlasticCriterion.h [a]: mtMaterials\plasticCriteria\DruckerPlasticCriterion.cpp [a]: mtMaterials\plasticCriteria\DruckerPlasticCriterion.h [a]: mtMaterials\plasticCriteria\YoshidaUemori13J2J3OrthoPlasticCriterion.cpp [a]: mtMaterials\plasticCriteria\YoshidaUemori13J2J3OrthoPlasticCriterion.h [a]: mtMaterials\plasticCriteria\YoshidaUemori13J2OrthoPlasticCriterion.cpp [a]: mtMaterials\plasticCriteria\YoshidaUemori13J2OrthoPlasticCriterion.h [r]:
Cas tests ajoutés/supprimés
[a]: apps\monosMaterials2\CB01Ortho2090T3.py [a]: apps\monosMaterials2\CB04IsoCMax.py [a]: apps\monosMaterials2\CB04IsoCMin.py [a]: apps\monosMaterials2\CB04OrthoMg05Th.py [a]: apps\monosMaterials2\DruckerCMax.py [a]: apps\monosMaterials2\DruckerCMin.py [a]: apps\monosMaterials2\YUJ2J3Ortho980Y.py [a]: apps\monosMaterials2\YUJ2Ortho980Y.py [r]:
— Cristian 2017/02/24