doc:user:elements:volumes:yield_stress
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
doc:user:elements:volumes:yield_stress [2015/01/26 12:15] – joris | doc:user:elements:volumes:yield_stress [2025/03/11 16:56] (current) – [SellarsTeggartYieldStress] papeleux | ||
---|---|---|---|
Line 166: | Line 166: | ||
$$ | $$ | ||
- | \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}} |
$$ | $$ | ||
Line 298: | Line 298: | ||
|$\Theta_{0}$ | |$\Theta_{0}$ | ||
|${\dot{\bar{\varepsilon}}^{vp}_{0}}$ | '' | |${\dot{\bar{\varepsilon}}^{vp}_{0}}$ | '' | ||
+ | |||
+ | |||
+ | ===== SellarsTegartYieldStress ===== | ||
+ | |||
+ | Yield Stress used for hot rolling defined by : | ||
+ | * a viscous power term : | ||
+ | $$ | ||
+ | S0 = \sqrt{3} | ||
+ | $$ | ||
+ | * a viscous asinh Term : | ||
+ | $$ | ||
+ | Ss = As \; asinh((\frac{\dot{\bar{\varepsilon}}^{vp}}{Zs})^{Ms}) | ||
+ | $$ | ||
+ | * for the Yield Stress computed by (using a Voce hardening term): | ||
+ | $$ | ||
+ | \sigma_{yield} | ||
+ | $$ | ||
+ | |||
+ | === Parameters === | ||
+ | |||
+ | ^ Name | ||
+ | |$KK $ | ||
+ | |$M0 $ | ||
+ | |$As $ | ||
+ | |$Zs $ | ||
+ | |$Ms $ | ||
+ | |$C $ | '' | ||
+ | |$R $ | '' | ||
+ | |||
+ | |||
+ | ===== 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 : | ||
+ | < | ||
+ | |||
+ | class MyYieldStress(PythonYieldStress): | ||
+ | def __init__(self, | ||
+ | print(" | ||
+ | PythonYieldStress.__init__(self, | ||
+ | self.svm0 = _svm0 | ||
+ | self.h | ||
+ | self.K | ||
+ | self.m | ||
+ | def __del__(self): | ||
+ | print(" | ||
+ | print(" | ||
+ | input('' | ||
+ | exit(1) | ||
+ | def getYieldStress(self, | ||
+ | #print " | ||
+ | if dTime > 0.0: | ||
+ | dEvpl = deltaEvpl/ | ||
+ | else: | ||
+ | dEvpl = 0.0 | ||
+ | sigH = self.svm0+evpl*self.h | ||
+ | sigV = self.K*pow(dEvpl, | ||
+ | # | ||
+ | return sigH+sigV | ||
+ | def getYieldHardening(self, | ||
+ | if dTime > 0.0: | ||
+ | dEvpl = deltaEvpl/ | ||
+ | h = self.h + (self.K*pow(dEvpl, | ||
+ | else: | ||
+ | dEvpl = 0.0 | ||
+ | h = self.h | ||
+ | return h | ||
+ | </ | ||
+ |
doc/user/elements/volumes/yield_stress.1422270933.txt.gz · Last modified: 2016/03/30 15:22 (external edit)