/[escript]/trunk/downunder/py_src/datasources.py
ViewVC logotype

Diff of /trunk/downunder/py_src/datasources.py

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

revision 4040 by jfenwick, Sun Oct 28 22:37:45 2012 UTC revision 4041 by caltinay, Sun Oct 28 23:42:35 2012 UTC
# Line 367  class DataSource(object): Line 367  class DataSource(object):
367    
368          if self._constrainBottom:          if self._constrainBottom:
369              mask = mask + whereNonPositive(x[2])              mask = mask + whereNonPositive(x[2])
370          self.getSetDensityMask(wherePositive(mask))          self.setSetDensityMask(wherePositive(mask))
371    
372          self.logger.debug("Domain size: %d x %d x %d elements"%(self._dom_NE[0],self._dom_NE[1],self._dom_NE[2]))          self.logger.debug("Domain size: %d x %d x %d elements"%(self._dom_NE[0],self._dom_NE[1],self._dom_NE[2]))
373          self.logger.debug("     length: %g x %g x %g"%(self._dom_len[0],self._dom_len[1],self._dom_len[2]))          self.logger.debug("     length: %g x %g x %g"%(self._dom_len[0],self._dom_len[1],self._dom_len[2]))
# Line 792  class SmoothAnomaly(SourceFeature): Line 792  class SmoothAnomaly(SourceFeature):
792    
793      def getDensity(self,x):      def getDensity(self,x):
794          if self.rho is None:          if self.rho is None:
795          if self.rho_outer is None or self.rho_inner is None:              if self.rho_outer is None or self.rho_inner is None:
796              self.rho=0                  self.rho=0
797          else:              else:
798          DIM=x.getDomain().getDim()                    DIM=x.getDomain().getDim()  
799          alpha=-log(abs(self.rho_outer/self.rho_inner))*4                  alpha=-log(abs(self.rho_outer/self.rho_inner))*4
800          rho=exp(-alpha*((x[0]-self.x)/self.lx)**2)                  rho=exp(-alpha*((x[0]-self.x)/self.lx)**2)
801          rho=rho*exp(-alpha*((x[DIM-1]-(sup(x[DIM-1])-self.depth))/self.lz)**2)                  rho=rho*exp(-alpha*((x[DIM-1]-(sup(x[DIM-1])-self.depth))/self.lz)**2)
802          self.rho=maximum(abs(self.rho_outer), abs(self.rho_inner*rho))                  self.rho=maximum(abs(self.rho_outer), abs(self.rho_inner*rho))
803          if self.rho_inner<0: self.rho=-self.rho                  if self.rho_inner<0: self.rho=-self.rho
804                            
805          return self.rho          return self.rho
806                    
807      def getSusceptibility(self,x):      def getSusceptibility(self,x):
808           if self.k is None:           if self.k is None:
809          if self.k_outer is None or self.k_inner is None:              if self.k_outer is None or self.k_inner is None:
810              self.k=0                  self.k=0
811          else:              else:
812              DIM=x.getDomain().getDim()                    DIM=x.getDomain().getDim()  
813                  alpha=-log(abs(self.k_outer/self.k_inner))*4                  alpha=-log(abs(self.k_outer/self.k_inner))*4
814                  k=exp(-alpha*((x[0]-self.x)/self.lx)**2)                  k=exp(-alpha*((x[0]-self.x)/self.lx)**2)
815                  k=k*exp(-alpha*((x[DIM-1]-(sup(x[DIM-1])-self.depth))/self.lz)**2)                  k=k*exp(-alpha*((x[DIM-1]-(sup(x[DIM-1])-self.depth))/self.lz)**2)
# Line 940  class SyntheticDataSource(DataSource): Line 940  class SyntheticDataSource(DataSource):
940         B_r= 2 * B_0 * cos(theta)         B_r= 2 * B_0 * cos(theta)
941         DIM=self.getDomain().getDim()         DIM=self.getDomain().getDim()
942         if DIM<3:         if DIM<3:
943        return np.array([0.,  -B_r])            return np.array([0.,  -B_r])
944         else:         else:
945            return np.array([-B_theta, 0.,  -B_r])            return np.array([-B_theta, 0.,  -B_r])

Legend:
Removed from v.4040  
changed lines
  Added in v.4041

  ViewVC Help
Powered by ViewVC 1.1.26