I am back. The conference was very nice, and several things are clear to me now:
- sphinx was a good move (thanks, Logan!)
- cython is the way to go for speed
- writing a GUI with traits and mayavi should not be that difficult for a
dedicated person (one guy did a very cool GUI for some brain imaging in six
months as his master thesis at EPFL, without prior knowledge of Python...)
Check out the conference site , all the slides should appear there sooner or
Also, a very interesting collection of tutorials was assembled, see , (or
 with my scipy.sparse tutorial, to be merged to ).
I have just finished the first draft of a tutorial on interactive use. You can
get it at our new repository .
<get the updates>
It's called Interactive Example: Linear Elasticity.
Unfortunately I can not upload the new generated docs to our site right now,
but it should appear soon at .
On Thu, Jul 15, 2010 at 5:48 AM, Robert Cimrman <cimr...(a)ntc.zcu.cz> wrote:
> Hi all,
> the next big change is (almost) done.
> I have basically rewritten the term assembling and evaluation to be more
> hierarchical (more on this below), to have much less side effects and to
> assume less context.
> By hierarchical I mean there is now
> - ProblemDefinition.evaluate(), which calls
> - evaluate() (in sfepy/fem/evaluate.py), which calls
> - Equation.evaluate(), which calls (finally)
> - Term.evaluate(), and, if assembling, Term.assemble_to()
> As each level can be used by itself, this will IMHO greatly enhance (and
> simplify) the interactive use of the code, or building custom scripts with
> particular applications.
This sounds really interesting...I played with the interactive terms a
few weeks ago and it was looking good, so this will probably bring
things close to completion.
> As ProblemDefinition.evaluate() changed completely, and eval_term_op() is
> not updated and will be removed, some tests fail for the moment:
> 49 test file(s) executed in 41.53 s, 13 failure(s) of 67 test(s)
> That is why the code is at  only.
> Basically, to fix them, one would need to follow tests/test_assembling.py,
> which was already updated for the new evaluation code. I am now leaving for
> holidays, so if somebody wants to dive into it before I return (next
> Sunday), it should not be that difficult. Any comments/criticisms welcome!
I'll see if I can make time this weekend, but I've got a lot of stuff
going on here...so if anybody else can help out feel free!
> The next steps are:
> - clean up and update sfepy/fem/evaluate.py (remove eval_term(),
> eval_term_op, assemble_vector(), assemble_matrix, update evaluators)
> - make all tests pass :)
> - swig -> Cython, rewrite terms, couple with hermes, <joke>world
Cool, I've been studying hermes a lot lately which uses cython, so I
hope I can help out some here. :)
>  http://github.com/rc/sfepy
> You received this message because you are subscribed to the Google Groups
> "sfepy-devel" group.
> To post to this group, send email to sfepy...(a)googlegroups.com.
> To unsubscribe from this group, send email to
> For more options, visit this group at
as you may have noticed, the link  at our downloads page  stopped to work
as SymPy guys moved their main repository to github (this setup was mostly
That is why I created 'sfepy' github account, and turned it into organization,
which is a cool new github feature for collaborative development, see .
Now two things should be done:
- write me your github login names if you want to be included in the developers
team = have push/pull rights to the new master repository 
- if you have already a sfepy repo on github, remove it, and fork  - forking
is cool, this is what github says:
"By forking a project instead of cloning, creating a new GitHub repo, and
pushing to it, you allow us to create a link between your fork and the
original. This link helps us keep you informed of changes to the original
codebase and make it trivial for you to notify the originator of changes that
you have made and would like have reviewed."
Also checkout/explore the sfepy organization page , and the dashboard.
I am myself just learning about github features so if you have some ideas, post