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

Diff of /trunk/modellib/py_src/geometry.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 401 by gross, Thu Dec 22 06:39:36 2005 UTC revision 490 by gross, Thu Feb 2 07:07:21 2006 UTC
# Line 14  class FinleyReader(ParameterSet): Line 14  class FinleyReader(ParameterSet):
14         @ivar domain:         @ivar domain:
15         """         """
16         def __init__(self,debug=False):         def __init__(self,debug=False):
17             Model.__init__(self,debug=debug)             super(FinleyReader,self).__init__(debug=debug)
18               ParameterSet.__init__(self,debug=debug)
19             self.declareParameter(source="none",\             self.declareParameter(source="none",\
20                                   integrationOrder=-1)                                   integrationOrder=-1)
21             self._domain=None             self._domain=None
22    
23         def domain(self):         def domain(self):
24            if self._domain==None:            if self._domain==None:
25                self._domain=finley.ReadMesh(self.source,integrationOrder)                self._domain=finley.ReadMesh(self.source,self.integrationOrder)
26                self.trace("mesh read from %s"%self.source)                          self.trace("mesh read from %s"%self.source)          
27            return self.domain            return self._domain
28                                                
29  class RectangularDomain(ParameterSet):  class RectangularDomain(ParameterSet):
30         """         """
# Line 38  class RectangularDomain(ParameterSet): Line 39  class RectangularDomain(ParameterSet):
39         @ivar domain:         @ivar domain:
40         """         """
41         def __init__(self,debug=False):         def __init__(self,debug=False):
42             Model.__init__(self,debug=debug)             super(RectangularDomain,self).__init__(debug=debug)
43             self.declareParameter(dim=2,\             self.declareParameter(dim=2,\
44                                   l=[1.,1.,1.],\                                   l=[1.,1.,1.],\
45                                   n=[10,10,10], \                                   n=[10,10,10], \
# Line 95  class ConstrainValue(Model): Line 96  class ConstrainValue(Model):
96             """             """
97             initialize time stepping             initialize time stepping
98             """             """
99               tol=1.e-8
100             x=self.domain.getX()             x=self.domain.getX()
101             d=self.domain.getDim()             d=self.domain.getDim()
102             self.location_constrained_value=0             self.location_constrained_value=0
103             x0=x[0]             x0=x[0]
104               mx=sup(x0)
105               mn=inf(x0)
106             if self.left:             if self.left:
107                 self.location_constrained_value=self.location_constrained_value+whereZero(x0-inf(x0))                 self.location_constrained_value=self.location_constrained_value+whereZero(x0-mn,tol*(mx-mn))
108             if self.right:             if self.right:
109                 self.location_constrained_value=self.location_constrained_value+whereZero(x0-sup(x0))                 self.location_constrained_value=self.location_constrained_value+whereZero(x0-mx,tol*(mx-mn))
110             x0=x[d-1]             x0=x[d-1]
111             if self.buttom:             mx=sup(x0)
112                 self.location_constrained_value=self.location_constrained_value+whereZero(x0-inf(x0))             mn=inf(x0)
113               if self.bottom:
114                   self.location_constrained_value=self.location_constrained_value+whereZero(x0-mn,tol*(mx-mn))
115             if self.top:             if self.top:
116                 self.location_constrained_value=self.location_constrained_value+whereZero(x0-sup(x0))                 self.location_constrained_value=self.location_constrained_value+whereZero(x0-mx,tol*(mx-mn))
117             if d>2:             if d>2:
118                x0=x[1]                x0=x[1]
119                  mx=sup(x0)
120                  mn=inf(x0)
121                if self.front:                if self.front:
122                   self.location_constrained_value=self.location_constrained_value+whereZero(x0-inf(x0))                   self.location_constrained_value=self.location_constrained_value+whereZero(x0-mn,tol*(mx-mn))
123                if self.back:                if self.back:
124                   self.location_constrained_value=self.location_constrained_value+whereZero(x0-sup(x0))                             self.location_constrained_value=self.location_constrained_value+whereZero(x0-mx,tol*(mx-mn))          
125             self.constrain_value=self.value*self.location_constrained_value             self.constrain_value=self.value*self.location_constrained_value
126                        
127  class ScalarConstrainer(ParameterSet):  class ScalarConstrainer(ParameterSet):

Legend:
Removed from v.401  
changed lines
  Added in v.490

  ViewVC Help
Powered by ViewVC 1.1.26