4
$\begingroup$

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.

$\endgroup$
2
  • 1
    $\begingroup$ I have no personal experience with it, but I would consider: libmesh.sourceforge.net $\endgroup$ Feb 21, 2013 at 6:01
  • $\begingroup$ 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. $\endgroup$
    – martemyev
    Feb 21, 2013 at 9:33

5 Answers 5

5
$\begingroup$

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.

$\endgroup$
2
  • $\begingroup$ 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! $\endgroup$ Apr 28, 2013 at 20:00
  • $\begingroup$ You're welcome :) Thanks for mentioning it in FAQ and code. $\endgroup$
    – martemyev
    Apr 30, 2013 at 11:59
4
$\begingroup$

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.

$\endgroup$
3
  • $\begingroup$ 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. $\endgroup$
    – martemyev
    Feb 22, 2013 at 2:41
  • $\begingroup$ I mean 3D Nedelec elements $\endgroup$
    – martemyev
    Feb 22, 2013 at 2:50
  • 1
    $\begingroup$ I suspect that if you express interest to the libMesh team, they might be willing to implement 3D Nedelec elements. $\endgroup$
    – Bill Barth
    Feb 22, 2013 at 15:16
3
$\begingroup$

I would suggest getfem http://download.gna.org/getfem/html/homepage/ or dolfin http://fenicsproject.org/documentation/dolfin/dev/cpp/ Kind Regards, Tom

$\endgroup$
3
$\begingroup$

DUNE http://www.dune-project.org supports various structured and unstructured grids. If you use the underlying ALUGrid http://aam.mathematik.uni-freiburg.de/IAM/Research/alugrid/ library you get a grid with hexahedral elements via our grid interface. We support gmsh http://www.dune-project.org/external_libraries/install_gmsh.html.

There is a course about DUNE in march http://conan.iwr.uni-heidelberg.de/dune-workshop/index.html (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.

$\endgroup$
0
$\begingroup$

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 :-)

$\endgroup$
3
  • $\begingroup$ 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? $\endgroup$
    – martemyev
    Feb 22, 2013 at 3:25
  • $\begingroup$ 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. $\endgroup$ Feb 22, 2013 at 4:16
  • $\begingroup$ I can, in good conscience, recommend deal.ii. It is very user friendly and has excellent support through the mailing list. $\endgroup$ Apr 26, 2013 at 14:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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