Hi,

It seems ndarray has a dot function now in numpy trunk, updated my numpy and
fipy crashes like

  File "stratifiedmassflowrect.py", line 44, in <module>
    mesh1 = Grid2D(dx=dy1strat, nx=nytot, dy=dz, ny=nztot)
  File
"/usr/lib/python2.6/dist-packages/FiPy-2.1-py2.6.egg/fipy/meshes/numMesh/grid2D.py",
line 111, in __init__
    Mesh2D.__init__(self, vertices, faces, cells)
  File
"/usr/lib/python2.6/dist-packages/FiPy-2.1-py2.6.egg/fipy/meshes/numMesh/mesh.py",
line 68, in __init__
    _CommonMesh.__init__(self)
  File
"/usr/lib/python2.6/dist-packages/FiPy-2.1-py2.6.egg/fipy/meshes/common/mesh.py",
line 68, in __init__
    self._calcGeometry()
  File
"/usr/lib/python2.6/dist-packages/FiPy-2.1-py2.6.egg/fipy/meshes/numMesh/mesh.py",
line 469, in _calcGeometry
    _CommonMesh._calcGeometry(self)
  File
"/usr/lib/python2.6/dist-packages/FiPy-2.1-py2.6.egg/fipy/meshes/common/mesh.py",
line 613, in _calcGeometry
    self._calcFaceNormals()
  File
"/usr/lib/python2.6/dist-packages/FiPy-2.1-py2.6.egg/fipy/meshes/numMesh/mesh2D.py",
line 81, in _calcFaceNormals
    orientation = 1 - 2 * (numerix.dot(self.faceNormals,
self.cellDistanceVectors) < 0)
  File
"/usr/lib/python2.6/dist-packages/FiPy-2.1-py2.6.egg/fipy/tools/numerix.py",
line 841, in dot
    return a2.dot(a1)
ValueError: matrices are not aligned

See
http://www.mail-archive.com/numpy-discuss...@scipy.org/msg25306.html
http://docs.scipy.org/doc/numpy/reference/generated/numpy.ndarray.dot.html#numpy.ndarray.dot

As a consequence, numerix dot should change. Something like

    if hasattr(a1, 'dot') and not (type(a1) in
(type(MA.array(0)),type(array([0])))):
        return a1.dot(a2)
    elif hasattr(a2, 'rdot') and not (type(a2) in
(type(MA.array(0)),type(array([0])))):
        return a2.rdot(a1)
    elif hasattr(a2, 'dot') and not (type(a2) in
(type(MA.array(0)),type(array([0])))):

I suppose.

Greetings,
Benny

Reply via email to