# Diff of /trunk/escript/py_src/rheologies.py

revision 2437 by gross, Wed May 20 06:06:20 2009 UTC revision 2438 by gross, Tue May 26 02:26:52 2009 UTC
# Line 41  class PowerLaw(object): Line 41  class PowerLaw(object):
41      this implements the power law for a composition of a set of materials where the viscosity eta of each material is given by a      this implements the power law for a composition of a set of materials where the viscosity eta of each material is given by a
42      power law relationship of the form      power law relationship of the form
43
44      M{eta=eta_N*(tau/tau_t)**(1.-1./power)}      M{eta=eta_N*(tau/tau_t)**(1./power-1.)}
45
46      where tau is equivalent stress and eta_N, tau_t and power are given constant. Moreover an elastic component can be considered.      where tau is equivalent stress and eta_N, tau_t and power are given constant. Moreover an elastic component can be considered.
47      Moreover tau meets the Drucker-Prager type yield condition      Moreover tau meets the Drucker-Prager type yield condition
# Line 224  class PowerLaw(object): Line 224  class PowerLaw(object):
224                 self.setPowerLaw(id=i, eta_N=eta_N[i],tau_t=tau_t[i],power=power[i])                 self.setPowerLaw(id=i, eta_N=eta_N[i],tau_t=tau_t[i],power=power[i])
225
226      #===========================================================================      #===========================================================================
227      def getEtaEff(self,gamma_dot, eta0=None, pressure=None,dt=None, iter_max=10):      def getEtaEff(self,gamma_dot, eta0=None, pressure=None,dt=None, iter_max=30):
228           """           """
229           returns the effective viscosity eta_eff such that           returns the effective viscosity eta_eff such that
230
# Line 243  class PowerLaw(object): Line 243  class PowerLaw(object):
243           """           """
244           SMALL=1./(util.DBLE_MAX/100.)           SMALL=1./(util.DBLE_MAX/100.)
245           numMaterial=self.getNumMaterials()           numMaterial=self.getNumMaterials()
246           s=[1.-1./p for p in self.getPower() ]           s=[p-1. for p in self.getPower() ]
247           eta_N=self.getEtaN()           eta_N=self.getEtaN()
248           tau_t=self.getTauT()           tau_t=self.getTauT()
249           mu=self.getElasticShearModulus()           mu=self.getElasticShearModulus()
# Line 606  class IncompressibleIsotropicFlowCartesi Line 606  class IncompressibleIsotropicFlowCartesi
606               proposed in U{Hans-Bernd Muhlhaus<emailto:h.muhlhaus@uq.edu.au>}               proposed in U{Hans-Bernd Muhlhaus<emailto:h.muhlhaus@uq.edu.au>}
607               and U{Klaus Regenauer-Lieb<mailto:klaus.regenauer-lieb@csiro.au>}:               and U{Klaus Regenauer-Lieb<mailto:klaus.regenauer-lieb@csiro.au>}:
608               I{Towards a self-consistent plate mantle model that includes elasticity: simple benchmarks and application to basic modes of convection},               I{Towards a self-consistent plate mantle model that includes elasticity: simple benchmarks and application to basic modes of convection},
609               see U{doi: 10.1111/j.1365-246X.2005.02742.x<http://www3.interscience.wiley.com/journal/118661486/abstract?CRETRY=1&SRETRY=0>}.               see U{doi: 10.1111/j.1365-246X.2005.02742.x<http://www3.interscience.wiley.com/journal/118661486/abstract>}

610        """        """
611        def __init__(self, domain, stress=0, v=0, p=0, t=0, numMaterials=1, verbose=True):        def __init__(self, domain, stress=0, v=0, p=0, t=0, numMaterials=1, verbose=True):
612           """           """

Legend:
 Removed from v.2437 changed lines Added in v.2438