I just downloaded and installed FEniCS (on an 8-core Mac Pro, running
OSX 10.7.5).    In general, I'm quite impressed with FEniCS.  In fact,
I'm hoping to use it in an upcoming project.  However, I have run into
some "newbie" issues and documentation bugs that I'd like to report,
along with a couple of possible bugs (or misfeatures) in the code.

I have both the Tutorial and the very handsome book, as well as access
to the project's web pages, so I have lots of documentation.  However,
I don't see some of the information that I'd expect (and like) to see
in such a well-polished project.

The issues I've encountered are a bit unfocused, so I'm sending along
some comments and suggestions, rather than reporting a bug.  I'll be
happy to post a report, however, on any specific issue that you think
qualifies as a bug.

FWIW, although I have been programming for 40+ years (mostly Ruby, of
late), I'm not a Python programmer (or even a regular user) and I'm
totally new to FEniCS and the world of finite element modeling.

-r


The Tutorial says:

  All the examples discusssed in the following are available
  as executable Python source code files in a directory tree.

That's nice to know, but not specific enough to get me anywhere.
Perhaps it should continue with something like:

  The directory location will be displayed in the opening
  banner for the FEniCS application's terminal window.

Indeed, Terminal's opening banner says:

  This is a shell with PATH's setup to work with FEniCS. If
  you are new to FEniCS you probably want to have a look at
  the DOLFIN demo programs. They are located under

    /Applications/FEniCS.app/Contents/Resources/share/dolfin/demo

So, I cd to that directory, finding a text file (CMakeLists.txt)
and three directories (la, pde, undocumented).  I look at the text
file, hoping that it's an oddly-named ReadMe, but it seems to be a
build script of some sort (?).

I'd really like to see a ReadMe at this level, telling me the layout
of the directory tree, how to run the examples, etc.  But I don't,
so I wander down the tree.  The "pde" directory looks promising, so
I cd into it, finding:

  biharmonic        mixed-poisson   stokes-iterative
  cahn-hilliard     navier-stokes   subdomains-poisson
  hyperelasticity   poisson

Since the first example is entitled "The Poisson equation", I guess
that the "poisson" directory is what I want and cd into it, where I
find two more directories (cpp and python).  I guess that the "cpp"
directory has to do with C++, so I cd into the "python" directory,
finding "demo_poisson.py".  (A bit less guessing would be nice. :-)

According to the Tutorial, this should be an "executable Python
source code file", so I try running it:

  $ demo_poisson.py
  bash: ./demo_poisson.py: Permission denied

Looking more closely, I see that it's an _interpretable_ Python file
(ie, not an executable file with a shebang line), so I try

  $ python demo_poisson.py
  Solving linear variational problem.

Success!  A pretty graphics window appears.  Following the notes in
the Help facility, I play with the image's orientation, etc.  Then,
however, it's time to leave.

A few experiments show that typing q will terminate the demo IF the
user has just clicked IN the graphics window.  Otherwise (even if
the user has clicked on the drag bar), the q is ignored.  This seems
like a violation of the Principle of Least Astonishment, IMHO.  If
this behavior can't be corrected, it should at least be documented.

I also tried Control-C (which I assume "C-c" means), but that is
always ignored.  This is either a documentation problem or a bug.
Fortunately, clicking the red button in the corner of the graphics
window seems to be a reliable way to stop the demo.

 -- 
http://www.cfcl.com/rdm           Rich Morin           [email protected]
http://www.cfcl.com/rdm/resume    San Bruno, CA, USA   +1 650-873-7841

Software system design, development, and documentation


_______________________________________________
fenics-support mailing list
[email protected]
http://fenicsproject.org/mailman/listinfo/fenics-support

Reply via email to