Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


doc:user:elements:volumes:isohard

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
doc:user:elements:volumes:isohard [2017/10/03 08:37] – [KrupkowskyIsotropicHardening] bomandoc:user:elements:volumes:isohard [2020/07/08 10:16] (current) – [Python] papeleux
Line 21: Line 21:
 |Initial yield stress $\sigma^{el}$  |  ''IH_SIGEL''  |  ''TM/TO''         | |Initial yield stress $\sigma^{el}$  |  ''IH_SIGEL''  |  ''TM/TO''         |
 |Plastic Modulus $h $                |    ''IH_H''    |  ''TM/TO''          |Plastic Modulus $h $                |    ''IH_H''    |  ''TM/TO''         
 +
 +**NB**: the plastic modulus is defined as $h = \frac{E E_T}{E - E_T} $, where $E$ is the Young's modulus and $E_T$ the tangent modulus.
  
 ===== SaturatedIsotropicHardening ===== ===== SaturatedIsotropicHardening =====
Line 97: Line 99:
  
 $$ $$
-\sigma_{vm} = K \left(\bar{\varepsilon}^{vp}_ {0} + \bar{\varepsilon}^{vp}\right)^{n}+\sigma_{vm} = K \left(\bar{\varepsilon}^{vp}_{0} + \bar{\varepsilon}^{vp}\right)^{n}
 $$ $$
  
 === Parameters === === Parameters ===
  
-^          Name                                        ^  Metafor Code  ^ Dependency         ^ +^          Name                                                   ^  Metafor Code  ^ Dependency         ^ 
-|Initial equivalent plastic strain |  ''IH_EVPL0''  |  ''TM/TO''         | +| Initial equivalent plastic strain $\bar{\varepsilon}^{vp}_{0}$  |  ''IH_EVPL0''  |  ''TM/TO''         | 
-|$K $                                      |    ''IH_K''    |  ''TM/TO''         |  +strength coefficient  $K$                                       |    ''IH_K''    |  ''TM/TO''         |  
-|$n $                                      |    ''IH_N''    |  ''TM/TO''         +strain hardening exponent $n$                                   |    ''IH_N''    |  ''TM/TO''         
  
 ===== Nl8pIsotropicHardening ===== ===== Nl8pIsotropicHardening =====
Line 248: Line 250:
 |$\Theta_{0}$  |   ''KM_THETA0''      ''TM/TO''            |$\Theta_{0}$  |   ''KM_THETA0''      ''TM/TO''           
 |$\Theta_{IV}$ |   ''KM_THETA4''      ''TM/TO''           | |$\Theta_{IV}$ |   ''KM_THETA4''      ''TM/TO''           |
 +
 +===== Python =====
 +
 +User defined Isotropic Hardening by a pythonDirector :
 +
 +Python Director allows user to define their own Isotropic Hardening law. Five functions has to be defined in the Python Class : 
 +  * a constructor (<code>__init__</code>),
 +  * a destructor (<code>__del__</code>) that must never be called, 
 +  * computeSvm  (epl, pLaw)
 +  * computeH (epl, pLaw)
 +  * computePotential (epl, pLaw) for hyperElastics models
 +See the example below of a Linear Isotropic Hardening : 
 +<code>
 +
 +class MyIsoH(PythonIsotropicHardening):
 +    def __init__(self, _no, _svm0, _h):
 +        print("MyIsoH : __init__")
 +        PythonIsotropicHardening.__init__(self,_no)
 +        self.svm0 = _svm0
 +        self.h    = _h
 +        print("no = ", _no)
 +        print("self.svm0 = ", self.svm0)
 +        print("self.h = ", self.h)
 +        print("MyIsoH : __init__ finished")
 +        print("computeSvm(0.0) = " , self.computeSvm(0.0, None))
 +    def __del__(self):
 +        print("MyIsoH : __del__")
 +        print("callToDestructor of MyIsoH not allowed. Add MyIsoH.__disown__()")
 +        input('')
 +        exit(1)
 +    def computeSvm(self, epl, pLaw) :
 +        #print "MyIsoH compute SVM"
 +        return self.svm0+epl*self.h
 +    def computeH(self, epl, pLaw) :
 +        #print "MyIsoH compute H"
 +        return self.h
 +    def computePotential(self, epl, pLaw) :
 +        #print "MyIsoH compute Potential"
 +        return (self.svm0+self.h*epl*0.5)*epl
 +</code>
  
  
doc/user/elements/volumes/isohard.txt · Last modified: 2020/07/08 10:16 by papeleux

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki