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.