On 6/29/06, John Peterson <peterson@cfdlab.ae.utexas.edu> wrote:
Roy Stogner writes:
> 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.
> > [0] 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
> > http://libmesh.sourceforge.net/doxygen/index.php
> 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
> CVS yet.

I think TET4 and TET10 are supported by build_cube in the CVS version.
Note also that it works by creating 24 tets from each hex in an initial
mesh of (in your case) 20x20x20 hexes.  That's probably way too many tets!

my libmesh was built on the cvs version and I still got
ERROR: Unrecognized 3D element type.

I downloaded libmesh thru cvs on 6/12, was there any update since then?

I'd like to try creating 24 tets from each hex, could you give me some sample code?