Changeset 2612 for trunk

Show
Ignore:
Timestamp:
06/23/2008 03:59:47 PM (7 months ago)
Author:
guyer
Message:

Unifying vector viewer tests

Location:
trunk/fipy/viewers
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • trunk/fipy/viewers/gistViewer/gistVectorViewer.py

    r2292 r2612  
    77 #  FILE: "gistViewer.py" 
    88 #                                    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} 
    1010 #  Author: Jonathan Guyer <guyer@nist.gov> 
    1111 #  Author: Daniel Wheeler <daniel.wheeler@nist.gov> 
     
    5151 
    5252class 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") 
    5359     
    5460    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 viewer 
    66  
    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 viewer 
    73              
    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 viewer 
    83  
    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 viewer 
    90  
    91         """ 
    9261        GistViewer.__init__(self, vars=vars, limits=limits, title=title) 
    9362         
  • trunk/fipy/viewers/matplotlibViewer/matplotlibVectorViewer.py

    r2341 r2612  
    77 #  FILE: "matplotlibVectorViewer.py" 
    88 #                                    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} 
    1010 #  Author: Jonathan Guyer <guyer@nist.gov> 
    1111 #  Author: Daniel Wheeler <daniel.wheeler@nist.gov> 
     
    5151 
    5252class 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 
    5554    `FaceVariable` object using Matplotlib_ 
    5655 
     
    5857 
    5958    """ 
     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") 
    6070 
    6171    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`. 
    9873 
    9974        :Parameters: 
     
    11085        MatplotlibViewer.__init__(self, vars = vars, limits = limits, title = title) 
    11186 
     87        self.quiver(sparsity=sparsity, scale=scale) 
     88        self.colorbar = False 
     89         
     90        self._plot() 
     91         
     92    def quiver(self, sparsity=None, scale=None): 
    11293        var = self.vars[0] 
    11394        mesh = var.getMesh() 
     
    135116        import pylab 
    136117         
    137         self.quiver = pylab.quiver(X, Y, U, V, scale=scale) 
    138         self.colorbar = False 
    139          
    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 
    142123    def _getSuitableVars(self, vars): 
    143124        from fipy.meshes.numMesh.mesh2D import Mesh2D 
     
    163144        V = numerix.take(V, self.indices) 
    164145 
    165         self.quiver.set_UVC(U, V) 
     146        self._quiver.set_UVC(U, V) 
    166147         
    167148        import pylab 
  • trunk/fipy/viewers/viewer.py

    r2610 r2612  
    169169            >>> x, = mesh.getCellCenters() 
    170170            >>> xVar = CellVariable(mesh=mesh, name="x", value=x) 
    171             >>> k = Variable(name="k") 
     171            >>> k = Variable(name="k", value=0) 
    172172            >>> viewer = %(viewer)s(vars=(sin(k * xVar), cos(k * xVar / pi)),  
    173173            ...                 limits={'xmin':10, 'xmax':90, 'datamin':-0.9, 'datamax':2.0}, 
     
    177177            ...     viewer.plot() 
    178178            >>> viewer._promptForOpinion() 
    179             >>> del viewer 
    180179        """ % kwargs 
    181180    _test1D = staticmethod(_test1D) 
     
    187186            >>> x, y = mesh.getCellCenters() 
    188187            >>> xyVar = CellVariable(mesh=mesh, name="x y", value=x * y) 
    189             >>> k = Variable(name="k") 
     188            >>> k = Variable(name="k", value=0) 
    190189            >>> viewer = %(viewer)s(vars=sin(k * xyVar),  
    191190            ...                 limits={'ymin':0.1, 'ymax':0.9, 'datamin':-0.9, 'datamax':2.0}, 
     
    195194            ...     viewer.plot() 
    196195            >>> viewer._promptForOpinion() 
    197             >>> del viewer 
    198196        """ % kwargs 
    199197    _test2Dbase = staticmethod(_test2Dbase) 
     
    211209    _test2Dirregular = staticmethod(_test2Dirregular) 
    212210 
     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 
    213246     
    214247    def _test3D(**kwargs): 
     
    218251            >>> x, y, z = mesh.getCellCenters() 
    219252            >>> 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) 
    221254            >>> viewer = %(viewer)s(vars=sin(k * xyzVar),  
    222255            ...                     limits={'ymin':0.1, 'ymax':0.9, 'datamin':-0.9, 'datamax':2.0}, 
     
    226259            ...     viewer.plot() 
    227260            >>> viewer._promptForOpinion() 
    228             >>> del viewer 
    229261        """ % kwargs 
    230262    _test3D = staticmethod(_test3D)