Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


doc:user:elements:volumes:yield_stress

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
doc:user:elements:volumes:yield_stress [2014/07/07 13:45] canalesdoc:user:elements:volumes:yield_stress [2020/07/08 10:10] – [PythonYieldStress] papeleux
Line 1: Line 1:
 ====== Yield Stress ====== ====== Yield Stress ======
  
-La classe ''YieldStress'' gère la contrainte limite du critère de plasticité. +The class ''YieldStress'' manages the yield stress used in the plastic criterion, whether plastic (isotropic hardening), visco-plastic (Perzyna as additive, Cowper-Symonds as multiplicative or ZerilliArmstrong, JohnsonCook, ... as flow stress models) 
-Qu'elle soit plastique (écrouissage isotrope), visco-plastique (additive : Perzynamultiplicative : Cowper-Symonds ou non naturellement décomposable : ZerilliArmstrong, JohnsonCook, ...).+
  
 $$  $$ 
Line 8: Line 8:
 $$ $$
  
-Lois implémentées dans Metafor.+The laws implemented in Metafor are described below
  
 ===== IsotropicHardening ===== ===== IsotropicHardening =====
  
-Afin de simplifier 80% les testsles classes ''IsotropicHardening'' ([[isohard]]) sont des (dérivent de) ''YieldStress''.+In order to simplify most of the test casesthe ''IsotropicHardening'' classes ([[isohard]]) derive from the ''YieldStress'' class.
  
 $$  $$ 
 \sigma_{yield}  = \sigma_{isoHard}( \bar{\varepsilon}^{vp}) \sigma_{yield}  = \sigma_{isoHard}( \bar{\varepsilon}^{vp})
 $$ $$
- +Consequently, isotropic hardening is directly referred in the material as a ''YieldStress''.
-L'écrouissage isotrope est donc référencié dans le matériau directement comme ''YieldStress''+
  
  
 ===== GsIsoHYieldStress ===== ===== GsIsoHYieldStress =====
  
-Contrainte limite définie par un écrouissage isotrope +Yield Stress defined by an isotropic hardening: 
 $$  $$ 
 \sigma_{yield}  = \sigma_{isoHard}( \bar{\varepsilon}^{vp}) + \sigma_{grainSize}( \bar{\varepsilon}^{vp}, \dot{\bar{\varepsilon}}^{vp}, grainSize ) \sigma_{yield}  = \sigma_{isoHard}( \bar{\varepsilon}^{vp}) + \sigma_{grainSize}( \bar{\varepsilon}^{vp}, \dot{\bar{\varepsilon}}^{vp}, grainSize )
 $$ $$
  
-=== Paramètres === +=== Parameters === 
  
-^          Nom                                         ^  Codes Metafor ^ Type de dépendance +^          Name                                        ^  Metafor Code  Dependency         
-|Numéro de la loi d'écrouissage isotrope               |  ''IH_NUM''    |                    | +|Number of the isotropic hardening law                 |  ''IH_NUM''    |                    | 
-|Numéro de la loi d'évolution de la taille de grain    |  ''GS_NUM''    |                    |+|Number of the grain size evolution law                |  ''GS_NUM''    |                    |
  
 ===== PerzynaYieldStress ===== ===== PerzynaYieldStress =====
  
-Contrainte limite définie par un écrouissage isotrope additionné d'une contrainte visco-plastique de Perzyna : +Yield Stress defined by an isotropic hardening and a visco-plastic Perzyna yield stress: 
 $$ $$
 \sigma_{yield}  = \sigma_{isoHard}( \bar{\varepsilon}^{vp}) + K (\dot{\bar{\varepsilon}}^{vp})^M \left(\bar{\varepsilon}^{vp}\right)^N \sigma_{yield}  = \sigma_{isoHard}( \bar{\varepsilon}^{vp}) + K (\dot{\bar{\varepsilon}}^{vp})^M \left(\bar{\varepsilon}^{vp}\right)^N
 $$ $$
  
-=== Paramètres === +=== Parameters === 
  
-^          Nom                                         ^  Codes Metafor ^ Type de dépendance +^          Name                           ^  Metafor Code  Dependency         
-|Numéro de la loi d'écrouissage isotrope               |  ''IH_NUM''    |                    |+|Number of the isotropic hardening law    |  ''IH_NUM''    |                    |
 |$K $                                      ''PERZYNA_K'' |  ''TM/TO''          |$K $                                      ''PERZYNA_K'' |  ''TM/TO''         
 |$M $                                      ''PERZYNA_M'' |  ''TM/TO''         | |$M $                                      ''PERZYNA_M'' |  ''TM/TO''         |
Line 53: Line 54:
 ===== GsPerzynaYieldStress ===== ===== GsPerzynaYieldStress =====
  
-Contrainte limite définie par un écrouissage isotrope additionné d'une contrainte visco-plastique de Perzyna et d'une contrainte "taille de grain": +Yield Stress defined by an isotropic hardening, a visco-plastic Perzyna yield stress and a "grain sizestress: 
 $$  $$ 
 \sigma_{yield}  = \sigma_{isoHard}( \bar{\varepsilon}^{vp}) + K (\dot{\bar{\varepsilon}}^{vp})^M \left(\bar{\varepsilon}^{vp}\right)^N + \sigma_{grainSize}( \bar{\varepsilon}^{vp}, \dot{\bar{\varepsilon}}^{vp}, grainSize ) \sigma_{yield}  = \sigma_{isoHard}( \bar{\varepsilon}^{vp}) + K (\dot{\bar{\varepsilon}}^{vp})^M \left(\bar{\varepsilon}^{vp}\right)^N + \sigma_{grainSize}( \bar{\varepsilon}^{vp}, \dot{\bar{\varepsilon}}^{vp}, grainSize )
 $$ $$
  
-=== Paramètres === +=== Parameters === 
  
-^          Nom                                         ^  Codes Metafor ^ Type de dépendance +^          Name                           ^  Metafor Code   Dependency         
-|Numéro de la loi d'écrouissage isotrope               |  ''IH_NUM''    |                    | +|Number of the isotropic hardening law    |  ''IH_NUM''     |                    | 
-|Numéro de la loi d'évolution de la taille de grain    |  ''GS_NUM''    |                    |+|Number of the grain size evolution law   |  ''GS_NUM''     |                    |
 |$K $                                      ''PERZYNA_K''  |  ''TM/TO''          |$K $                                      ''PERZYNA_K''  |  ''TM/TO''         
 |$M $                                      ''PERZYNA_M''  |  ''TM/TO''         | |$M $                                      ''PERZYNA_M''  |  ''TM/TO''         |
Line 71: Line 73:
 ===== JohnsonCookYieldStress ===== ===== JohnsonCookYieldStress =====
  
-Loi visco-plastique de Johnson-Cook : +Johnson-Cook visco-plastic law:
  
 +\begin{multline}
 +\sigma_{yield}= \left( A+B \left( \bar{\varepsilon}^{vp} \right)^n \right) 
 +\left(1+C\ln\left(\dfrac{\dot{\bar{\varepsilon}}^{vp}}{\dot{\varepsilon}_0}\right)+C_2\left(\ln\left(\dfrac{\dot{\bar{\varepsilon}}^{vp}}{\dot{\varepsilon}_0}\right)\right)^2\right)  \\
 +\left( 1- \left( \dfrac{T-T_{room}}{T_{melt}-T_{room}} \right)^m \right) 
 +\end{multline}
  
-$$\sigma_{yield}= \left( A+B \left( \bar{\varepsilon}^{vp} \right)^n \right)  
-\left(1+C\ln\left(\dfrac{\dot{\bar{\varepsilon}}^{vp}}{\dot{\varepsilon}_0}\right)+C_2\left(\ln\left(\dfrac{\dot{\bar{\varepsilon}}^{vp}}{\dot{\varepsilon}_0}\right)\right)^2\right)  \left( 1- \left( \dfrac{T-T_{room}}{T_{melt}-T_{room}} \right)^m \right)  
-$$ 
  
 +=== Parameters ===
  
-=== Paramètres === +^          Name                                        ^  Metafor Code  Dependency         ^
- +
-^          Nom                                     ^  Codes Metafor  Type de dépendance  ^+
 |$A $                                    ''JC_A''          ''TM/TO''       | |$A $                                    ''JC_A''          ''TM/TO''       |
 |$B $                                    ''JC_B''          ''TM/TO''        |$B $                                    ''JC_B''          ''TM/TO''       
 |$n $                                    ''JC_N''          ''TM/TO''       | |$n $                                    ''JC_N''          ''TM/TO''       |
 |$m $                                    ''JC_M''          ''TM/TO''        |$m $                                    ''JC_M''          ''TM/TO''       
-|Température de référence $T_{room}$  |  ''JC_TROOM''        ''TM/TO''       | +|Room temperature $T_{room}$          |  ''JC_TROOM''        ''TM/TO''       | 
-|Température de fusion $T_{melt}$      ''JC_TMELT''        ''TM/TO''       +|Melting temperature   $T_{melt}$      ''JC_TMELT''        ''TM/TO''       
 |$C $                                    ''JC_C''          ''TM/TO''       | |$C $                                    ''JC_C''          ''TM/TO''       |
 |$C_2 $                                 ''JC_C2''          ''TM/TO''       | |$C_2 $                                 ''JC_C2''          ''TM/TO''       |
Line 94: Line 97:
 ===== JohnsonCookMecYieldStress ===== ===== JohnsonCookMecYieldStress =====
  
-Version "isotherme" de la loi visco-plastique de Johnson-Cook : +Isotherm version of the Johnson-Cook visco-plastic law :
  
 $$ $$
Line 102: Line 105:
  
  
-=== Paramètres ===+=== Parameters ===
  
-^          Nom                                     ^  Codes Metafor  Type de dépendance  ^+^          Name                       ^  Metafor Code  Dependency         ^
 |$A $                                    ''JC_A''          ''TM/TO''       | |$A $                                    ''JC_A''          ''TM/TO''       |
 |$B $                                    ''JC_B''          ''TM/TO''        |$B $                                    ''JC_B''          ''TM/TO''       
Line 114: Line 117:
 ===== PowJohnsonCookYieldStress ===== ===== PowJohnsonCookYieldStress =====
  
-Variante en puissance à la loi visco-plastique de Johnson-Cook (implémentation PP): +Power version of the Johnson-Cook visco-plastic law (PP implementation):
  
 $$ $$
Line 121: Line 124:
 $$ $$
  
-=== Paramètres ===+=== Parameters ===
  
-^          Nom                                     ^  Codes Metafor  Type de dépendance  ^+^          Name                       ^  Metafor Code  Dependency         ^
 |$A $                                    ''JC_A''          ''TM/TO''       | |$A $                                    ''JC_A''          ''TM/TO''       |
 |$B $                                    ''JC_B''          ''TM/TO''        |$B $                                    ''JC_B''          ''TM/TO''       
 |$n $                                    ''JC_N''          ''TM/TO''       | |$n $                                    ''JC_N''          ''TM/TO''       |
 |$m $                                    ''JC_M''          ''TM/TO''        |$m $                                    ''JC_M''          ''TM/TO''       
-|Température de référence $T_{room}$  |  ''JC_TROOM''        ''TM/TO''       | +|Room temperature $T_{room}$          |  ''JC_TROOM''        ''TM/TO''       | 
-|Température de fusion $T_{melt}$     |  ''JC_TMELT''        ''TM/TO''       +|Melting temperature $T_{melt}$       |  ''JC_TMELT''        ''TM/TO''       
 |$C $                                    ''JC_C''          ''TM/TO''       | |$C $                                    ''JC_C''          ''TM/TO''       |
 |$\dot{\varepsilon}_0$                |  ''JC_EPSP0''        ''TM/TO''       | |$\dot{\varepsilon}_0$                |  ''JC_EPSP0''        ''TM/TO''       |
Line 135: Line 138:
 ===== ZerilliArmstrongYieldStress ===== ===== ZerilliArmstrongYieldStress =====
  
-Loi visco-plastique de Zerilli-Armstong: +Zerilli-Armstong visco-plastic law:
  
 $$ $$
Line 141: Line 144:
 $$ $$
  
-Dans le cas de métaux FCC, prendre $C_5=0$. +For FCC metals, $C_5=0$. 
-Dans le cas de métaux BCC, prendre $n_2=0$.+For BCC metals, $n_2=0$.
  
-:!: Attention cette loi est une loi thermomécaniqueLa température est la température absolue. Pour avoir des résultats physiquement acceptablesil faut utiliser des éléments et un schéma de résolution thermomécaniques.+:!: Carefulthis law is thermomechanical, and the temperature is the absolute oneTo have proper results, finite elements must be thermomechanicaland so must be the integration scheme.
  
-=== Paramètres ===+=== Parameters ===
  
-Nom                     ^  Codes Metafor   Type de dépendance  ^+ Name      ^  Metafor Code   Dependency           ^
 |$\sigma_0$  |  ''ZA_SIGMA0''  |  ''TM/TO''           | |$\sigma_0$  |  ''ZA_SIGMA0''  |  ''TM/TO''           |
 |$C_5$         ''ZA_C5''      ''TM/TO''            |$C_5$         ''ZA_C5''      ''TM/TO''           
Line 160: Line 163:
 ===== CowperSymondsYieldStress ===== ===== CowperSymondsYieldStress =====
  
-Loi visco-plastique de Cowper-Symonds.+Cowper-Symonds visco-plastic law.
  
 $$ $$
-\sigma_{yield}= \sigma_0 \left( 1 + \dfrac{\dot{\overline{\varepsilon}}^{vp}}{D} \right)^{\frac{1}{p}}+\sigma_{yield}= \sigma_0 \left( 1 + \left(\dfrac{\dot{\overline{\varepsilon}}^{vp}}{D}\right)^{\frac{1}{p}} \right)
 $$ $$
  
-où $\sigma_0$ est la limite élastique courante dont l'évolution est donnée par une loi de comportement statique (souvent linéaire par morceaux).+where $\sigma_0$ is the static yield stress, whose evolution is often given by a piecewise linear function.
  
-=== Paramètres === 
  
-Nom                               ^  Codes Metafor  Type de dépendance  +=== Parameters === 
-|Numéro de la loi d'écrouissage     |    ''IH_NUM''                        |+ 
 +         Name         ^  Metafor Code  Dependency         
 +|Number of the hardening law    |    ''IH_NUM''                        |
 |$D $                  |    ''CS_D''       ''TM/TO''          | |$D $                  |    ''CS_D''       ''TM/TO''          |
 |$p $                  |    ''CS_P''       ''TM/TO''          | |$p $                  |    ''CS_P''       ''TM/TO''          |
Line 180: Line 184:
 === Description === === Description ===
  
-Extension visco-plastique de la loi d'écrouissage isotrope type "Kocks-Mecking".+Visco-plastic extension of the "Kocks-Mecking" isotropic hardening law.
  
 $$ $$
Line 191: Line 195:
 $$ $$
  
-avec la contrainte limite de transition entre les stades 3 et 4 (déterminée pour assurer une transition continue entre l'écrouissage saturant et constant)+where $\sigma_{y}^{tr} $ is a transition yield stress, computed to guarantee continuity between both phases:
  
 $$ $$
Line 197: Line 201:
 $$ $$
  
-et la défo plastique de transition correspondante :+and where $\bar{\varepsilon}^{vp}_{tr}$ is the corresponding plastic strain:
  
 $$ $$
Line 203: Line 207:
 $$ $$
  
- +The viscous component of the yield stress is hidden in the calculation of the saturation stress:
-La composante visqueuse de la contrainte limite se trouve cachée dans le calcul de la contrainte de saturation  +
  
 $$ $$
Line 210: Line 213:
 $$ $$
  
-$k$ : constante de Boltzman = $1.381e-23 \mbox{J}/\mbox{K}$+$k$ : Boltzman's constant = $1.381e^{-23\mbox{J}/\mbox{K}$
  
-$T$ : Température K (ATTENTION en Kelvin : nécessite de définir la température dans le matériau)+$T$ : Temperature K (CAREFUL in Kelvin : requires the definition of the temperature in the material)
  
-$A$ : Energie d'activation (constante matériau)+$A$ : Activation energy (material constant)
  
-${\dot{\bar{\varepsilon}}^{vp}_{0}}$ : référence plastic strain rate (= $1.e7$)+${\dot{\bar{\varepsilon}}^{vp}_{0}}$ : reference plastic strain rate (= $1.e7$)
  
-=== Paramètres ===+=== Parameters ===
  
-Nom                       ^  Codes Metafor       Type de dépendance  ^+        Name ^  Metafor Code       Dependency         ^
 |$\sigma_0$    |   ''IH_SIGMA0''      ''TM/TO''           | |$\sigma_0$    |   ''IH_SIGMA0''      ''TM/TO''           |
 |$\Theta_{0}$  |   ''KM_THETA0''      ''TM/TO''            |$\Theta_{0}$  |   ''KM_THETA0''      ''TM/TO''           
Line 226: Line 229:
 |$\sigma_{v0}$ |   ''KM_SIGV0''      |  ''-''           | |$\sigma_{v0}$ |   ''KM_SIGV0''      |  ''-''           |
 |${\dot{\bar{\varepsilon}}^{vp}_{0}}$ |   ''KM_DEVPL0''      ''-''           | |${\dot{\bar{\varepsilon}}^{vp}_{0}}$ |   ''KM_DEVPL0''      ''-''           |
-|$k$ : Constante de Boltzman |   ''KM_BOLTZMANN''    ''-''          |+|$k$ : Boltzman's constant |   ''KM_BOLTZMANN''    ''-''          |
 |$A$                           ''KM_A''            ''-''          | |$A$                           ''KM_A''            ''-''          |
  
Line 234: Line 237:
 === Description === === Description ===
  
-Extension visco-plastique de la loi d'écrouissage isotrope type "Kocks-Mecking"+Second visco-plastic extension of the "Kocks-Mecking" isotropic hardening law, to match the Ta6V better.
-Version 2 pour une meilleur concordance avec le Ta6V  +
-Pas de stade 4+
  
-L'équation de base reste +No fourth step 
 + 
 +The basic equation is still:
 $$ $$
 \sigma_{y} = \sigma_{y}^{0} + \sigma_{v} \left [1-exp \left (-\frac{\Theta_{0}}{\sigma_{v}} \bar{\varepsilon}^{vp}\right ) \right ] \sigma_{y} = \sigma_{y}^{0} + \sigma_{v} \left [1-exp \left (-\frac{\Theta_{0}}{\sigma_{v}} \bar{\varepsilon}^{vp}\right ) \right ]
 $$ $$
  
-La dépendance à la vitesse de déformation plastique et la température se trouve cachée dans le calcul de la contrainte de Voce $\sigma_{v}$. Tracant la contrainte de Voce en fonction d'un paramètre défini par :+Both plastic strain rate and temperature dependency are hidden in the calculation of the Voce stress $\sigma_{v}$. If this Voce stress is plotted as a function of the $g$ parameter, defined as:
  
 $$ g = \frac{kT}{\mu b^3} \ln \left ( \frac{\dot{\bar{\varepsilon}}^{vp}_{0}}{\dot{\bar{\varepsilon}}^{vp}} \right ) $$   $$ g = \frac{kT}{\mu b^3} \ln \left ( \frac{\dot{\bar{\varepsilon}}^{vp}_{0}}{\dot{\bar{\varepsilon}}^{vp}} \right ) $$  
  
-$b$ : étant la norme du vecteur de Burgers \\ +where 
-$k$ : étant la constante de Boltzmann  \\ + 
-(pour le Ta6V $ \frac{k}{b^3} ~ 1.135 $ en unité "$\mbox{Mpa}$")\\ +$b$ : is the norm of the Burgers vector \\ 
-$T$ : Température K (ATTENTION en Kelvin : nécessite de définir la température dans le matériau) \\ +$k$ : is the Boltzmann's constant  \\ 
-$\mu$ : Module de cisaillement élastique du matériau (nécessite de redéfinir Young et Poisson dans la loi KM2!!!) \\ +(for Ta6V$ \frac{k}{b^3} ~ 1.135 $, in "$\mbox{Mpa}$")\\ 
-$\dot{\bar{\varepsilon}}^{vp}_{0}$: référence plastic strain rate (= $1.e7$) \\+$T$ : Temperature K (CAREFUL in Kelvin : requires the definition of the temperature in the material) \\ 
 +$\mu$ : Elastic shear modulus of the material (requires a new definition of Young's modulus and Poisson ratio in the KM2 law!!!) \\ 
 +$\dot{\bar{\varepsilon}}^{vp}_{0}$: reference plastic strain rate (= $1.e7$) \\
  
-On obtient la figure suivante +the following figure is obtained
  
 {{ :doc:user:kocksmecking2.png?direct&200 |}} {{ :doc:user:kocksmecking2.png?direct&200 |}}
  
-Normalement KocksMecking prédit une évolution linéaire (KM data). Or les données d'essais du Ta6V sont les points colorésOn a donc une évolution en ligne brisée que l'on défini comme suit +KocksMecking usually predicts a linear evolution (KM data). However, the Ta6V trial data are the colored dotsThe evolution is more in broken lines, defined as follow
  
-Soit  +$G12$ and $G23$ are defined as the transition values between the three areas
-g12 et g23 : valeur de g transition entre les 3 zones +
  
 $$  $$ 
Line 269: Line 273:
 $$ $$
  
-Enfin On a aussi observé que l'entrée en plasticité dépend aussi de la vitesse de défo et de la température :  +Finally, the apparition of plasticity was observed to depend on strain rate and temperature (herethe temperature dependency is explicitly definedbut it could be done implicitly):
-(icila dépendance de la température est définie explicitementmais elle pourrait aussi être définie implicitement) +
  
 $$\sigma_0 = A + B T + (C + D T) \ln \left (\dot{\bar{\varepsilon}}^{vp}\right ) $$  $$\sigma_0 = A + B T + (C + D T) \ln \left (\dot{\bar{\varepsilon}}^{vp}\right ) $$ 
  
  
-=== Paramètres ===+=== Parameters ===
  
-Nom                       ^  Codes Metafor         Type de dépendance  ^+         Name    ^  Metafor Code  Dependency         ^
 |$ A $           ''IH_SIGEL_A''      |      ''-''          | |$ A $           ''IH_SIGEL_A''      |      ''-''          |
 |$ B $           ''IH_SIGEL_B''      |      ''-''          | |$ B $           ''IH_SIGEL_B''      |      ''-''          |
Line 292: Line 294:
 |$ B3 $        |   ''KM2_SIGVOCE_B3''  |      ''-''          | |$ B3 $        |   ''KM2_SIGVOCE_B3''  |      ''-''          |
 |$\frac{k}{b^3}$ | ''KM2_BOLTZMANN_BURGER3''  |  ''-''          | |$\frac{k}{b^3}$ | ''KM2_BOLTZMANN_BURGER3''  |  ''-''          |
-|Module de Young          |   ''KM2_ELASTIC_MODULUS''      |  ''-''          | +|Young's Modulus         |   ''KM2_ELASTIC_MODULUS''      |  ''-''          | 
-|Coefficient de Poisson     ''KM2_POISSON_RATIO''        |  ''-''          |+|Poisson ratio   |   ''KM2_POISSON_RATIO''        |  ''-''          |
 |$\Theta_{0}$  |   ''KM_THETA0''          ''TM/TO''        |  |$\Theta_{0}$  |   ''KM_THETA0''          ''TM/TO''        | 
 |${\dot{\bar{\varepsilon}}^{vp}_{0}}$ |   ''KM_DEVPL0''    |  ''-''           | |${\dot{\bar{\varepsilon}}^{vp}_{0}}$ |   ''KM_DEVPL0''    |  ''-''           |
 +
 +
 +===== SellarsTeggartYieldStress =====
 +
 +Yield Stress used for hot rolling defined by  :
 +  * a Static term : 
 +$$
 +S0 = \sqrt(3)  \; KK (\sqrt(3)  \;\bar{\varepsilon}^{vp})^{M0}
 +$$
 +  * a Dynamic Term : 
 +$$
 +Ss = As  \; asinh(\frac{\dot{\bar{\varepsilon}}^{vp}}{Zs})^{Ms}
 +$$
 +  * for the Yield Stress computed by : 
 +$$
 +\sigma_{yield}  = S0 + (Ss - S0) (1-e^{-C \; \bar{\varepsilon}^{vp}})^{R}
 +$$
 +
 +=== Parameters === 
 +
 +^          Name                            Metafor Code  ^ Dependency         ^
 +|$KK $                                      ''SELLARSTEGGART_KK'' |  ''TM/TO''         
 +|$M0 $                                      ''SELLARSTEGGART_M0'' |  ''TM/TO''         |
 +|$As $                                      ''SELLARSTEGGART_AS'' |  ''TM/TO''         |
 +|$Zs $                                      ''SELLARSTEGGART_MS'' |  ''TM/TO''         
 +|$Ms $                                      ''SELLARSTEGGART_ZS'' |  ''TM/TO''         |
 +|$C $                                      |  ''SELLARSTEGGART_R'' |  ''TM/TO''         |
 +|$R $                                      |  ''SELLARSTEGGART_C'' |  ''TM/TO''         |
 +
 +
 +===== PythonYieldStress =====
 +
 +User defined Yield Stress by a pythonDirector :
 +Python Director allows user to define their own Yield Stress law. Four functions has to be defined in the Python Class : a constructor (__init__), a destructor (__del__) that must never be called, and the computation functions : getYieldStress (returning YieldStress) and getYieldHardening (returning h).
 +See the example below of a Perzyna law : 
 +<code>
 +
 +class MyYieldStress(PythonYieldStress):
 +    def __init__(self, _no, _svm0, _h, _K, _m):
 +        print("MyYieldStress: __init__")
 +        PythonYieldStress.__init__(self,_no)
 +        self.svm0 = _svm0
 +        self.h    = _h
 +        self.K    = _K
 +        self.m    = _m        
 +    def __del__(self):
 +        print("MyIsoH : __del__")
 +        print("callToDestructor of MyYieldStress not allowed. Add MyIsoH.__disown__()")
 +        input('')
 +        exit(1)
 +    def getYieldStress(self, evpl, deltaEvpl, dTime, yieldGPState, pLaw):
 +        #print "MyYieldStress compute Yield Stress"
 +        if dTime > 0.0:
 +            dEvpl = deltaEvpl/dTime
 +        else:
 +            dEvpl = 0.0
 +        sigH = self.svm0+evpl*self.h
 +        sigV = self.K*pow(dEvpl, self.m)
 +        #yieldGPState.setVpStress(sigV)
 +        return sigH+sigV
 +    def getYieldHardening(self, epl, deltaEvpl, dTime, yieldGPState, pLaw) :
 +        if dTime > 0.0:
 +            dEvpl = deltaEvpl/dTime
 +            h = self.h + (self.K*pow(dEvpl, self.m-1))/dTime
 +        else:
 +            dEvpl = 0.0
 +            h = self.h
 +        return h
 +</code>
  
doc/user/elements/volumes/yield_stress.txt · Last modified: 2020/07/08 10:27 by papeleux

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki