On 06/23/10 19:40, Logan Sorenson wrote:
This is very cool stuff! I like the idea of being able to interactively construct the problem description in python. I suppose it would eventually be possible to write the finalized version of the problem to a file (autogeneration of a problem description file). One could then implement a GUI on top of that (with a basic set of functions), which would allow new users the ability to interactively and easily learn how to use SfePy and its functionality.
Hey, it's a cool idea to "save session" to a problem description file! It will be actually pretty easy...
A GUI, on the other hand, is not easy, even if using the cool traits+traitsgui+mayavi. It is an area, where people not experienced with FEM or the code internals might help, though. Any volunteer? :-) The current implementation of sfepy_gui.py is not very elegant, as I am still not quite familiar with using the traitsgui properly - there are lots of things to improve...
Could you create a new issue for the first (IMHO easy) task?
On Wed, Jun 23, 2010 at 2:56 AM, Robert Cimrmancimr...@ntc.zcu.cz wrote:
the code has underwent another major update of the core functionality, so this e-mail should both warn you and raise your interest  :).
The fundamental "change of philosophy" is, that term arguments (basically materials and variables) are now assigned explicitely at the term construction time. Their "values" can be changed later at will, and the term can be re-evaluated. Before the change, the terms were constructed only with names of the real arguments - those had to be assigned later, e.g. in the assembling loop. This lead sometimes to problems like what more needs to be assigned in order to be able to evaluate a term. The current design is IMHO clearer, and better suited for interactive work e.g. in ipython (isfepy).
See also previous thread "refactoring of terms".
Besides lots of smaller tweaks, there are two major changes, that change the high-level API significantly. Here by high-level I mean the level of tests/test_high_level.py - the example input files were mostly unaffected, apart those doing some advanced post-processing.
The major changes are: (a) variables are now an attribute of Equations, instead of ProblemDefinition (b) DOF connectivity setup moved from variables to fields.
Both changes simplified significantly the assembling loop, and improved term evaluation - this is where the most visible changes are, see the updated tests and examples (commit e6ab7410ce9cf594057cf7114d697f35f3f510e0).
The next aim is to finish the API prototyped in tests/test_high_level.py.
Also, I have to fix the sfepy.homogenization module, as it was not updated yet to reflect the changes (-> hence the one failing test).
Best regards, r.