- Timestamp:
- 06/23/2008 03:59:47 PM (7 months ago)
- Location:
- trunk/fipy/viewers
- Files:
-
- 3 modified
-
gistViewer/gistVectorViewer.py (modified) (2 diffs)
-
matplotlibViewer/matplotlibVectorViewer.py (modified) (6 diffs)
-
viewer.py (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/fipy/viewers/gistViewer/gistVectorViewer.py
r2292 r2612 7 7 # FILE: "gistViewer.py" 8 8 # created: 11/10/03 {2:48:25 PM} 9 # last update: 7/5/07 {9:30:57 AM} { 2:45:36 PM}9 # last update: 6/23/08 {4:24:31 PM} { 2:45:36 PM} 10 10 # Author: Jonathan Guyer <guyer@nist.gov> 11 11 # Author: Daniel Wheeler <daniel.wheeler@nist.gov> … … 51 51 52 52 class GistVectorViewer(GistViewer): 53 """Displays a vector plot of a 2D rank-1 `CellVariable` or 54 `FaceVariable` object using gist. 55 """ 56 57 __doc__ += GistViewer._test2Dvector(viewer="GistVectorViewer") 58 __doc__ += GistViewer._test2DvectorIrregular(viewer="GistVectorViewer") 53 59 54 60 def __init__(self, vars, limits=None, title = ''): 55 """56 >>> from fipy import *57 >>> mesh = Grid2D(nx=50, ny=100, dx=0.1, dy=0.01)58 >>> x, y = mesh.getCellCenters()59 >>> var = CellVariable(mesh=mesh, name=r"$sin(x y)$", value=numerix.sin(x * y))60 >>> viewer = GistVectorViewer(vars=var.getGrad(),61 ... limits={'ymin':0.1, 'ymax':0.9},62 ... title="GistVectorViewer test")63 >>> viewer.plot()64 >>> viewer._promptForOpinion()65 >>> del viewer66 67 >>> viewer = GistVectorViewer(vars=var.getFaceGrad(),68 ... limits={'ymin':0.1, 'ymax':0.9},69 ... title="GistVectorViewer test")70 >>> viewer.plot()71 >>> viewer._promptForOpinion()72 >>> del viewer73 74 >>> mesh = Tri2D(nx=50, ny=100, dx=0.1, dy=0.01)75 >>> x, y = mesh.getCellCenters()76 >>> var = CellVariable(mesh=mesh, name=r"$sin(x y)$", value=numerix.sin(x * y))77 >>> viewer = GistVectorViewer(vars=var.getGrad(),78 ... limits={'ymin':0.1, 'ymax':0.9},79 ... title="GistVectorViewer test")80 >>> viewer.plot()81 >>> viewer._promptForOpinion()82 >>> del viewer83 84 >>> viewer = GistVectorViewer(vars=var.getFaceGrad(),85 ... limits={'ymin':0.1, 'ymax':0.9, 'datamin':-0.9, 'datamax':2.0},86 ... title="GistVectorViewer test")87 >>> viewer.plot()88 >>> viewer._promptForOpinion()89 >>> del viewer90 91 """92 61 GistViewer.__init__(self, vars=vars, limits=limits, title=title) 93 62 -
trunk/fipy/viewers/matplotlibViewer/matplotlibVectorViewer.py
r2341 r2612 7 7 # FILE: "matplotlibVectorViewer.py" 8 8 # created: 9/14/04 {2:48:25 PM} 9 # last update: 10/6/07 {8:08:02 PM} { 2:45:36 PM}9 # last update: 6/23/08 {4:22:12 PM} { 2:45:36 PM} 10 10 # Author: Jonathan Guyer <guyer@nist.gov> 11 11 # Author: Daniel Wheeler <daniel.wheeler@nist.gov> … … 51 51 52 52 class MatplotlibVectorViewer(MatplotlibViewer): 53 """ 54 Displays a vector plot of a 2D rank-1 `CellVariable` or 53 """Displays a vector plot of a 2D rank-1 `CellVariable` or 55 54 `FaceVariable` object using Matplotlib_ 56 55 … … 58 57 59 58 """ 59 60 __doc__ += MatplotlibViewer._test2Dvector(viewer="MatplotlibVectorViewer") 61 __doc__ += """ 62 63 >>> for sparsity in arange(5000, 0, -500): 64 ... viewer.quiver(sparsity=sparsity) 65 ... viewer.plot() 66 >>> viewer._promptForOpinion() 67 68 """ 69 __doc__ += MatplotlibViewer._test2DvectorIrregular(viewer="MatplotlibVectorViewer") 60 70 61 71 def __init__(self, vars, limits=None, title=None, scale=None, sparsity=None): 62 """ 63 Creates a `Matplotlib2DViewer`. 64 65 >>> from fipy import * 66 >>> from fipy.tools.numerix import * 67 >>> mesh = Grid2D(nx=50, ny=100, dx=0.1, dy=0.01) 68 >>> x, y = mesh.getCellCenters() 69 >>> xyVar = CellVariable(mesh=mesh, name="x y", value=x * y) 70 >>> k = Variable(name="k") 71 >>> viewer = MatplotlibVectorViewer(vars=sin(k * xyVar).getGrad(), 72 ... # limits={'ymin':0.1, 'ymax':0.9}, 73 ... title="MatplotlibVectorViewer test") 74 >>> for kval in numerix.arange(0,10,1): 75 ... k.setValue(kval) 76 ... viewer.plot() 77 >>> viewer._promptForOpinion() 78 >>> del viewer 79 80 >>> viewer = MatplotlibVectorViewer(vars=sin(k * xyVar).getFaceGrad(), 81 ... # limits={'ymin':0.1, 'ymax':0.9}, 82 ... title="MatplotlibVectorViewer test") 83 >>> for kval in numerix.arange(0,10,1): 84 ... k.setValue(kval) 85 ... viewer.plot() 86 >>> viewer._promptForOpinion() 87 >>> del viewer 88 89 >>> viewer = MatplotlibVectorViewer(vars=sin(k * xyVar).getFaceGrad(), 90 ... # limits={'ymin':0.1, 'ymax':0.9}, 91 ... title="MatplotlibVectorViewer test", 92 ... sparsity=1000) 93 >>> for kval in numerix.arange(0,10,1): 94 ... k.setValue(kval) 95 ... viewer.plot() 96 >>> viewer._promptForOpinion() 97 >>> del viewer 72 """Creates a `Matplotlib2DViewer`. 98 73 99 74 :Parameters: … … 110 85 MatplotlibViewer.__init__(self, vars = vars, limits = limits, title = title) 111 86 87 self.quiver(sparsity=sparsity, scale=scale) 88 self.colorbar = False 89 90 self._plot() 91 92 def quiver(self, sparsity=None, scale=None): 112 93 var = self.vars[0] 113 94 mesh = var.getMesh() … … 135 116 import pylab 136 117 137 self.quiver = pylab.quiver(X, Y, U, V, scale=scale)138 self.colorbar = False139 140 self._plot()141 118 pylab.ion() 119 pylab.cla() 120 self._quiver = pylab.quiver(X, Y, U, V, scale=scale) 121 pylab.ioff() 122 142 123 def _getSuitableVars(self, vars): 143 124 from fipy.meshes.numMesh.mesh2D import Mesh2D … … 163 144 V = numerix.take(V, self.indices) 164 145 165 self. quiver.set_UVC(U, V)146 self._quiver.set_UVC(U, V) 166 147 167 148 import pylab -
trunk/fipy/viewers/viewer.py
r2610 r2612 169 169 >>> x, = mesh.getCellCenters() 170 170 >>> xVar = CellVariable(mesh=mesh, name="x", value=x) 171 >>> k = Variable(name="k" )171 >>> k = Variable(name="k", value=0) 172 172 >>> viewer = %(viewer)s(vars=(sin(k * xVar), cos(k * xVar / pi)), 173 173 ... limits={'xmin':10, 'xmax':90, 'datamin':-0.9, 'datamax':2.0}, … … 177 177 ... viewer.plot() 178 178 >>> viewer._promptForOpinion() 179 >>> del viewer180 179 """ % kwargs 181 180 _test1D = staticmethod(_test1D) … … 187 186 >>> x, y = mesh.getCellCenters() 188 187 >>> xyVar = CellVariable(mesh=mesh, name="x y", value=x * y) 189 >>> k = Variable(name="k" )188 >>> k = Variable(name="k", value=0) 190 189 >>> viewer = %(viewer)s(vars=sin(k * xyVar), 191 190 ... limits={'ymin':0.1, 'ymax':0.9, 'datamin':-0.9, 'datamax':2.0}, … … 195 194 ... viewer.plot() 196 195 >>> viewer._promptForOpinion() 197 >>> del viewer198 196 """ % kwargs 199 197 _test2Dbase = staticmethod(_test2Dbase) … … 211 209 _test2Dirregular = staticmethod(_test2Dirregular) 212 210 211 def _test2DvectorBase(**kwargs): 212 return """ 213 >>> from fipy import * 214 >>> mesh = %(mesh)s 215 >>> x, y = mesh.getCellCenters() 216 >>> xyVar = CellVariable(mesh=mesh, name="x y", value=x * y) 217 >>> k = Variable(name="k", value=0) 218 >>> viewer = %(viewer)s(vars=sin(k * xyVar).getGrad(), 219 ... title="%(viewer)s test") 220 >>> for kval in range(10): 221 ... k.setValue(kval) 222 ... viewer.plot() 223 >>> viewer._promptForOpinion() 224 225 >>> viewer = %(viewer)s(vars=sin(k * xyVar).getFaceGrad(), 226 ... title="%(viewer)s test") 227 >>> for kval in range(10): 228 ... k.setValue(kval) 229 ... viewer.plot() 230 >>> viewer._promptForOpinion() 231 """ % kwargs 232 _test2DvectorBase = staticmethod(_test2DvectorBase) 233 234 def _test2Dvector(**kwargs): 235 return Viewer._test2DvectorBase(mesh="Grid2D(nx=50, ny=100, dx=0.1, dy=0.01)", 236 **kwargs) 237 _test2Dvector = staticmethod(_test2Dvector) 238 239 def _test2DvectorIrregular(**kwargs): 240 """""" 241 return Viewer._test2DvectorBase(mesh="""(Grid2D(nx=5, ny=10, dx=0.1, dy=0.1) 242 ... + (Tri2D(nx=5, ny=5, dx=0.1, dy=0.1) 243 ... + ((0.5,), (0.2,))))""", **kwargs) 244 _test2DvectorIrregular = staticmethod(_test2DvectorIrregular) 245 213 246 214 247 def _test3D(**kwargs): … … 218 251 >>> x, y, z = mesh.getCellCenters() 219 252 >>> xyzVar = CellVariable(mesh=mesh, name=r"x y z", value=x * y * z) 220 >>> k = Variable(name="k" )253 >>> k = Variable(name="k", value=0) 221 254 >>> viewer = %(viewer)s(vars=sin(k * xyzVar), 222 255 ... limits={'ymin':0.1, 'ymax':0.9, 'datamin':-0.9, 'datamax':2.0}, … … 226 259 ... viewer.plot() 227 260 >>> viewer._promptForOpinion() 228 >>> del viewer229 261 """ % kwargs 230 262 _test3D = staticmethod(_test3D)
FiPy: A Finite Volume PDE Solver Using Python