Thanks for the reply, Robert.
The reason I think that I'm doing something wrong is that I worked out all of my integrals in terms of the element functions themselves, whereas most of the papers I've read (for example, ) work out the integrals in terms of shape functions on [0,1], typically using Gaussian quadrature, and then assemble the matrix elements over the finite elements.
On Aug 1, 4:11 am, Robert Cimrman <cimr...@ntc.zcu.cz> wrote:
Hi Rick!
rpmu...@gmail.com wrote:
Here's yet another plea for help on a "first problem".
I've been trying to learn FEM a little more thoroughly. Being a quantum chemist, I started thinking about looking at idealized 1d eigenproblems using FEA. I worked out some of the integrals, and the result is in the paper that I've added to the group space here:
http://groups.google.com/group/sfepy-devel/web/fem-1d-eigen.pdf
My quantum chemistry background shows through here, as I'm just using the finite elements like a normal basis set, a "pointy" Gaussian, if you will, and computing matrix elements. This isn't the way that real FEA people solve problems, and I'm trying to understand what that entails. I know it's something like:
- create a mesh
- work out a bunch of integrals over the mesh elements
- then a miracle occurs
- write down your final solution
You got it completely right, it's just that. The miracle is in using those "pointy" Gaussians, or 'base functions with compact support' :) That way a global base function can be constructed as a sum of local, element-based, base functions - this is what the FE assembling is about.
Being a python person as well, I have high hopes that sfepy can help me understand how real FEA solutions work. But I'm still being a little bone-headed, and I don't understand the example files very well.
Look at input/poisson.py, that has some comments. Tell us, please, if they are not clear enough. We want them to be readable for FE newcomers like you.
My hope is that the simple 1d problems that I've provided are simple enough that it wouldn't be too much work for someone (Ondrej?) to show me how to implement them in sfepy. Thanks in advance for any help anyone can offer.
SfePy currently does not do 1D, just 2D or 3D (well, "just" is not the right word). It would not be difficult to extend it, though it is not probably worth it - standard ODE solvers are quite good.