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+pδij
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 |
Advice for modelling low viscosity fluid
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 | - |