This is an old revision of the document!
Table of Contents
"Fluid" materials
FluidHypoMaterial
Description
Material law describing a non viscous fluid.
Stresses are computed with
$$ \sigma_{ij} = s_{ij} + \delta_{ij} p $$ with $ s_{ij} = 0 $ in a non viscous fluid.
The equation which associates pressure and volume is $$ dP = -K \frac{dV}{V} $$ where $K$ is the bulk modulus.
Parameters
Name | Metafor Code | Dependency |
---|---|---|
Density | MASS_DENSITY | |
Bulk Modulus | BULK_MODULUS |
NortonHoffHypoMaterial
Description
Norton-Hoff law descriding a viscous fluid.
Stresses are computed with $$ \sigma_{ij} = s_{ij} + p \delta_{ij} $$
where $p$ is the hydrostatic pressure and $ s_{ij} $ the stress deviator tensor.
The stress deviator tensor ($ s_{ij} $) is determined upon the strain rate deviator tensor ($ D_{ij} $) through the following equation
$$ s_{ij} = 2 \mu D_{ij} \left( \sqrt{3} \ \sqrt{\frac{2}{3} D_{wz}.D_{wz}} \right)^{m-1}$$
Hydrostatic pressure is computed upon volume variation through the following eqation
$$ dp = K \frac{dV}{V} $$
where $K$ is the bulk modulus and $V$ the volume.
Parameters
Name | Metafor Code | Dependency |
---|---|---|
Viscosity parameter | NORTON_MU | TM |
Bulk modulus | BULK_MODULUS | TM |
Parameter m | NORTON_M | TM |
Density | MASS_DENSITY | TM |
NortonHoffPHypoMaterial
Description
This law is identical to NortonHoffHypoMaterial but it can account for the variation of the bulk modulus and the viscosity parameter with the hydrostatic pressure $p$.
Parameters
Name | Metafor Code | Dependency |
---|---|---|
Viscosity parameter | NORTON_MU | TM/IF_P |
Bulk modulus | BULK_MODULUS | TM/IF_P |
Parameter m | NORTON_M | TM |
Density | MASS_DENSITY | TM |
Accounting for bulk modulus variation with pressure
self.p['k0']+self.p['dkdp']*pres
class MyBulkFunction(PythonDirectorOneParameterFunction): def __init__(self,_p): PythonDirectorOneParameterFunction.__init__(self) self.debugRefs() self.p = _p def __del__(self): print "MyBulkFunction : __del__ begin\n" print "callToDestructor of MyBulkFunction not allowed." print "Add MyBulkFunction.__disown__()" exit(1) def evaluate(self, pres): if pres>=0.0: # pression positive en traction ! return self.p['k0'] else : # pression négative en compression ! return self.p['k0']+self.p['dkdp']*pres def computeDerivation(self, pres): if pres>=0.0: return 0.0 else : return self.p['dkdp']
bulkLaw = MyBulkFunction(p) #print "help(bulkLaw) = ", help(bulkLaw) materset = domain.getMaterialSet() materset.define(1,NortonHoffPHypoMaterial) materset(1).put(BULK_MODULUS , 1.0) materset(1).depend(BULK_MODULUS , bulkLaw, Field(IF_P))
TmNortonHoffHypoMaterial
Description
Norton-Hoff law including thermal aspects.
Parameters
Name | Metafor Code | Dependency |
---|---|---|
Density | MASS_DENSITY | |
Bulk modulus | BULK_MODULUS | |
Parameter m | NORTON_M | |
Viscosity parameter | NORTON_MU | |
Thermal expansion | THERM_EXPANSION | TO/TM |
Conductivity | CONDUCTIVITY | TO/TM |
Heat capacity | HEAT_CAPACITY | TO/TM |
Dissipated thermoelastic power fraction | DISSIP_TE | - |
Dissipated (visco)plastic power fraction (Taylor-Quinney factor) | DISSIP_TQ | - |