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

Next revision
Previous revision
doc:user:elements:volumes:yield_stress [2013/07/11 14:43] – created jorisdoc:user:elements:volumes:yield_stress [2020/07/08 10:27] (current) – [SellarsTeggartYieldStress] 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               |  ''YIELD_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               |  ''YIELD_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               |  ''YIELD_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     |    ''YIELD_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.1373546620.txt.gz · Last modified: 2016/03/30 15:22 (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki