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
σij=sij+δijp with sij=0 in a non viscous fluid.
The equation which associates pressure and volume is dP=−KdVV 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 σij=sij+pδij
where p is the hydrostatic pressure and sij the stress deviator tensor.
The stress deviator tensor (sij) is determined upon the strain rate deviator tensor (Dij) through the following equation
sij=2μDij(√3 √23Dwz.Dwz)m−1
Hydrostatic pressure is computed upon volume variation through the following eqation
dp=KdVV
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 | - |