/[escript]/trunk/escript/py_src/pdetools.py
ViewVC logotype

Diff of /trunk/escript/py_src/pdetools.py

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

revision 893 by gross, Wed Nov 8 08:20:19 2006 UTC revision 1122 by gross, Tue May 1 03:21:04 2007 UTC
# Line 132  class Projector: Line 132  class Projector:
132      self.__pde.setValue(D = 1.)      self.__pde.setValue(D = 1.)
133      return      return
134    
   def __del__(self):  
     return  
   
135    def __call__(self, input_data):    def __call__(self, input_data):
136      """      """
137      Projects input_data onto a continuous function      Projects input_data onto a continuous function
# Line 142  class Projector: Line 139  class Projector:
139      @param input_data: The input_data to be projected.      @param input_data: The input_data to be projected.
140      """      """
141      out=escript.Data(0.,input_data.getShape(),self.__pde.getFunctionSpaceForSolution())      out=escript.Data(0.,input_data.getShape(),self.__pde.getFunctionSpaceForSolution())
142        self.__pde.setValue(Y = escript.Data(), Y_reduced = escript.Data())
143      if input_data.getRank()==0:      if input_data.getRank()==0:
144          self.__pde.setValue(Y = input_data)          self.__pde.setValue(Y = input_data)
145          out=self.__pde.getSolution()          out=self.__pde.getSolution()
# Line 310  class Locator: Line 308  class Locator:
308         if isinstance(x, list):         if isinstance(x, list):
309             self.__id=[]             self.__id=[]
310             for p in x:             for p in x:
311                self.__id.append(util.length(self.__function_space.getX()-p[:self.__function_space.getDim()]).mindp())                self.__id.append(util.length(self.__function_space.getX()-p[:self.__function_space.getDim()]).minGlobalDataPoint())
312         else:         else:
313             self.__id=util.length(self.__function_space.getX()-x[:self.__function_space.getDim()]).mindp()             self.__id=util.length(self.__function_space.getX()-x[:self.__function_space.getDim()]).minGlobalDataPoint()
314    
315       def __str__(self):       def __str__(self):
316         """         """
# Line 380  class Locator: Line 378  class Locator:
378             if isinstance(id,list):             if isinstance(id,list):
379                 out=[]                 out=[]
380                 for i in id:                 for i in id:
381                    o=data.convertToNumArrayFromDPNo(*i)                    o=data.getValueOfGlobalDataPoint(*i)
382                    if data.getRank()==0:                    if data.getRank()==0:
383                       out.append(o[0])                       out.append(o[0])
384                    else:                    else:
385                       out.append(o)                       out.append(o)
386                 return out                 return out
387             else:             else:
388               out=data.convertToNumArrayFromDPNo(*id)               out=data.getValueOfGlobalDataPoint(*id)
389               if data.getRank()==0:               if data.getRank()==0:
390                  return out[0]                  return out[0]
391               else:               else:
# Line 404  class SaddlePointProblem(object): Line 402  class SaddlePointProblem(object):
402    
403     for u and p. The problem is solved with an inexact Uszawa scheme for p:     for u and p. The problem is solved with an inexact Uszawa scheme for p:
404    
405     M{Q_f (u^{k+1}-u^{k}) = - f(u^{k},p^{k})     M{Q_f (u^{k+1}-u^{k}) = - f(u^{k},p^{k})}
406     M{Q_g (p^{k+1}-p^{k}) =   g(u^{k+1})}     M{Q_g (p^{k+1}-p^{k}) =   g(u^{k+1})}
407    
408     where Q_f is an approximation of the Jacobiean A_f of f with respect to u  and Q_f is an approximation of     where Q_f is an approximation of the Jacobiean A_f of f with respect to u  and Q_f is an approximation of
# Line 416  class SaddlePointProblem(object): Line 414  class SaddlePointProblem(object):
414         """         """
415         initializes the problem         initializes the problem
416    
417         @parm verbose: switches on the printing out some information         @param verbose: switches on the printing out some information
418         @type verbose: C{bool}         @type verbose: C{bool}
419         @note: this method may be overwritten by a particular saddle point problem         @note: this method may be overwritten by a particular saddle point problem
420         """         """
421           if not isinstance(verbose,bool):
422                raise TypeError("verbose needs to be of type bool.")
423         self.__verbose=verbose         self.__verbose=verbose
424         self.relaxation=1.         self.relaxation=1.
425    
# Line 427  class SaddlePointProblem(object): Line 427  class SaddlePointProblem(object):
427         """         """
428         prints text if verbose has been set         prints text if verbose has been set
429    
430         @parm text: a text message         @param text: a text message
431         @type text: C{str}         @type text: C{str}
432         """         """
433         if self.__verbose: print "%s: %s"%(str(self),text)         if self.__verbose: print "%s: %s"%(str(self),text)

Legend:
Removed from v.893  
changed lines
  Added in v.1122

  ViewVC Help
Powered by ViewVC 1.1.26