/[escript]/trunk-mpi-branch/escript/py_src/util.py
ViewVC logotype

Diff of /trunk-mpi-branch/escript/py_src/util.py

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

revision 1140 by ksteube, Tue May 15 03:23:17 2007 UTC revision 1274 by gross, Fri Aug 24 03:09:22 2007 UTC
# Line 91  def saveVTK(filename,domain=None,**data) Line 91  def saveVTK(filename,domain=None,**data)
91      @type <name>: L{Data} object.      @type <name>: L{Data} object.
92      @note: The data objects have to be defined on the same domain. They may not be in the same L{FunctionSpace} but one cannot expect that all L{FunctionSpace} can be mixed. Typically, data on the boundary and data on the interior cannot be mixed.      @note: The data objects have to be defined on the same domain. They may not be in the same L{FunctionSpace} but one cannot expect that all L{FunctionSpace} can be mixed. Typically, data on the boundary and data on the interior cannot be mixed.
93      """      """
94      if domain==None:      new_data={}
95         for i in data.keys():      for n,d in data.items():
96            if not data[i].isEmpty(): domain=data[i].getFunctionSpace().getDomain()            if not d.isEmpty():
97                fs=d.getFunctionSpace()
98                domain2=fs.getDomain()
99                if fs == escript.Solution(domain2):
100                   new_data[n]=interpolate(d,escript.ContinuousFunction(domain2))
101                elif fs == escript.ReducedSolution(domain2):
102                   new_data[n]=interpolate(d,escript.ReducedContinuousFunction(domain2))
103                else:
104                   new_data[n]=d
105                if domain==None: domain=domain2
106      if domain==None:      if domain==None:
107          raise ValueError,"no domain detected."          raise ValueError,"no domain detected."
108      else:      domain.saveVTK(filename,new_data)
         domain.saveVTK(filename,data)  
109    
110  def saveDX(filename,domain=None,**data):  def saveDX(filename,domain=None,**data):
111      """      """
# Line 119  def saveDX(filename,domain=None,**data): Line 127  def saveDX(filename,domain=None,**data):
127      @type <name>: L{Data} object.      @type <name>: L{Data} object.
128      @note: The data objects have to be defined on the same domain. They may not be in the same L{FunctionSpace} but one cannot expect that all L{FunctionSpace} can be mixed. Typically, data on the boundary and data on the interior cannot be mixed.      @note: The data objects have to be defined on the same domain. They may not be in the same L{FunctionSpace} but one cannot expect that all L{FunctionSpace} can be mixed. Typically, data on the boundary and data on the interior cannot be mixed.
129      """      """
130      if domain==None:      new_data={}
131         for i in data.keys():      for n,d in data.items():
132            if not data[i].isEmpty(): domain=data[i].getFunctionSpace().getDomain()            if not d.isEmpty():
133                fs=d.getFunctionSpace()
134                domain2=fs.getDomain()
135                if fs == escript.Solution(domain2):
136                   new_data[n]=interpolate(d,escript.ReducedContinuousFunction(domain2))
137                elif fs == escript.ReducedSolution(domain2):
138                   new_data[n]=interpolate(d,escript.ReducedContinuousFunction(domain2))
139                elif fs == escript.ContinuousFunction(domain2):
140                   new_data[n]=interpolate(d,escript.ReducedContinuousFunction(domain2))
141                else:
142                   new_data[n]=d
143                if domain==None: domain=domain2
144      if domain==None:      if domain==None:
145          raise ValueError,"no domain detected."          raise ValueError,"no domain detected."
146      else:      domain.saveDX(filename,new_data)
         domain.saveDX(filename,data)  
147    
148  def kronecker(d=3):  def kronecker(d=3):
149     """     """

Legend:
Removed from v.1140  
changed lines
  Added in v.1274

  ViewVC Help
Powered by ViewVC 1.1.26