On Sep 9, 2009, at 2:15 PM, Sowards, Jeffrey wrote:

Hello List. I will confess right away, though I’m sure it will be clear, that I’m a new FiPy and Python user (under Windows XP with python(x,y) 2.1.14).

Welcome to the list.


I have had success working through most of the examples in FiPy Users Guide.pdf. One exception is the example in section 6.3: examples.diffusion.circle. I have not been able to work through that example because I get hung up on the line where we must create the mesh:

>>> mesh = GmshImporter2D(‘’’

See below for the input of the script and the errors. I do have gmsh.exe installed in my working directory of Python. I have read of issues regarding Gmsh interfacing with FiPy under Windows OS.

Interesting. When I paste these lines into ipython (which it looks like you're using) on a Mac OS X machine, I get the same error you do, but before that, it prints out:

Error : '/var/folders/kF/kF4nCVfY2RWCI++1YoH0LU+++TM/-Tmp-/ tmp9XNIwB.geo', line 2 : Unknown numeric option class '_ip' Error : '/var/folders/kF/kF4nCVfY2RWCI++1YoH0LU+++TM/-Tmp-/ tmp9XNIwB.geo', line 2 : parse error (() Error : '/var/folders/kF/kF4nCVfY2RWCI++1YoH0LU+++TM/-Tmp-/ tmp9XNIwB.geo', line 5 : Unknown variable 'radius' Error : '/var/folders/kF/kF4nCVfY2RWCI++1YoH0LU+++TM/-Tmp-/ tmp9XNIwB.geo', line 5 : Unknown variable 'cellSize' Error : '/var/folders/kF/kF4nCVfY2RWCI++1YoH0LU+++TM/-Tmp-/ tmp9XNIwB.geo', line 6 : Unknown variable 'radius' Error : '/var/folders/kF/kF4nCVfY2RWCI++1YoH0LU+++TM/-Tmp-/ tmp9XNIwB.geo', line 6 : Unknown variable 'cellSize' Error : '/var/folders/kF/kF4nCVfY2RWCI++1YoH0LU+++TM/-Tmp-/ tmp9XNIwB.geo', line 7 : Unknown variable 'radius' Error : '/var/folders/kF/kF4nCVfY2RWCI++1YoH0LU+++TM/-Tmp-/ tmp9XNIwB.geo', line 7 : Unknown variable 'cellSize' Error : '/var/folders/kF/kF4nCVfY2RWCI++1YoH0LU+++TM/-Tmp-/ tmp9XNIwB.geo', line 8 : Unknown variable 'radius' Error : '/var/folders/kF/kF4nCVfY2RWCI++1YoH0LU+++TM/-Tmp-/ tmp9XNIwB.geo', line 8 : Unknown variable 'cellSize'
Error   : Unknown control point 1 in Curve 6
Fatal   : Wrong list index (read)
debug!

This is generated by gmsh, and it turns out that it's because ipython sees the '%' characters and is interpreting them as "magic" commands. A related problem is already filed against ipython <https://bugs.launchpad.net/ipython/+bug/343992 >. I don't know any further workaround to make this Python syntax work in ipython, but I've added comments about it to the bug report.

In this case, you could simply write:

In [5]: mesh = GmshImporter2D('''
   ...: cellSize = 0.05;
   ...: radius = 1.;
   ...: Point(1) = {0, 0, 0, cellSize};
   ...: Point(2) = {-radius, 0, 0, cellSize};
   ...: Point(3) = {0, radius, 0, cellSize};
   ...: Point(4) = {radius, 0, 0, cellSize};
   ...: Point(5) = {0, -radius, 0, cellSize};
   ...: Circle(6) = {2, 1, 3};
   ...: Circle(7) = {3, 1, 4};
   ...: Circle(8) = {4, 1, 5};
   ...: Circle(9) = {5, 1, 2};
   ...: Line Loop(10) = {6, 7, 8, 9};
   ...: Plane Surface(11) = {10};
   ...: ''')

instead of doing the Python string substitution with locals().

Just as confirmation, I assume that the example runs properly if you type

  In [8]: run examples/diffusion/circle.py

in ipython?

Can anybody send me a good reference or code of this example (or a similar problem) that has worked in Windows?

We have an automated test suite that exercises all of the examples, including this one, on a variety of platforms. You can see from http://matforge.org/fipy/build/trunk/1239 that examples.diffusion.circle passes on a Windows XP machine for us.



Reply via email to