16

Using Numpy/Scipy or any other library, I am interested in solving 2D and 3D frame analysis problems.

So far I came across sfepy. Although, it is a fully functioning FEM package, I was wondering if there are any alternatives?

dassouki
  • 6,286
  • 7
  • 51
  • 81
  • I don't know much about your specific problem, but whenever I need to do anything with heavy numerical code, I check what Sagemath (http://sagemath.org) uses to solve the problem. They use some really good libraries. – liori Sep 10 '11 at 22:45

2 Answers2

15

To the best of my knowledge the most commonly used Python Finite Element library is FiPy.

I use this library frequently, and i recommend it highly. It is a mature, stable project (current stable version is 2.1.2), currently maintained by its creator, the Materials Measurement Library of the US Government Institute, NIST.The documentation and (working) sample code are excellent. It's also relatively (for a specialized numerical library) simple to install; the only dependencies are NumPy, and PySparse (which are also dependencies for sfePy).

If you have tried to install this library in the past and had difficulty, you might want try again. The reason i say that is Trillinos (the distributed processing library for FiPy) is now a separate package (though i would still recommend using Trillinos if you want to parallelize FiPy computations)

(Note: you might also find useful, this Site: hpfem.org (a Site maintained by a consortium of three universities) maintains an excellent collection of FEM libraries and other resources.)

doug
  • 69,080
  • 24
  • 165
  • 199
  • 10
    The only problem is that fipy doesn't use the finite element method. It uses the finite volume method. They are not at all the same thing. – talonmies Sep 11 '11 at 06:59
  • @talonmies: wrong. FVM and FEM are not not unrelated techniques. FVM is just a *subset* of FEM--if FEM is the genus, then FVM is a species within it. Aside from that, FVM and FEM are both techniques to discretize the domain of interest. – doug Sep 11 '11 at 07:32
  • 12
    So is the finite difference method if you want to be very general. But I did not say they weren't unrelated, I said they were not the same thing, and they are not. Yes the both discretise the weak form of common PDEs, but the way the discretisation is done is very different. The original question was about frame analysis - classic direct stiffness FEM with beam or truss elements and joints. That sort of analysis can't be done with the FVM. I use FiPy a lot myself, but it is no way a finite element package, and the methods used are in no way the Finite Element Method. – talonmies Sep 11 '11 at 12:09
10

You should check out FEniCS, too.

Elmar Zander
  • 1,338
  • 17
  • 32