This has been the subject of some recent discussion & a lot of design effort...  Let me give my thoughts:
We've focused on hybrid, unstructured meshes because of their generality.  However, we recognize that structured, block-structured, overset, & Cartesian meshes would be useful to support as well for both memory and algorithmic efficiency reasons.  For that reason, the MeshBase class is intended to provide a minimal interface for a mesh, and the Mesh class provides one specific instance for unstructured meshes.  (Note that we intend to rename MeshBase->Mesh and Mesh->UnstructuredMesh to alleviate the current confusion.)
It has always been my goal to implement a BlockStructuredGrid class and a CompositeMesh class as well.  The former would implement block structured meshes, with a single block grid supported as a degenerate case.  The CompositeMesh would be a collection of other Meshes, which could be either Block-Structured &/or unstructured.  This would provide the ability to handle overset grids with a combination of structured & unstructured component grids.
The main taks, I feel, are as follows:
(1) Implement the desired mesh class.  Overload methods when appropriate to provide optimized implementations for the mesh at hand.  For example, finding neighbors is a chore on unstructured meshes but nearly trivial on structured grids.  Also, you would want to implement a useful I/O format for the mesh type.  For example, we currently don't support Plot3D, which is indispensable in the structured grid community.
(2) Provide an interator for the desired element type.  Elements are stored in unstructured meshes but should be created dynamically given an (i,j,k) in a structured mesh.
(3) Profile the library and then provide specializations where appropriate.
I would suggest that approach since it fits in the current design & would get you going quickly.  It would allow you, for instance, to use the current PointLocator as is before specializing it for a structured grid.
Others may have comments as well?
-----Original Message-----
From: [] On Behalf Of Coroian, Cristian
Sent: Friday, June 24, 2005 12:41 PM
Subject: [Libmesh-users] Structured Grid Application of LibMesh

Good Afternoon Everyone,
I would like to use libMesh for a structured grid. Have any of you done this.
What classes, or functions, need to be overloaded for such a task. I can imagine that the pointLocator methods need rewriting to take advantage of the regularity of the structured grid....
I'd appreciate any inputs you may have.
Cristian Coroian
Software Engineer I
Advatech Pacific Inc.