/[escript]/trunk/modellib/py_src/crustal/setups.py
ViewVC logotype

Diff of /trunk/modellib/py_src/crustal/setups.py

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

revision 997 by gross, Mon Feb 26 06:31:45 2007 UTC revision 998 by gross, Mon Feb 26 07:09:37 2007 UTC
# Line 94  class DensityChange(Model): Line 94  class DensityChange(Model):
94           self.density_rate=Scalar(0.,Function(self.domain))           self.density_rate=Scalar(0.,Function(self.domain))
95           d={}           d={}
96           for i in self.__volumes:           for i in self.__volumes:
97              if self.mass_rate.has_key(i): d[i]=self.mass_rate[i]/self.__volumes[i]              if self.mass_rate.has_key(i): d[i]=-self.mass_rate[i]/self.__volumes[i]
98           self.tag_map.insert(self.density_rate,**d)           self.tag_map.insert(self.density_rate,**d)
99    
100  class LinearElasticStressChange(Model):  class LinearElasticStressChange(Model):
# Line 162  class LinearElasticStressChange(Model): Line 162  class LinearElasticStressChange(Model):
162      def doInitialStep(self):      def doInitialStep(self):
163          """          """
164          """          """
165            d=self.domain.getDim()
166          self.__pde.setValue(Y=-kronecker(Function(self.domain))[d-1]*9.81*self.density)          self.__pde.setValue(Y=-kronecker(Function(self.domain))[d-1]*9.81*self.density)
167          ddisp=self.__pde.getSolution()          ddisp=self.__pde.getSolution()
168          deps=symmetric(grad(ddisp))          deps=symmetric(grad(ddisp))
# Line 175  class LinearElasticStressChange(Model): Line 176  class LinearElasticStressChange(Model):
176      def terminateIteration(self):      def terminateIteration(self):
177          return not self.__first          return not self.__first
178    
179      def doInitialStepPostprocessing(self):      def doInitialPostprocessing(self):
180          self.__stress=self.stress          self.__stress=self.stress
181          self.__displacement=self.displacement          self.__displacement=self.displacement
182            self.trace("initial displacement range : %s: %s"%(inf(self.displacement[2]),sup(self.displacement[2])))
183            self.trace("initial stress range : %s: %s"%(inf(self.stress),sup(self.stress)))
184    
185      def doStepPreprocessing(self,dt):      def doStepPreprocessing(self,dt):
186          self.stress=self.__stress          self.stress=self.__stress
187          self.displacement=self.__displacement          self.displacement=self.__displacement
188          self.__first=True          self.__first=True
189                    
190      def doStep(self):      def doStep(self,dt):
191          """          """
192          """          """
193            d=self.domain.getDim()
194          if not self.density_rate == None:          if not self.density_rate == None:
195             self.__pde.setValue(Y=-kronecker(Function(self.domain))[d-1]*9.81*self.density_rate)             self.__pde.setValue(Y=-kronecker(Function(self.domain))[d-1]*9.81*self.density_rate)
196          ddisp=self.__pde.getSolution()          ddisp=self.__pde.getSolution()
# Line 198  class LinearElasticStressChange(Model): Line 202  class LinearElasticStressChange(Model):
202      def doStepPostprocessing(self, dt):      def doStepPostprocessing(self, dt):
203          self.__stress=self.stress          self.__stress=self.stress
204          self.__displacement=self.displacement          self.__displacement=self.displacement
205            self.trace("displacement range : %s: %s"%(inf(self.displacement[2]),sup(self.displacement[2])))
206            self.trace("stress range : %s: %s"%(inf(self.stress),sup(self.stress)))

Legend:
Removed from v.997  
changed lines
  Added in v.998

  ViewVC Help
Powered by ViewVC 1.1.26