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: (external edit)
