octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [fem-fenics] ufl.m


From: Eugenio Gianniti
Subject: Re: [fem-fenics] ufl.m
Date: Fri, 23 May 2014 11:08:13 +0000


On 22 May 2014, at 16:13, Eugenio Gianniti <address@hidden> wrote:


On 21 May 2014, at 17:29, Eugenio Gianniti <address@hidden> wrote:


On 21 May 2014, at 17:00, Marco Vassallo <address@hidden> wrote:




On Wed, May 21, 2014 at 4:33 PM, Eugenio Gianniti <address@hidden> wrote:

On 21 May 2014, at 15:53, Marco Vassallo <address@hidden> wrote:




On Wed, May 21, 2014 at 2:58 PM, Eugenio Gianniti <address@hidden> wrote:
Dear Marco, and all,

I attach the ufl.m function I have previously mentioned for review.

Thanks, really good job.
 
I still have to edit something, namely on line 45 a check for the .ufl file extension is performed with a case insensitive matching, but I should ensure with a couple more instructions that the lower case version is used, as in the functions that compile the .oct files for the problem at hand.

You should also check that we are not overwriting an existing file.

In this case it should error out complaining about the existing file and leaving it as it is, I would say. It is probably useful to add another command to delete a file and start from scratch, something like:
          >> ufl clear filename
or
          >> ufl rm filename
Do you agree?

 
There is also an issue due to a bug present in the stable version currently distributed, but solved in the development version. I also attach script.m, containing basically the Poisson.ufl of the homonymous example, but with ufl in first position. I noticed that my function works as I expect with the simpler lines, but Octave errors out when trying to execute the second and the ninth (I added comments to highlight those lines). This happens only in the stable release, on the other hand the development version goes on without complaining. Here is the error:

>> script
parse error near line 2 of file /Users/eugenio/tests/script.m

  syntax error

>>> ufl element = FiniteElement("Lagrange", triangle, 1)

How should I proceed with respect to this behaviour?

I don't have the stable version so I don't know how to reproduce it.
However it could be the "," as it is present only in this two lines.
But, as it has been fixed in the development version, probably someone here in the list can explain this behaviour. 

I am not really worried by this bug per se, in any case it has been solved in the development code, but my doubts are mainly:
      1) Should I look for the relevant bug report in the bug tracker and point out that this needs to be fixed also in the stable release? Or maybe just ask when it is scheduled to be included in it?
      2) Should I create a new branch to hold changesets related to this functionality, so that it does not make its way to the released package until the stable release of Octave allows it to work properly? I do not know what is the calendar you have in mind for fem-fenics releases, nor the main Octave’s, but it could be useful should the necessity arise.


Don't worry too much about it. We still have the import_ufl_Problem function which works on the stable function.
I was wondering if we should compile the code once the "end" command has been given, just to be sure that the code is correct and printing out the ffc error if it is not the case.
What do you think about it?

It can be a nice feature. I would also check for an argument given to the “ufl end” instruction to allow the choice of what is in the ufl snippet. I mean, I would let the user decide which one of the import_ufl_*.m s/he wants to use for that particular file.

 
Eugenio


Marco
Eugenio




The discussed edits are on the patch tracker:

Let me know if you find them good,
Eugenio

On the patch tracker there is also a new patch correcting the help message [1], and you can find on my blog a post about the function [2].

Eugenio

[1] https://savannah.gnu.org/patch/?8468
[2] http://gsoc2014-eg123.blogspot.it/2014/05/ufl-binding.html

reply via email to

[Prev in Thread] Current Thread [Next in Thread]