Package esys :: Package escript :: Module rheologies :: Class PowerLaw
[hide private]
[frames] | no frames]

Class PowerLaw

object --+
         |
        PowerLaw
Known Subclasses:

this implements the power law for a composition of a set of materials where the viscosity eta of each material is given by a power law relationship of the form

eta=eta_N*(tau/tau_t)**(1./power-1.)

where tau is equivalent stress and eta_N, tau_t and power are given constant. Moreover an elastic component can be considered. Moreover tau meets the Drucker-Prager type yield condition

tau <= tau_Y + friction * pressure

where gamma_dot is the equivalent.

Instance Methods [hide private]
 
__init__(self, numMaterials=1, verbose=False)
initializes a power law
 
getElasticShearModulus(self)
returns the elastic shear modulus.
 
getEtaEff(self, gamma_dot, eta0=None, pressure=None, dt=None, iter_max=30)
returns the effective viscosity eta_eff such that
 
getEtaN(self, id=None)
returns the viscosity
 
getEtaTolerance(self)
returns the relative tolerance for the effectice viscosity.
 
getFriction(self)
returns the friction coefficient
int
getNumMaterials(self)
returns the numebr of materials
 
getPower(self, id=None)
returns the power in the power law
 
getTauT(self, id=None)
returns the transition stress
 
getTauY(self)
returns the yield stress
 
setDruckerPragerLaw(self, tau_Y=None, friction=None)
Sets the parameters for the Drucker-Prager model.
 
setElasticShearModulus(self, mu=None)
Sets the elastic shear modulus.
 
setEtaTolerance(self, rtol=0.0001)
sets the relative tolerance for the effectice viscosity.
 
setPowerLaw(self, eta_N, id=0, tau_t=1, power=1)
Sets the power-law parameters for material id
 
setPowerLaws(self, eta_N, tau_t, power)
Sets the parameters of the power-law for all materials.
bool
validMaterialId(self, id=0)
checks if a given material id is valid

Inherited from object: __delattr__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __str__

Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(self, numMaterials=1, verbose=False)
(Constructor)

 

initializes a power law

Parameters:
  • numMaterials (int) - number of materials
  • verbose (bool) - if True some informations are printed.
Overrides: object.__init__

getElasticShearModulus(self)

 

returns the elastic shear modulus.

Returns:
elastic shear modulus

getEtaEff(self, gamma_dot, eta0=None, pressure=None, dt=None, iter_max=30)

 

returns the effective viscosity eta_eff such that

tau=eta_eff * gamma_dot

by solving a non-linear problem for tau.

Parameters:
  • gamma_dot - equivalent strain gamma_dot
  • eta0 - initial guess for the effective viscosity (e.g from a previous time step). If not present, an initial guess is calculated.
  • pressure - pressure used to calculate yield condition
  • dt (positive float if present) - time step size. only needed if elastic component is considered.
  • iter_max (int) - maximum number of iteration steps.
Returns:
effective viscosity.

getEtaN(self, id=None)

 

returns the viscosity

Parameters:
  • id (int) - if present, the viscosity for material id is returned.
Returns:
the list of the viscosities for all matrials is returned. If id is present only the viscosity for material id is returned.

getEtaTolerance(self)

 

returns the relative tolerance for the effectice viscosity.

Returns:
relative tolerance

getFriction(self)

 

returns the friction coefficient

Returns:
friction coefficient

getNumMaterials(self)

 

returns the numebr of materials

Returns: int
number of materials

getPower(self, id=None)

 

returns the power in the power law

Parameters:
  • id (int) - if present, the power for material id is returned.
Returns:
the list of the powers for all matrials is returned. If id is present only the power for material id is returned.

getTauT(self, id=None)

 

returns the transition stress

Parameters:
  • id (int) - if present, the transition stress for material id is returned.
Returns:
the list of the transition stresses for all matrials is returned. If id is present only the transition stress for material id is returned.

getTauY(self)

 

returns the yield stress

Returns:
the yield stress

setDruckerPragerLaw(self, tau_Y=None, friction=None)

 

Sets the parameters for the Drucker-Prager model.

Parameters:
  • tau_Y - yield stress
  • friction - friction coefficient

setElasticShearModulus(self, mu=None)

 

Sets the elastic shear modulus.

Parameters:
  • mu - elastic shear modulus

setEtaTolerance(self, rtol=0.0001)

 

sets the relative tolerance for the effectice viscosity.

Parameters:
  • rtol (positive float) - relative tolerance

setPowerLaw(self, eta_N, id=0, tau_t=1, power=1)

 

Sets the power-law parameters for material id

Parameters:
  • id (int) - material id
  • eta_N - viscosity for tau=tau_t
  • tau_t - transition stress
  • power - power law coefficient

setPowerLaws(self, eta_N, tau_t, power)

 

Sets the parameters of the power-law for all materials.

Parameters:
  • eta_N - list of viscosities for tau=tau_t
  • tau_t - list of transition stresses
  • power - list of power law coefficient

validMaterialId(self, id=0)

 

checks if a given material id is valid

Parameters:
  • id (int) - a material id
Returns: bool
True is the id is valid