Computational Science Stack Exchange is a question and answer site for scientists using computers to solve scientific problems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

My question can be rephrased as "FEM library like deal.II but for simplex elements".
Our scientific group works with very complicated 3D geometries, so usually we prefer tetrahedral meshes for our models. And we use Gmsh to build such grids.
Programming language that we use is C++. We have never used third-party FEM libraries, we work with our own matrix formats, solvers, etc. But I think that applying FEM libraries (like deal.II, for example) could be increase the productivity of our investigations. deal.II has a lot of advantages, but its main disadvantage (for us) is support of only hexahedral meshes. I read that deal.II can work with meshes from Gmsh through the interface described here. Maybe it is a good choice for what I'm looking for. But I'm not sure.
Anyway, maybe anybody knows C++ FEM library as well documented, good tested and actively maintained as deal.II, but with support of simplex finite elements.
I would like to add a little bit about capabilities that such library can possess. I would very like to have an opportunity to work with a) vector Nedelec and b) discontinuous elements among other standard (scalar, continuous) ones.

share|improve this question
I have no personal experience with it, but I would consider: – Nathan Collier Feb 21 '13 at 6:01
Thanks a lot! After quick view on this library I can say that it's quite interesting, but I didn't find the support of vector Nedelec basis functions, that are widely used in our computations. – martemyev Feb 21 '13 at 9:33

I'm going to repeat Nathan's comment as an answer. You probably want LibMesh. They do have support for some Nedelec elements, though my first search found the 2D ones. If you look around or make a request, I'm sure you'll find the 3D ones, too. It has a huge element library.

share|improve this answer
Your answer pushed me to dig deeper :) I found fe_nedelec_one_shape_3D.C. Every function realized in this file has no useful code and just includes 'libmesh_not_implemented()' macro. So I don't think that Nedelec elements are supported. – martemyev Feb 22 '13 at 2:41
I mean 3D Nedelec elements – martemyev Feb 22 '13 at 2:50
I suspect that if you express interest to the libMesh team, they might be willing to implement 3D Nedelec elements. – Bill Barth Feb 22 '13 at 15:16

Two months after posting my question I realized that I still want to try working with deal.II, and implemented the tet->hex converter to work with complex geometry. So if someone is interested, welcome to tethex wiki page.

share|improve this answer
Very cool -- I've put links to your project into the relevant deal.II class as well as to our FAQ. Thanks for writing this tool! – Wolfgang Bangerth Apr 28 '13 at 20:00
You're welcome :) Thanks for mentioning it in FAQ and code. – martemyev Apr 30 '13 at 11:59

DUNE supports various structured and unstructured grids. If you use the underlying ALUGrid library you get a grid with hexahedral elements via our grid interface. We support gmsh

There is a course about DUNE in march (Registration deadline is February 24 already) if you want to learn more about.

DISCLAIMER: I am one of the DUNE developers, but tried to be not too subjective in my answer.

share|improve this answer

I have nothing else to offer but the projects the others have already suggested. I do like that deal.II is apparently considered the "gold standard" ;-) (Disclaimer: I'm one of the principal authors of deal.II :-)

share|improve this answer
Yes, I know that :) Honestly I thought that you'll comment the possibility of using tetrahedral Gmsh's meshes with deal.II. Is it a good idea, or not? – martemyev Feb 22 '13 at 3:25
The project you link to never got finished. I think it wouldn't actually be that difficult to write a tet->hex converter. The question of whether that'll lead to anything efficient simply is how large your initial mesh is. – Wolfgang Bangerth Feb 22 '13 at 4:16
I can, in good conscience, recommend deal.ii. It is very user friendly and has excellent support through the mailing list. – Krzysztof Bzowski Apr 26 '13 at 14:44

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.