On Thu, 29 Jun 2006, David Xu wrote:
> When I was trying to generate 3D tetrahedral mesh using:
> MeshTools::Generation::build_cube (mesh, 20, 20, 20, -3., 3., -3., 3., -3.,
> 3., TET10);
> I got:
> ERROR: Unrecognized 3D element type.
>  src/mesh/mesh_generation.C, line 671, compiled Jun 13 2006 at 23:07:35
> I thought TET4 and TET10 elements were implemented in libmesh because they
> are listed under Generic 3D Finite Elements of libmesh Class DOCs
Unfortunately, "implemented in libMesh" doesn't always mean
"implemented in every single libMesh function". libMesh currently
supports finite element calculations on tetrahedra with linear or
quadratic Lagrange elements, but you need to be able to supply your
own tet mesh (or get one out of tetgen, now).
"Unrecognized 3D element type" is a misleading error message there;
perhaps we should change it to something like "3D element type X is
not supported by function Y".
John Peterson has recently written some code that let him build cubes
of tetrahedra, but I don't know if it's debugged and ready to add to
> Alternatively I tried tetgen with libmesh using:
> TetGenMeshInterface tetgen (mesh);
> tetgen.pointset_convexhull ();
> tetgen.triangulate_conformingDelaunayMesh(0., .005);
> And the program threw an error at
> and  src/fe/fe_lagrange.C, line 614
> Can anyone tell me what could be the problem?
Well, I don't use tetgen so hopefully someone else can help you with
that. If you're using the CVS libMesh, line 614 of fe_lagrange.C is
the "you tried to use a polynomial order we can't handle" error()
call. You'll have to get a full stack trace out of your debugger to
find out where the offending code is, but some function in your
program tried to use a quartic or higher Lagrange element, and on most
geometric elements our Lagrange FE only handles linear and quadratic