/[escript]/trunk/modellib/py_src/materials.py
ViewVC logotype

Contents of /trunk/modellib/py_src/materials.py

Parent Directory Parent Directory | Revision Log Revision Log


Revision 149 - (show annotations)
Thu Sep 1 03:31:39 2005 UTC (17 years, 6 months ago) by jgs
Original Path: trunk/esys2/modellib/py_src/materials.py
File MIME type: text/x-python
File size: 4501 byte(s)
Merge of development branch dev-02 back to main trunk on 2005-09-01

1 # $Id$
2
3 from esys.escript.modelframe import Model,ParameterSet
4 from esys.escript.util import exp
5 import numarray
6
7 class GravityForce(ParameterSet):
8 """
9 Sets a gravity force of given direction in given domain:
10
11 @ivar domain (in): domain of interest
12 @ivar density (in): density
13 @ivar direction (in): density
14 @ivar gravity_force(out): gravity force
15 """
16 def __init__(self,debug=False):
17 ParameterSet.__init__(self,debug=debug)
18 self.declareParameter(domain=None,
19 gravity=9.81, \
20 density=1., \
21 direction=[1.,0.,0.])
22
23 def gravity_force(self):
24 if isinstance(self.direction,list):
25 dir=numarray.array(self.direction[:self.domain.getDim()])
26 else:
27 dir=self.direction[:self.domain.getDim()]
28 return self.gravity*self.density*dir
29
30
31
32 class MaterialTable(ParameterSet):
33 """
34 A simple matrial table which allows setting physical ivar of a model
35
36 @ivar density (in/out): density
37 @ivar heat_capacity (in/out): heat_capacity
38 @ivar thermal_permabilty (in/out): permabilty
39 @ivar viscosity (in/out): viscosity
40 @ivar radiation_coefficient (in/out):
41 """
42 def __init__(self,debug=False):
43 ParameterSet.__init__(self,debug=debug)
44 self.declareParameter(gravity=9.81, \
45 density=1., \
46 heat_capacity=1., \
47 thermal_permabilty=1., \
48 radiation_coefficient=0.)
49
50 class SimpleEarthModel(ParameterSet):
51 """
52 B simple matrial table run convection models::
53
54 density=density0*(1-rayleigh_number*(temperature-reference_temperature))
55 viscocity=viscocity0*(exp(alpha*(1/reference_temperature - 1/temperature))
56
57 @ivar gravity (in): gravity constants (9.81)
58 @ivar reference_temperature (in): reference temperature
59 @ivar density0 (in): density at reference temperature
60 @ivar viscosity0 (in): viscosity0 at reference temperature
61 @ivar alpha (in): viscosity contrast
62 @ivar rayleigh_number (in): Raleigh number
63 @ivar heat_capacity (in): heat capacity
64 @ivar thermal_permabilty (in): permabilty
65 @ivar temperature (in): temperature
66 @ivar viscosity (out): viscosity
67 @ivar density (out): density
68 """
69 def __init__(self,debug=False):
70 ParameterSet.__init__(self,debug=debug)
71 self.declareParameter(reference_temperature=1.,
72 gravity=9.81, \
73 density0=1., \
74 rayleigh_number=0., \
75 viscosity0=1., \
76 alpha=0., \
77 heat_capacity=1., \
78 thermal_permabilty=1.)
79
80 def density(self):
81 return self.density0*(1-self.rayleigh_number*(self.temperature-self.reference_temperature))
82
83 def viscosity(self):
84 return self.viscosity0*exp(self.alpha*(1/self.reference_temperature - 1/(self.temperature+1.e-15)))
85
86 class SimpleSolidMaterial(MaterialTable):
87 """
88 A simple matrial table which allows setting physical parameters of
89 a model.
90
91 @ivar density (in/out): density
92 @ivar heat_capacity (in/out): heat_capacity
93 @ivar thermal_permabilty (in/out): permabilty
94 @ivar viscosity (in/out): viscosity
95 @ivar radiation_coefficient (in/out):
96 """
97 def __init__(self,debug=False):
98 MaterialTable.__init__(self,debug=debug)
99 self.declareParameter(lame_lambda=1.,\
100 lame_my=1.)
101
102 class SimpleFluidMaterial(MaterialTable):
103 """
104 A simple matrial table which allows setting physical ivar of a model.
105
106 @ivar density (in/out): density
107 @ivar heat_capacity (in/out): heat_capacity
108 @ivar thermal_permabilty (in/out): permabilty
109 @ivar viscosity (in/out): viscosity
110 @ivar radiation_coefficient (in/out):
111 """
112 def __init__(self,debug=False):
113 MaterialTable.__init__(self,debug=debug)
114 self.declareParameter(viscosity=1., \
115 hydraulic_conductivity=1.e-4)
116
117 # vim: expandtab shiftwidth=4:

Properties

Name Value
svn:eol-style native
svn:keywords Author Date Id Revision

  ViewVC Help
Powered by ViewVC 1.1.26