====== 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.
The current implementation does not include the analytical computation of the stiffness matrix and takes advantage of the Line-Search strategy to update the stress tensor. So, it gets really slow for large tests.
==== 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]:
--- //[[ccanales@ulg.ac.be|Cristian]] 2017/02/24 //