Thanks for the feedback. I am glad that sympy is also useful in a way
to build the community of people doing scientific calculations.
Together with scipy + numpy + matplotlib, we want to have a nice
environment for doing basically anything. The community around all
these
these tools is wonderful.
To learn about FEM, you can try my notes here:
http://libmesh.sourceforge.net/wiki/index.php/Main_Page#Examples
mainly this:
http://ondrej.certik.cz/site_media/libmesh/fem.ps
Let me know if it is useful and if you don't understand something, just ask.
As to doing electrostatics, that is perfectly possible with sfepy. But
the documentation is missing, you need to read the sources directly.
From my own experience, sfepy is much easier to use than libmesh, but
that's because I know already Python and also because Robert helped me
write the solver for things that I needed. I think you won't loose
time learning it. If you decided you don't like it, you can always
write something on your own.
Right now I am actually in Austin at the Enthought headquarters, it's
awesome to discuss things directly with people like Fernando
(ipython), Travis (numpy). So while I am here I will visit the libmesh
guys here and definitely discuss ways of doing FEM with them.
Ondrej
Ondrej Certik wrote:
> Hi Sergey!
>
> On Sat, Mar 1, 2008 at 9:57 PM, Sergey Dolgov <sol...@gmail.com> wrote:
>> Hi Robert, Ondrej, others.
>>
>> For some time now I've been planing to learn finite element method
>> with the purpose of applying it to electrostatic problems arising in
>> field emission calculations. I'm also fond of free software tools.
>> I've been thinking of using libmesh, which seems to be rather
>> powerful, but currently I would say that it is too hardcore for me,
>> given how weak my knowledge of C++ is; plus I don't yet need advanced
>> capabilities like parallel computation.
>>
>> So while reading about sympy, I've stumbled upon sfepy, and I feel
>> optimistic about it because 1) it looks like a still relatively simple
>> implementation, and 2) it is wrtten mostly in Python (I've got some
>> experience with Python, numpy, scipy, matplotlib).
Yes, sfepy is very simple comparing to e.g. libmesh. The released
package has about 350kB including example meshes and other data.
However, it can already be used to solve various kinds of non-trivial
problems, as you have probably seen on the Examples page. The web was
not updated for some time, but we are now preparing new pages, so wait a
bit for more up-to-date stuff.
>> What sfepy is lacking is of course documentation. I've read some
>> introductory texts on FEM, but certainly don't feel knowledgeable
>> enough to figure how to use sfepy right away. I wold say I need to
Yes this definitely needs to be addressed. Until recently I have
developed sfepy alone, and as I tried to keep the code clear and simple,
I did not need to write the documentation. Now that other people start
joining or showing interest, this will change of course. I have to thank
Ondrej for his feedback.
>> close the gap between pure theory and sfepy implementation. Thus I've
>> got two questions:
>>
>> * Do you think that using sfepy to learn FEM in general is a good
>> idea? (By "using sfepy to learn FEM" I mean 1) learning how to
>> describe the problem so that sfepy can solve it and 2) learning how
>> sfepy actually works so that I can actually make modifications myself)
SfePy uses problem description files (input files) that resemble in
structure to a mathematical description of a weak FE formulation on
paper - you define fields of certain FE spaces (e.g. linear P1),
variables, equations etc. But you have to know already some basics of
FEM to understand the notions at least. The notes Ondrej pointed you to
below are a good start. Look also at
http://ui505p06-mbs.ntc.zcu.cz/sfe/Documentation?action=AttachFile&do=get&target=terms.pdf
where a very brief information on how to solve a Poisson equation in
sfepy. I will improve this soon and put it on the web.
A general info on FEM can be found on many places, e.g. here:
http://en.wikipedia.org/wiki/Finite_element_method
>> * What book would you recommend as a guide to studying FEM (is there
>> one that sfepy implementation follows more closely than the others)?
Well, I have no real preference here. Any book about FEM is ok.
>> Sorry if my questions look silly -- they certainly do to me :)
No, these are good questions - nobody starts as an expert :-)
If you have some specific questions, just ask - I can help you get running.
>> Nonetheless, thanks for the great work!
>
> Thanks for the feedback. I am glad that sympy is also useful in a way
> to build the community of people doing scientific calculations.
> Together with scipy + numpy + matplotlib, we want to have a nice
> environment for doing basically anything. The community around all
> these
> these tools is wonderful.
+1.
And then you find out that the guy doing similar things lives next town...
> To learn about FEM, you can try my notes here:
>
> http://libmesh.sourceforge.net/wiki/index.php/Main_Page#Examples
>
> mainly this:
>
> http://ondrej.certik.cz/site_media/libmesh/fem.ps
>
> Let me know if it is useful and if you don't understand something, just ask.
>
> As to doing electrostatics, that is perfectly possible with sfepy. But
> the documentation is missing, you need to read the sources directly.
>>From my own experience, sfepy is much easier to use than libmesh, but
> that's because I know already Python and also because Robert helped me
> write the solver for things that I needed. I think you won't loose
> time learning it. If you decided you don't like it, you can always
> write something on your own.
But I would like to have more people working with sfepy, giving feedback
and helping improving it!
> Right now I am actually in Austin at the Enthought headquarters, it's
> awesome to discuss things directly with people like Fernando
> (ipython), Travis (numpy). So while I am here I will visit the libmesh
> guys here and definitely discuss ways of doing FEM with them.
Say hello to the *py* people!
r.
I did and I also advertized sfepy a lot. Did you experience any
difference in site statistics? :)
When I find some time, I'll write all my experiences here to my blog.
Ondrej
Yep :-)
> When I find some time, I'll write all my experiences here to my blog.
My second name is curious!
Concerning the documentation, I can write a chapter on FEM w.r.t. sfepy
first after 16.3., as now we are preparing a grant project and it makes
me very busy. Tomorrow evening we leave to Chamonix to enjoy some snow,
so next week I will be off-line.
r.